Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
3d:animating [2025/03/30 15:34] – [Animating Rigs] mh | 3d:animating [2025/04/10 22:51] (current) – [Animations] mh | ||
---|---|---|---|
Line 6: | Line 6: | ||
Same works for **'' | Same works for **'' | ||
+ | |||
+ | When scaling down a set of keyframes, be aware that the spacing between the keyframes might change. Once that's set, scaling them back up will conserve the new spacing and not revert automatically back to the old one. For this reason, it's best to scale up/down to a multiple of the original duration (eg. 24frames with keyframes every 3 frames scales well down to 16 but not to 12) | ||
**Children** inherit the animations of their **parents** but can have animations of their own. | **Children** inherit the animations of their **parents** but can have animations of their own. | ||
Line 49: | Line 51: | ||
---- | ---- | ||
- | ==== Animating Rigs ==== | + | ===== Animating Rigs ===== |
=== Local Axes display === | === Local Axes display === | ||
Line 57: | Line 59: | ||
It's easier to see which axes should be animated. | It's easier to see which axes should be animated. | ||
- | === Forward vs Invert Kinematics === | + | ---- |
- | **Forward | + | ==== Inverse |
- | To animate some rigs, it can get tedious to have to respect this hierarchy, especially if once the animation is roughly cut out we need to make adjustments on the positioning of bones lower in the hierarchy. | + | In **Forward Kinematics** only the top bone can move and all the others just rotate around their respective joints. You have to move down the hierarchy to animate |
- | This is where an **Inverse Kinematic** rig comes in handy. | + | With some rigs (e.g. a leg jumping), it can get tedious to have to respect this hierarchy top to bot, especially if once the animation |
- | To set it up, add a bone as a controller somewhere in the chain. | + | This is where it's better to use **Inverse Kinematic** rig comes in handy. |
+ | |||
+ | === Controller === | ||
+ | |||
+ | To set it up, in Edit mode add a bone as a controller somewhere in the chain to control the rest of the rig and **clear it's parenting**. | ||
Then in **Pose mode**, select the bone immediately connected to it and under **Bone Constraints** add an **Inverse Kinematics**. | Then in **Pose mode**, select the bone immediately connected to it and under **Bone Constraints** add an **Inverse Kinematics**. | ||
Select the **Armature** as the **Target** and the **Controller bone** as the **Bone**. | Select the **Armature** as the **Target** and the **Controller bone** as the **Bone**. | ||
+ | |||
+ | === Pole === | ||
+ | |||
+ | Then set a pole to control where the rig is pointing at. | ||
+ | |||
+ | In Edit mode add a bone, clear it's parenting and move it out of the rig. | ||
+ | |||
+ | Then using the same bone with the bone constraint select the **Armature** as **Pole** | ||
+ | |||
+ | For a leg, the pole would typically be in front of the knee (facing the leg) while for an arm, the pole would typically be behind the elbow. | ||
+ | |||
+ | === Copy Location ==== | ||
+ | |||
+ | In the example of the leg, you might need to disconnect the foot from the lower leg part, but still have the foot copy the location of the leg when it moves. | ||
+ | |||
+ | In this case, clear the parenting of the foot to the rest of the chain and select the first foot bone and copy the location of the lower leg bone. | ||
+ | |||
+ | Same as above, set the **Aramture** as **Target** and the **Lower leg bone** as **Bone**. | ||
+ | |||
+ | Use the **Head/ | ||
+ | |||
+ | For an arm, the hand would usually stand in line with the forearm so disconnecting the hand might not be a good idea. | ||
+ | |||
+ | === Constraining axes === | ||
+ | |||
+ | In some cases, it can be useful to constrain the rotation of the IK rig to rotate on only one axis. | ||
+ | |||
+ | This can be done by selecting the bone with the IK modifier and under the **Bone properties > Inverse Kinematic** constrain to the desired axes. | ||
---- | ---- | ||
+ | ==== Animating Loops ==== | ||
+ | |||
+ | When animating loops, put the first keyframe on frame 0 not on frame 1, because when the loop occurs on the last frame it will jump back to frame 1 and not repeat the same keyframe. | ||
+ | |||
+ | When animating symetric rigs on loops, it can be handy to get a first keyframe in, copy it to the end, and halfway through copy a flipped keyframe pose with **'' | ||