Increase rotation speed of a packed alembic

   3514   3   1
User Avatar
Member
26 posts
Joined: June 2019
Offline
I'm having a bit of a head scratcher here.

We do our rendering in Houdini and we have this helicopter that was cached as an Alembic file from animation. The rendering department doesn't like the motion blur from the rotors and they don't want to do back and forth with animation to adjust the rotation speed of the rotors. They are asking us if we can give them a tool that would allow them to adjust the rotation speed of these rotor Packed Alembic primitives directly inside Houdini so they can adjust the motion blur intensity themselves.

I've been looking into extracting the primitive intrinsic transform to see if we could multiply the local Y rotation value to do that, but I've not been able to figure out the proper VEX code to do it.

I haven't played with intrinsic data all that much yet, so maybe I'm not understanding something obvious. I can extract the packedfulltransform but I can only write to transform which only seems to add an extra rotation in global space around the centroid of the packed primitive. I want to change rotation around it's local Y axis around the position of it's parent transform… so I'm all confused and it's not working like I would like it to.

Can anybody point me in the right direction or have any other suggestions of how we can increase the motion blur intensity of those packed alembics without affecting the motion blur of the other pieces? Any help would be welcomed.

Thanks.
-Mathieu
User Avatar
Member
359 posts
Joined: April 2017
Offline
Well, MOPs is built for exactly this kind of thing. You could use the MOPs Transform Modifier to add extra rotation to the rotor, on its local spinning axis. You'd need to first use MOPs Extract Attributes with “Extract Full Transform” enabled in order to get the Alembic rotation axes, then use MOPs Reorient to create new local axes from those extracted values, and then MOPs Transform Modifier to do the new rotations.

I'm attaching an example file. If you don't already have MOPs, you can get it here. [github.com]

Attachments:
mops_rotor_example.hip (147.0 KB)

MOPs (Motion Operators for Houdini): http://www.motionoperators.com [www.motionoperators.com]
User Avatar
Member
26 posts
Joined: June 2019
Offline
Interesting set of tools… I will look into them. Thanks for the link.

Your example is a good starting point, but I'm noticing that it doesn't work for my case. That's my bad. In my scene, there are multiple packed alembic that are transformed by a parent locator transform. If I apply your example, it changes every pieces by it's local axis and not their parents transform. Any suggestion for how I can use a specific transform from the path attribute and use that as the transform origin to edit?
User Avatar
Member
359 posts
Joined: April 2017
Offline
HybrideRD
Any suggestion for how I can use a specific transform from the path attribute and use that as the transform origin to edit?

Any chance you can provide me with a test Alembic that I can experiment with? I can build up a similar hierarchy on my own here but it'd be useful to see exactly the kind of setup you're dealing with.
MOPs (Motion Operators for Houdini): http://www.motionoperators.com [www.motionoperators.com]
  • Quick Links