0
$\begingroup$

I have this garment I've created and imported as an FBX into Blender. I am currently trying to join all of the meshes together but I also have this empty and I cannot figure out how to detach it entirely from the meshes. When I clear the parent it simply deletes everything except the empty. I am trying to do the opposite.

enter image description here

$\endgroup$

2 Answers 2

0
$\begingroup$

You have to Apply the object's Location and Rotation by selecting all objects of interest and press Ctrl+A > Scale/Rotation. Select the garments only, Alt+P > Clear Parent and Keep Transformations. Now you should be able to delete the Empties and join all the meshes together.

$\endgroup$
3
  • $\begingroup$ I am not sure why you want to apply the rotation and especially not the location - applying the location means, the objects stay in place and their origin is set to the world center. There are only a few occasions where this is desired... and also the rotation is more often desired to be preserved when unparenting something. To join the garment meshes together, all you need to do is select them, then Alt+P > Clear and Keep Transformation and that's all to be able to join them with Ctrl+J. $\endgroup$ Commented Sep 5, 2023 at 7:41
  • $\begingroup$ Sorry I meant Apply Scale and Rotation... I updated it. If you apply rotation and scale to the object before unparenting it from an empty, the object will retain its final rotated and scaled state in relation to the world origin. This can be useful when you want the object to maintain its orientation and size in the world space after unparenting $\endgroup$ Commented Sep 20, 2023 at 0:19
  • $\begingroup$ The objects will only retain their rotated and scaled state relative to the world if they were rotated and scaled by the parent. If they were (what is more likely in this scenario) somehow transformed and then parented to an empty, clearing rotation & scale will lose the transformations done before parenting... which means, their state is then not the objects' in relation to the world, but the empty's in relation to the world. $\endgroup$ Commented Sep 20, 2023 at 5:55
0
$\begingroup$

I did not want to write an answer, but I have to show the difference between clearing the parenting with and without applying rotation and scale:

If you want to preserve the relative rotation and scale of an object in relation to the world - or to its original state in which it was created, you should never apply the Rotation & Scale (or the Location if you want to keep the origin point where it is).

Applying transformations is very important if you transformed something in Object Mode and want this to be the new original state of the mesh, it is important because most settings of modifiers are based on what is the original mesh with all rotations 0° and all scales 1.

But if you have an object for example rotated by 24.781° on Z and scaled to a factor of 4.379, applying rotation and scale will set these values to 0° and scale 1. If you now want to return to the original size and rotation you might have a hard time figuring out how to get back to those values (especially if you had different on all three axes). Therefore it is sometimes useful to keep those transformations and not apply them - to preserve the state you might want to return to.

Sometimes you might have an empty or other parent to transform multiple objects at the same time while they keep their relative states to each other. And when you then want to unparent them they might jump back to the state they were in before being transformed by the empty. If you do not want that, you have to Clear Parent with Alt+P and choose Clear and Keep Transformation.

However, if you use Ctrl+A > Apply > Rotation & Scale before clearing the parent e.g. an empty in this case, then the state the objects were in while they had been parented to the empty will be set as their initial states. The only rotation and scale that will be preserved will be the one of the empty. Maybe this sounds confusing, I will show it with examples.

First of all, the simple default cube. Its initial state with a rotation of 0° and a scale of 1 on all axes makes its dimensions X = Y = Z = 2 m with each edge aligned to the world's axes.

default cube

If you now rotate it perhaps 45° on X and scale it uniformly by 1.5 you will get a cube which is no longer aligning with all world's axes. Each edge is now 3 m long (2 m × 1.5), but although the cube is now larger on the global Y and Z, the dimensions still show 3 m on XYZ because these are the local dimensions and the rotation is taken into account.

rotated and scaled cube

Getting the cube back into its initial state is fairly easy now, either manually set all rotations to 0° and scales to 1 or use Alt+R and Alt+S to clear the rotation and scale. If you instead apply the transforms with Ctrl+A > Apply > Rotation & Scale, the values will be set to 0° and 1 without resetting the mesh of the cube. Now this has become the new initial state. Notice that the Y and Z dimensions are no longer 3 m, but have changed to 4.24 m instead.

applied cube transforms

So what happens now if the cube is parented to an empty? First assumption: the cube was in its initial state, rotation 0°, scale 1 when it was parented to an empty which also had a rotation of 0° and scale of 1. If you then rotate the empty 45° on X and scale it by 1.5 the resulting cube looks like the unparented one before - only that its rotation and scale remained at 0° and 1, because the transformation is done with the empty and the cube stayed unaltered relative to the parent.

rotated and scaled empty

In this situation it is completely irrelevant if you apply the rotation and scale on the cube with Ctrl+A (as Spencer's answer suggests) before unparenting, because the cube is already on 0° and 1 relative to the empty. If you now unparent it with Alt+P > Clear and Keep Transformation, the cube will inherit the transformation and now show 45° on X and a scale of 1.5 for XYZ.

unparented cube inherits transforms

This way you can get it back into its initial state by just resetting the transform values. But, since we have no information on your objects and the parenting, some of the following situations are possible:

The cube gets rotated and scaled first, then it is parented to an empty without any rotation or scaling. That's often the case if you transform objects in Object Mode and parent them to an empty just to have one mutual controlling object for different child objects. So, let's assume the cube is rotated 45° on X and scaled by 1.5 uniformly. The parent empty does not show any transformations:

empty without tranforms

If you now apply the cube's transformations with Ctrl+A (Spencer's answer), the current state will be set as 0° and 1. So you created a new initial state for the cube just like in the beginning without any parenting. If you now want to unparent it with Alt+P, since the empty is not scaled or rotated it does not matter if you choose Clear Parent or Clear and Keep Transformation. The result will be the same, you have unparented the cube and lost the information about how it was rotated and scaled (just like above with applying the transforms on an unparented cube):

applied cube transforms

Another possible situation: You have a cube that is rotated 45° on X and scaled by 1.5, then it gets parented to an empty. After parenting, let's say the empty gets rotated 30° on Y and scaled to 0.5 uniformly:

empty's transforms

If you now select the cube, it shows 45° on X and a scale of 1.5, because that's its transformations relative to the empty:

cube's transforms

And now comes the problem when you apply rotation and scale with Ctrl+A. Spencer says, this way the cube would keep the transformations relative to the world resp. the global axes. That's partially correct - but its the empty's transformations relative to the world that the cube will inherit. The transformations of the cube relative to the empty and therefore the absolute transforms to the world get lost.

If you apply rotation and scale to the cube while still parented to the empty, the 45° on X will be set to 0° and the scale of 1.5 back to 1 without the cube changing its current state of the mesh. And when you now use Alt+P > Clear and Keep Transformation, the cube inherits the 30° on Y and the scale of 0.5 from the empty:

cube unparented lost transforms

And this means, if you want the original initial cube back, the information is lost. Resetting all rotations to 0° and the XYZ scale to 1 results in a cube which is no longer aligned with all global axes and the edges are no longer 2 m each... again you have the same as in the beginning, where you transformed a default cube in Object Mode and applied everything:

applied cube transforms

This might be the desired outcome and with such a simple example it is quite easy to get the original cube back if you know how it is supposed to be. But if you have more complex meshes and want to edit them afterwards, and maybe they are originally modeled with symmetry to one or more global axes, then loosing the original transformations and trying to manually get the mesh in the original orientation can be very painful. If everything is already applied and unfortunately there is no transformation to be preserved, then there is nothing you can do. But with applying the transforms with Ctrl+A beforehand, you jeopardize any chance of keeping those settings right from the beginning.

$\endgroup$
1
  • 1
    $\begingroup$ Thanks so much for this! This helped me solve my problem, as well as give me insight on multiple methods. I appreciate your help very much! $\endgroup$ Commented Sep 21, 2023 at 18:35

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .