TUTORIAL: Intro to ICE Kinematics
Re: TUTORIAL: Intro to ICE Kinematics
too hard to me, so what is the point of ICE kinematics? what that can do
Re: TUTORIAL: Intro to ICE Kinematics
Why do you need to know this? Let me try to explain a practical use of this. Since creating these tutorials, I wanted to try to create a box representing the camera's view frustum (what can be seen through the camera, with boundaries on the near/far plane. In addition I also create a projection plane from the camera, similar to this: http://julianjohnsonsblog.blogspot.com/ ... -grid.html
In order to keep that grid "parented" to the camera as the camera moves around, you need to multiply the point positions by the camera's global transform (4x4 matrix).
Get Data (self.pointposition) -> Multiply Vector By Matrix -> Set Data (self.pointposition)
camera.kine.global -^
Another example on why you should learn 4x4 matrix.. I was trying to emit points from an object's point positions. When I scaled, rotated, or moved the objects, the points would no longer emit from the object's point positions. To fix this, you need to multiply the point positions by the object's kine.global.
Or say you create a particle simulation and then want to change shape to cylinder shaped points and want to rotate them so they are on their side. Simple. Axis and Angle to Rotation (along Z 90degrees) * Get Data(self.orientation) -> Set Particle Orientation
I've found this stuff to be extremely helpful when working in ICE in general, not just ICE Kinematics. Biggest thing to remember is that the order that you multiply stuff is very important. Child * Parent.
Think about this:
1) You start walking forward 2 steps; you turn right 90 degrees
2) You turn right 90 degrees at start; you walk forward 2 steps.
Both involved walking forward 2 steps and turning 90 degrees, but they result in vastly different end locations.
Hopefully that helps.
-Dave
In order to keep that grid "parented" to the camera as the camera moves around, you need to multiply the point positions by the camera's global transform (4x4 matrix).
Get Data (self.pointposition) -> Multiply Vector By Matrix -> Set Data (self.pointposition)
camera.kine.global -^
Another example on why you should learn 4x4 matrix.. I was trying to emit points from an object's point positions. When I scaled, rotated, or moved the objects, the points would no longer emit from the object's point positions. To fix this, you need to multiply the point positions by the object's kine.global.
Or say you create a particle simulation and then want to change shape to cylinder shaped points and want to rotate them so they are on their side. Simple. Axis and Angle to Rotation (along Z 90degrees) * Get Data(self.orientation) -> Set Particle Orientation
I've found this stuff to be extremely helpful when working in ICE in general, not just ICE Kinematics. Biggest thing to remember is that the order that you multiply stuff is very important. Child * Parent.
Think about this:
1) You start walking forward 2 steps; you turn right 90 degrees
2) You turn right 90 degrees at start; you walk forward 2 steps.
Both involved walking forward 2 steps and turning 90 degrees, but they result in vastly different end locations.
Hopefully that helps.
-Dave
Re: TUTORIAL: Intro to ICE Kinematics
Thank you very much for these tutorials - they helped me a lot.
Arnold for the masses!
Re: TUTORIAL: Intro to ICE Kinematics
Super helpful, Thanks!
Re: TUTORIAL: Intro to ICE Kinematics
Thanks for these! Very helpful, and right to the point!
Who is online
Users browsing this forum: No registered users and 42 guests