I have found that trying to animate a child has a strange double transform effect when key framing. I have watched many, many parenting and rigging tutorials and have looked for forums that address the issue but have not found anything relevant. So here it is.
Here is a video of the problem. https://www.youtube.com/watch?v=_f5VjDxdBUs
As you can see it is a very simple parent of one cube to another. But if I rotate the parent and then keyframe the child the child jumps.
Thanks for the welcome! I am excited to be here. I am a long time Maya user (20 years now!) and am new to Blender. I am trying to wrap my mind around the Blender workflow.
Unfortunately, applying the transforms and animating the delta location still has strange artifacts
You’re right, that is weird. But I’m having trouble recreating the issue. When I try to follow the steps you take in the video, my cube doesn’t jump.
Is it possible that there is some step that I’m missing, from just trying to follow along with the video?
I make a cube. I duplicate it, move it, scale it down. I object parent the duplicate to the original (using the menu.) I rotate the original. I keyframe the location of the duplicate (using the buttons in properties/object/transform.) I advance frames-- and it stays exactly where it is. As everybody expects, as it should.
Perhaps you could share the file? Or perhaps you could list the exact steps you’re taking in text?
This should not happen. Is this some wierd bug on Mac?
One weird thing i noticed is that when you set the keyframes by dragging only one of them turns yellow the other ones turn brown. Yellow indicates that the keyframe is on the current frame.
Brown indicates that there is a keyframe on the current frame but that you have changed the value of this key frame and have not yet commited it.
Can you try doing the same thing but instead of dragging the keyframes click on them individually.
Or of that does not work hoverover one of the values and hit the “i” key.
This is just too basic to work around. It’d be like trying to work around a broken monitor.
You could see if armatures and bone parenting are less buggy.
I guess you should be looking at other options for parenting as well. I’ll typically parent with ctrl -p in the 3D view, and that has options for “keep transform”, “keep transform without inverse”. I don’t even know what the menus do because I never use them.
Yeah, you should report it on the bug tracker, not any forums. To get to the proper page, use help->report a bug from the main menu in Blender.
Yes, please report the bug. But not on the forums.
In Blender go to the Help menu (right next to File, Edit and so on)
and press “Report a bug”.
If you need any more help here is a video tutorial:
As for a workaround:
Does creating the keyframes separately without dragging work? You could also try to press “i” in the viewport and then from the menu select “location”. Or press “i” while hovering over your transforms.
This is a terrible bug. Thank you for reporting it.
It appears that keyframes are created. The one on the z axis is created correctly. The ones on x an y are not. can you check the curve editor (shift f6) where these keyframes are created?
Also I have been testing older version of Blender on my Mac. It turns out version 3.1.2 things work normal. It is the later versions that this started,
Run into the same thing. Its in Blender since a long time I guess. Problem is that Blender does parenting different to other apps, because it has not really a good support for local and global coordinates. It has got the feature, but you can run into a lot issues. I noticed that back in Blender 2.7 and it did hold me back a long from using Blender.
Sadly. its never been fixed. And with animation its even worse. The only work around is to use the curve editor.
Interesting, I have the bug on windows too, however the rig is bit more complex. The parented empty was constraint to a surface, as soon as that object was moved, the bug happened.
Ok now confirmed, the same behavior happens on Windows. Parent an item to any object, as long as parent has no transform it works, once it has been moved, it doesn’t. Also delta transform does not help here.
The problem is simple, Blender does not calculate the difference between local position of child and parents, but only the global position of the animated object. Its the overall problem in Blender that let you parent an item to another item without affecting its transform. This is all wrong in how Blender does handle local coordinate system. They create a few work arounds and it feels like fixed, till you run into that again.
I fear that won’t be solved any time soon. Because it would cause heavy rework of the whole system incl. parenting and hierarchies, especially constraints. I don’t thing they will address that soon. Hierarchies and groups are a blind spot in the software. If that isn’t been worked on, I guess it will take 5 years to fix.