wrong scale and baking problem in maya

   4223   3   0
User Avatar
Member
7 posts
Joined: Dec. 2018
Offline
Hello,
I have a small problem with HDA and houdini engine in maya
to explain it simply, I did an HDA that allows me to float a boat properly based on its size / mass and I would like to use it in maya, where the animation is done.
1st problem : the scale of the ocean from HDA isn't right in maya, i have to scale it 100 time (cm to m) so I need to scaledown the input object to 0.01. in this condition, it's work in maya for now
HDA works well in houdini and maya if applied directly to geometry

the second problem is that in maya, our boat is rigged, so it does not work as engine duplicates the shape of the rig and therefore does not affect the geometry
So I added a reference object in Maya's rig, which will be used to transmit HDA computed animations to the rig
houdini engine animates it properly, but I have no animation data and the baking of houdini engine does not work as expected : my object is simply out of the group without any animation

animation data are not usable when I disable ‘use instancer node’ then read the value to the group of the geo, because of the scale issues

Does anyone have an idea of ​​how to fix baking issues or how to get the coordinates of animated object outputed of the HDA in maya at the right scale ?
thank you

maya 2019.1 - houdini 17.5.327 on centos 7.6
User Avatar
Member
146 posts
Joined: Oct. 2017
Offline
Problem 1: Unfortunately Maya's native units are centimeters and Houdini's units are meters, and we just copy values directly. There was some logic to this original design choice though - Maya's native dynamics treat centimeters as meters, so if the user was going to swap a houdini asset for native Maya dynamics it would work for geo scaled to work with Maya dynamics. There's already an RFE to do something about this - I was going to add a UseWorldUnits option on the asset which would do the unit conversion going in and out (and would be off by default for backward compatibility) Would this work for you?

Problem 2: Not sure if I understand what's going on here without looking at your DG/DAG/graph Most likely it could be that you're hitting the problem that the houdini graph has no access to Maya data at any time but the current frame, so any animated inputs need to be cached before sending off a bake for an entire time range. It could also be that there is a DG loop that's being broken at some arbitrary spot if you're connecting any asset outputs back to the input rig (although it doesn't sound like it)

Or it could be that some of Maya's new caching Preferences in 2019 are conflicting with the asset caching - again, probably not, but there are still some things to look out for. Cached Playback, especially with Background on, can cause performance issues, and combined with auto-sync output can end up with an infinite sync loop on idle.
User Avatar
Member
7 posts
Joined: Dec. 2018
Offline
juliap
Problem 1: … I was going to add a UseWorldUnits option on the asset which would do the unit conversion going in and out (and would be off by default for backward compatibility) Would this work for you?
Hi, yes I guess that could help
for now I just put a transform just behind the input and before the output to scale everything right for maya / houdini / maya roundtrip, results seems okf

About problem 2, I have founded some tricks to make it “works”
to explain a little better : in maya, geos are in a group and the rig in a separate one. we have a dedicated controller on the rig to make the float animation but we cant animate it directly with H.engine
So I duplicate/bake it with hierarchy animation, to prevent any loop, then simulate with houdini engine, then parent the result to the original one. it works but simulation is really slow sometimes.
not sure why as I test everytime with the same object. H.engine seems to cook it like 10 times per frame sometimes. also if I do it in a new scene with only the animated object, it can run faster (from 14sec per frame to around 15fps/sec) but not everytime

about caching, i disabled maya 2019 cached playback before, so i guess it should not be related. the baking just copy/paste the geo from H.engine to a new group but without any animation key or simulation, just a static frame
User Avatar
Staff
463 posts
Joined: Aug. 2019
Offline
There is now a “Preserve Houdini Scale” option in the asset node that will take care of the unit differences automatically.
  • Quick Links