Found the problem. A more advanced student (shout out to Ricardo) on the discussion forum did a one on one with me on discord to figure it out (he’s at a more advanced level but has run into similar issues) .
There were a few problems with my scene but I’ll just concentrate on the bowling ball and pins.
First off, it turns out that pressing “I” (for inserting keyframe) has multiple uses. There is a difference between pressing “I” on the object and pressing “I” when the animation checkbox is ticked. Each one produces its own keyframe value.
Secondly, I admittedly didn’t follow the lesson’s instructions to the letter since I hit “I” on the pin at frame 1 (just like the bowling ball) which gave it a keyframe for LocRotScale, and then another at the later frame. Apparently, I should just hit “I” after ticking the animation box and then again on the later frame without inserting a transform keyframe (LocRotScale) .
Thirdly, since duplicating the pins with LocRotScale transform keyframes also copies that object’s transformations (location, rotation, scale) for that frame, all duplicated objects will converge at that location when animation starts. This is why all my pins would converge on the original pin when “Play” is pressed.
Lastly, having to relocate my bowling ball on frame 1 drove me crazy. When I press “Play”, the ball would start at its original position. Turns out, I’d have to do a “Replace Keyframe” on the location tab every time I move the ball. If I don’t, the new location gets recorded alongside the first one. What happens is that the new location gets played first (computationally) but the original location is what gets shown when animation starts.
To sum up everything:
-
There’s a separate keyframe value for everything. (i.e. transform keyframe is different from animation keyframe)
-
A keyframe inherits the value of the keyframe that precedes it, unless manually overridden.
-
LocRotScale transform is only used if there is displacement of the object via animation (not physics) . The ball required it because it had a different start and stop location. The pins did not since it is not supposed to move before physics kicks in.
-
Moving an object (i.e. bowling ball) that already has a LocRotScale transform keyframe (i.e. frame 1) to a different location on the board will not replace the transform values that have been set previously. The keyframe has to be replaced by hovering over the location values on the Transform Tab. The altered location values will have an orange background (indicating they have been changed) . Right-click on one of the values with the orange background and on the pop-up menu, click “Replace Keyframe.”
Certain issues still persist:
-
When animation starts, the pins move down vertically by about a millimeter right about the time the animation value changes to physics. I checked and re-checked the Z location of the pins at start and they all rest exactly on top of the floor board. It’s as if gravity makes the pins “sink in” when physics takes over.
-
Playing the animation looks okay, but when rendering to animation, the ball would only render going forward in the first ten frames, and then the rest of the frames rendered with the ball in the starting location. All pins are in their respective places. But by frame 11, the duplicated pins would disappear leaving only the first pin to be shown.
Here’s the video on youtube: Bowling Animation