Alright... I got it... I had to Multiply the Invert of the previous frames' rotation by the current rotation and then convert that Rotation to Axis and Angle and Multiply the angle by 24 (1/FrameStep) before resetting it in a Axis and Angle to Rotation node. I can't just multiply the rotation because I guess at one point it goes over 360 degrees and resets itself. If I multiply the angle in an Axis and Angle to Rotation node, then it gives me correct results. Thanks to those who tried to help me.

-Mathieu

Francois Lord wrote:
It's all in Arnold, I suppose?
I remember fiddling with this. Let me see if I can find something.

On 31/07/2012 16:35, Mathieu Leclaire wrote:
Yeah... of course.

I've tried using subtract and multiply with rotations and quaternions, and multiply the results... I've tried so many things, I can't recall all of them...

The best results I had came from rotating an x-axis vector (1,0,0) by both orientations (previous frame and current frame) and using a cross product and an angle between multiplied by 24 (or 1/Frame Step) and use those values in an axis and angle to rotation node... that gave me perfect results as long as it spins around the Y axis. If it spins around another axis, it won't work. So I'm still looking...

-Mathieu

Francois Lord wrote:
I'm sure you thought about it, but just in case...
Is the motion blur too weak by a factor of 24?
:)

On 31/07/2012 15:35, Mathieu Leclaire wrote:
I cache an ICE tree with particles created in the modeling stack, so I have no linear and angular velocity. I need these values for proper motion blur.

Linear velocity is easy to calculate: subtract previous frame position by current position and multiply the resulting vector by the inverse of the Frame Step. That gives me proper linear motion blur.

Now I need to do the same thing for AngularVelocity, but I can't seem to find the right way to calculate it. The motion blur on the particles are always too weak compared to the same animated objects. How can I calculate the appropriate AngularVelocity value?

-Mathieu









Reply via email to