I noticed a strange behavior but idk if its a bug as i cant find info about in online.
Lets say we made that table in the video, just a scaled cube.
And we place a model on top.
So far, we can do ctrl p just fine, and the model on the table.
But we didnt apply the scale of the table cube before hand. Yet it works well enough.
However, if we set the parent by clicking in the properties menu, the transformations of the cube's scale is then passed to the child on the table, keeping the table the same, no change but making the child much different.
Why i think this is buggish is cause the output of the first method ctrl p seeming does the same outcome in that properties menu, yet there seems to be no other way in the parenting menu to get the same result as just setting parent directly in the properties menu.
And once we set it and the size changes, its over. We can apply the scale afterwards on the parent, but it doesnt even change the scale of the child. It will (for the child) still remain 1,1,1 for the scale, while the parent also now being 1,1,1 but leaves the child with the same distorted scale.
Some sort of spooky nameless properties menu "Parent Object And Transform Child" feature. Is it cause with this method is the only time the child is selected for the parenting? Maybe it gets confused if not intended, definitely feels funky.
It's not funky. So, when you create a parent child relationship using the Ctrl+p Blender creates an inverse matrix. When you assign parent in relationship panel blender doesn't(well it does, but it's zeroed out). You can also clear out the inverse table thru Alt+P on the child object. I think when you apply a transform like scale it bypasses the parent child relationship and only applies the transform to the data.
What does the inverse table/matrix do? First let's create one. Open blender move the default cube 2 meter up on the z axis. Add a monkey head and move it 3 meters on the Y axis. Select monkey, then shift+select cube, and press Ctrl+p->keep offset. Press n to open n-panel. Then click item tab. Select the monkey. You will see x and z location are still at 0 and y is at 3.
Second, let's see how it affects a child. Select both the cube and the monkey and press Alt+g to clear the location of both meshes. Now you might expect the monkey and the cube to both be at the world origin, but the monkey is 2 meters below even though it's location shows all 0.
Third, why? That is because the cube wasn't at the world origin when the parent was created. Thus an inverse matrix with a location of x and y 0 and a z of -2. So, if you select the monkey and press alt+p->clear inverse the monkey will pop to the world origin.
Hi ddemonslayer112 ,
Good questions and Dwayne has explained it really well, but I'll try and give my version too.
An Object is just a Coordinate System (with a name).
A Mesh Cube consists of 8 Vertices with Positions in that Coordinate System, connected through Edges and Faces.
If you Move an Object (in Object Mode), you move the Coordinate System (the Vertices don't change their Position in that Coordinate System).
If you Rotate an Object (in Object Mode), you rotate said Coordinate System (the Vertices...blah blah blah).
If you Scale an Object.....(you can guess the rest).
Parenting example; if you Enter "Cube" as the Parent of "Suzanne" in the Properties Editor, Suzanne's Transforms are being interpreted as Transforms in the Cube's Coordinate System. This can cause Suzanne to visually Transform (jump around, getting re-sized and so). This is usually not what you want and therefore (almost) nobody (hardly) ever Parents this way.
If you Parent in the 3D Viewport with CTRL+P, the same thing happens, but then an extra step is done; Suzanne is being put back to where (Location) and how (Rotation and Scale) she was, just before being Parented to the Cube. (Like she wasn't always the Cube's child, but has now been adopted.)
There is also a CTRL+P > Set Parent To > Object (Without Inverse), which makes Suzanne inherit the Transforms of the Cube (Suzanne's Location changes to the Cube's Location and Suzanne's Rotation and Scale change to the Cube's Rotation and Scale).
Now, unlike humans, Objects can have only 1 Parent (at most). If you Parent an Object that already has a Parent, that first Parent gets 'Cleared', before the Object gets Parented to the second Parent. This means, that the Child can jump around and so, if the first Parent has been Transformed during the old Parent Child relation. If you don't want that, you can use the Set Parent to > Object (Keep Transform).
And yes, this goes way beyond the basics 😉