Forward kinematics - calculate from the root joint (the translation of the root affects the rest of the bones)
Inverse kinematics - calculate from the back (the translation of the last joint affects the rest of the bones)
Process
Basically today's exercise was to learn how to rig the robot. To do so, we use the Joints tool that allows us to create joints.
The joints are created one by one after activating the tool by clicking the different areas where our joints would be, and thus, the bones would be created together with the joints joining the bones together.
Even with the joints created, it is still not completed. First, there is no inverse kinematics, making the last joint feels extremely "disconnected" from the rest of the joints. Second, the joints are not connected to any parts of the body, so even if we move the joints, Maya does not know which part of the model belongs to the joint, and therefore, the model parts would not move together with the joint.
Applying inverse kinematics was just a simple task of selecting the first and last joint and using the IK handle tool. Now with inverse kinematics, the last joint is also able to influences the movement of the rest of the joints.
Next is to actually parent each model parts with the individual joints, this was done using the hierarchy window, but it can also be done in the outliner if needed. By parenting the model parts to the joints, when the joints move, the model parts will move together since it is parented. As this is just a robot, we do not need it to stretch like human skin, so parenting is a good way to rig the robot.
Finally, the parent constraints were created for the crate. What is it for? Basically, it allows us to control when the crates get parented, and which thing to parent to during a certain period. For our arm robot animation, the crate's position will be influenced by the arm control, and the platform. With the parent constraint, I can set it such that before the arm robot sucks the magnet, the parenting effect is disabled, until the magnet touches the crate. When it touches the crate, then the parenting value is set to 1 such that the crate will move together with the magnet. However, upon dropping it at the platform, the parenting value should change such that the magnet no long has any influence (set to 0 for magnet) but the platform now has influence on the crate's position (set to 1 for platform).
Critique 1:
The motion was too unrealistic. Robots usually stop and pause for a while after moving in a direction, but in this animation, the robots immediately switches to the next movement after its previous movement, which is too fast for a robot. There is also no arc in the movement and the motion does not has ease-in-ease-out principle applied.
Critique 2:
The motion was better than the first one. But there is no shaking motion or anything when the machine comes to a stop, to resist the inertia. So, the motion is added in the third video. The final video is below:
Reflection
The rigging exercise was very fun to do as it allows us to animate something that has different parts of the "body", and not just a simple bouncing ball. It shows how Maya provides a system whereby we can create joints that act similar to how human bones and joints works. This will definitely be very useful since we do not have to animate different joints separately and end up getting weird or screwed up positions, as the movement of the other joints are influenced automatically, allowing us to just focus on animating how our robot should behave.
The constraint part of the tutorial is also a life-saver since it means that if we have any changes that we want to make for our robot, we don't have to worry too much for the crate, since the crate is temporary parented to the magnet via the constraint and not animated separately, so little, if not none at all, fix is needed for the crate when we change the magnet's movement.
No comments:
Post a Comment