I've been experimenting with Houdini Engine 3.0.58 in Unity 5.5 for both Mac and Windows.
Specifically I create an HDA on Mac (Houdini Indie 16.0.557) and then transfer it over to Windows (where I only have an Engine license).
On Mac the HDA works as expected.
On Windows 10 (x64), the same HDA file shows some strange behavior:
1) When first added (and every Rebuild) I get this:
“There are undefined nodes. This is due to not being able to find specific asset definitions. Go to Asset Cook Log in the Inspector anto see which asset definitions are missing.”
Going to Asset Cook log yields only: “Cook succeeded”.
2) Every time I cook, my HDA geometry gets the parent transform baked into its own transform.
I usually parent my HDA-generated geometry under an empty parent, then move and scale the parent.
If there is any translation or scale on the parent unity object, it gets transferred into the child with each cook.
After clicking 10 times the object could be humongous and off in space somewhere odd.
3) When I click the “Get Cook Log” button the same parent-to-child transform transfer occurs.
4) Some of my geometry only appears when “Import Templated Geos” is checked, despite those geos not being templated.
NONE of the above occurs on my Mac with the mac-generated asset. I don't have a windows Houdini license so I can't test if the opposite holds true.
Anyone know what's going on here? It's baffling me.
EDIT:
I spoke a little hastily. On Mac I am, in fact, seeing some of the above weirdness, in particular the parent transform continually baking down to the children. However, the “undefined nodes” error on load (or rebuild) does not occur.
This HDA, by the way has a few object level nodes, not just one. None of them are transformed or scaled in the original houdini file.
UPDATE2: Discovered that the missing geo (which only shows up when templated geo is displayed) was referenced with an absolute path via an object merge node. When I switched it to relative and re-saved the HDA, it shows up now.
I still get that undefined nodes error though…
Mac to Windows Incompatibility
4695 4 1- Len
- Member
- 133 posts
- Joined: 7月 2007
- Online
- Ken Xu
- Member
- 21 posts
- Joined: 9月 2013
- Offline
To see which node might be undefined, try Houdini Engine > Debug > Save Houdini Scene - this dumps the state of the current Houdini Engine session into a hip file which you can then open with Houdini. You should be able to tell then which node definition is not found. Once you figure out which .otl or .hda is missing, you can ensure they are found by the Unity plugin by putting it into the Assets/OTLs/Scanned directory.
- dpernuit
- スタッフ
- 550 posts
- Joined: 9月 2016
- Offline
Hi,
As Ken just said, the “undefined nodes” error you have might just be caused from missing hda.
My guess is that your “main” HDA is using other assets/otls in its network, and those assets are missing on the other computer. Adding these the assets/otls/scanned directory on the second computer should resolve this problem.
For the transform issue, you should just deactivate the “Push Unity Transform to Houdini Engine” option under the Cooking tab on your asset.
Here's what's happening:
let's say your parent is at (10,10,10) and your asset has a (0,0,0) transform.
With the push transform option activated, your asset is placed at its world location in Houdini (so (10,10,10) )
In unity, your parent is still at (10,10,10) but the geometry has been generated at (10,10,10), so the end result is a geometry that appears at (20,20,20).
Next time you cook, the same process repeats, slowly moving your asset away.
It's generally a good idea to disable that “push transform” option if your asset doesn't need to be placed in the same world position in Houdini to be generated.
As Ken just said, the “undefined nodes” error you have might just be caused from missing hda.
My guess is that your “main” HDA is using other assets/otls in its network, and those assets are missing on the other computer. Adding these the assets/otls/scanned directory on the second computer should resolve this problem.
For the transform issue, you should just deactivate the “Push Unity Transform to Houdini Engine” option under the Cooking tab on your asset.
Here's what's happening:
let's say your parent is at (10,10,10) and your asset has a (0,0,0) transform.
With the push transform option activated, your asset is placed at its world location in Houdini (so (10,10,10) )
In unity, your parent is still at (10,10,10) but the geometry has been generated at (10,10,10), so the end result is a geometry that appears at (20,20,20).
Next time you cook, the same process repeats, slowly moving your asset away.
It's generally a good idea to disable that “push transform” option if your asset doesn't need to be placed in the same world position in Houdini to be generated.
- Len
- Member
- 133 posts
- Joined: 7月 2007
- Online
- seelan
- Member
- 571 posts
- Joined: 5月 2017
- Offline
-
- Quick Links