I am trying to follow the tutorial. But when I parent a sphere placed at World centre, except Z location at 2.5, to a parent placed at X5, Y0, Z0, the child does not move to the parent. Ideally, after parenting, the child location should become X5, Y0, Z2.5 ... am I doing something wrong? I tried getting help from ChatGPT first, but it is saying in Blender 4.5.1, the simple parenting, and the parenting without transform works basically the same way, that the child in both cases won't "jump" to the parent position. But it does jump in the tutorial?
I have attached a link here to a streamable video of 5 secs I recorded to show the same error. Please ignore the accidental click on "Parent without inverse" ... I understand how that works, its just an accidental click. Basically I don't understand how/why can both options of simple parenting and parenting while keeping transform give the same results? Thank you in anticipation.
When you parent an object to another, the child object will remember its original location and no matter where you move the parent, the child will always display its original location. It's as if the child always remembers it true location. That is why when you unparent, the child jumps back to where it was originally.
And when you parent, the child never moves the parent, the parent moves the child, it drags it wherever it goes. So if you select the child and move it, the parent wont move. But of you select the parent and move it, the child will follow along.
Hi Awais FFrankfreak123 ,
That is not an error!
Omar explained it well, but let me try this again:
In your video, you just Parent the Cone to Cube.001. There is no jumping.
In the Tutorial video, the Cone get's Parented to Cube at ~5:25. The Cone doesn't jump to the Cube's Position. and its Coordinates don't change.
Then the Cube gets Transformed. The Cone's Coordinates do not change, when the Parent moves, but the Cone follows the Cube, because the Cone's Coordinates are in relation to its Parent, the Cube.
Now, if you switch the Cone's Parent to Cube.001, The Cone's Coordinates still don't change, but are now in relation to its new Parent Cube.001, but Cube.001 is in a different Position then Cube, so the Cone 'jumps'.
Don't worry if you don't understand this yet, it will become clear at some point in your 3D journey.
First, lets take a look at what parenting is. It is changing the reference point in which transforms are calculated. So when you parent the cube the cube's origin is use as the reference point instead of the world origin. That is why when you move the parent it moves the child.
Second, Let's take a look at Object and Keep Transform. If you are just parenting straight then They function the same. Now if you parent the cone to cube and then move the cube down 2.5 on Z axis. Then select the cone, shift+select the cube.001 and ctrl+P. you get 2 different results. Object just switches the reference point in which case the cone will jump. Keep Transform will apply the transforms(In this case the move downward) created by the parent-child relationship. Thus the cone doesn't move.
Third, what is the inverse table. This is a hidden matric that adjust the child in relation to the parent's relation to the world origin. This one is kind of hard to explain, but easy to show. In your setup, select the cone, then shift+select the cube.001, and ctrl+P->object or keep transform. They both set the inverse table. Then with both still selected press Alt+G to clear the location transform. You will notice that the cone is moved down, but it is also moved +5 on the X axis even though all location transforms are 0. This is because cube.001 was -5 on the x location in reference to the world origin. The inverse(Opposite) of -5 is +5. Thus the cone has an inverse table with location of 5, 0, 0.
Fourth, Keep transform without inverse and without inverse options. Without inverse is easy. It clears all transforms on the cone and changes it's reference to the parent. Thus moving the cone's origin to the cube.001's origin. Transform without inverse does the effect you described. It applies the inverse to the child. So in this case if you look at the transform of the cone the x location now has a 5 in it.
Fifth, Get everything back the way you started. Cube at world, cube.001 at -5 X, and cone at 2.5 z. Select cone, shift+select cube.001, press ctrl+P->object/Keep transform, and press alt+p->clear parent inverse. This will remove the the +5x in the inverse table and not apply it. Thus moving the cone to above cube.001.
I hope this clears things up.