2
$\begingroup$

Simple question, why is it that when I go to Object --> Apply --> Location to clear the location transform (or, reset it), that the pivot of the object then gets moved to the center of the grid in my scene? And then when I set the pivot point back to it's origin by doing this: Object --> Set Origin --> Origin to Geometry, the pivot moves back to the center of the object but the location values that I cleared come back. This is so annoying because when clearing the transforms, the pivot SHOULD NOT be moving back.

That's why some of you might recommend this: Object --> Apply --> All Transforms to Deltas. But the problem with this is that when it moves all the transforms to the detla transforms, it messes up the rotation when you later go to rotate the object. This is ridiculous.. it's like there's no way to reset transforms without there being some kind of a problem.

Does anyone have a solution? Thanks!

$\endgroup$
  • $\begingroup$ why do you need to have the transform be (0,0,0)? $\endgroup$ – David Aug 29 '19 at 4:58
  • $\begingroup$ Because of course it simplifies bringing all the character's body parts back to their default pose. Instead of the default pose of say, the hand, being 5.66 on X, 4.53 on Y, and 2.48 on Z, I could clear the transforms (while keeping the object AND the object's pivot where it is) so that the the default is now a nice clean and easy to remember "0". Of course this is a common practice in rigging. $\endgroup$ – Sebastian Aug 29 '19 at 19:00
  • $\begingroup$ You know, in Maya, when you do the equivalent, which is freeze transformations, all the transforms are cleared and the object doesn't move and the object's pivot DOES NOT move at all. I don't know why Blender has to move the pivot after clearing the transforms. $\endgroup$ – Sebastian Aug 29 '19 at 19:02
  • $\begingroup$ Okay, so I have a feeling that I have the wrong idea about posing and animating. So, I'm a Maya user and I am new to Blender. In Maya, when you pose the character, you move, rotate, and scale the nurb curves where you want, and those nurb curves control the joints (bones in Blender), which control the body. If you decided not to use joints and just parent the nurb curves directly to the objects of the character (if it's a robot), then all you have to do is move, rotate, and scale the nurb curves to pose and/or animate the parts of your character. $\endgroup$ – Sebastian Aug 29 '19 at 20:11
  • $\begingroup$ Obviously, there is no animation "mode" in Maya. You just take the nurb curves and animate them by putting keys on them. And as long as you froze the transforms, you could easily bring your character back to its default pose ("0" for translate and rotate, and "1" for scale). But in Blender is there an actual animation "mode"? Is there a mode that lets you pose the character and his curves are already "0" for location and rotation, and "1" for scale? Is there a pose and/or animation mode that makes those values the default values automatically when animating, without clearing anything? $\endgroup$ – Sebastian Aug 29 '19 at 20:14
0
$\begingroup$

You are asking for an impossible thing. Applying location keeps the geometry in the same location but zeros out the transforms.

What you are calling the pivot is the object origin. The origin is what all the transforms are biased off of. Take these images as an illustration.

The cube is at the global origin or scene origin (0,0,0). cube at 0,0,0

Here the cube is moved, simple object mode transform (-4,0,2). cube at -4,0,2

Here the cube's location is still the same as in the image above, but the cube is in a completely different pace. The reason being the geometry was moved in edit mode.
cube still at -4,0,2 but visually in a different place

This is essentially what applying the location does. Blender clears the location (moves the origin to 0,0,0) and moves the geometry back to where the object was.


All that is explaining what is happening to an object when you apply its location.
Modifiers, constraints, parenting, and rigging will effect an objects location and moving the object's origin will likely mess at least one of those up.

$\endgroup$
  • $\begingroup$ It can't be impossible because how am I supposed to rig a character with curves to control the bones (or in this case, curves to control the geometry directly without bones because it's a robot and for my robot I don't need weight-paints)? How can I use these curves to control the character when after clearing the transforms, the center pivot of the object gets put back in the center of the grid and then the object will rotate around the center of the grid instead of where it should be rotating around on the character. $\endgroup$ – Sebastian Aug 29 '19 at 18:30
  • $\begingroup$ @David you never used delta transforms? This Question was far more interesting than I first thought. Turns out (propably) he found a bug and thats the whole reason for this question. $\endgroup$ – HenrikD Aug 29 '19 at 19:48
0
$\begingroup$

Actually you sound a little bit confused about clearing and applying transforms. They are completly different.

Clearing transforms means to reset the object transforms. You can do that by Alt+G, Alt+R, Alt+S.

Applying a transform means to make the transforms from object mode apply to the edit mode data and than clear the object mode transform. Thats done with Ctrl+A. If location transform is applied that means the origin (also the pivot point) jumps back to (0, 0, 0) leaving the geometry in place.

If you want to be able to clear your tranforms and have special positions to where they are moved when cleared, you need to have an Armature with bones. Only that will give you the control. Its also much more convenient to work with, when animating. You don't need any Weight Painting for an Armature to work. You can parent your object to the bones directly by selecting your object, then your armature, then go into pose mode and select your bone and press Ctrl+P and select Bone.

I think that is exactly what you want. It is perfect for robots with individual hard objects. I made this robot hand using this method and it is very easy to pose , animate and reset:

Picture of a Hand made of cubes

If you still want to go without an armature, even though it is handy... Apply All Transforms to Deltas works fine for me. It does exactly what you want too... I don't see how it messes up the rotations.

EDIT:
I suspect you have set your rotations to Quaternions. In that case Rotation to Deltas seems to fail miserably. Set it to Euler and deal with the gimbal lock and you will be fine I think.

EDIT2:
I think you might have found a Bug, otherwise I just found it and will report it right now (EDIT3: done). Rotation to Deltas adds the current quaternion values to the existing values instead of multiplying the normal quaternion way. To get around it you can go into your object transform tab in the properties region and set the delta quaternion to (0, 0, 0, 0) instead of (1, 0, 0, 0) and then apply the Rotation to Deltas, that should work perfectly.

$\endgroup$
  • $\begingroup$ For the Alt+G, Alt+R, and Alt+S thing, that just resets the object's transforms, as you said. But I don't want to move the object, I just want to clear it's transforms ("0" for location and rotation, and "1" for scale) without moving the object so that when I want to bring the character's object back to it's default pose, it's easier because it's just "0" for location and rotation, and "1" for scale). $\endgroup$ – Sebastian Aug 29 '19 at 18:47
  • $\begingroup$ Problem is, Ctrl+A, even though it clears the transforms (which is what I want), it puts the object pivot back to the center of the grid, so if it's a base finger bone, how can I rotate the object around the knuckle of the hand if it will now instead rotate around the center of the grid? And if I put the pivot back to the center of the object (the knuckle), it will just bring back the transforms. Why can't I clear the transforms AND keep the pivot of the object in the center of the object (or where I want it, which is the knuckle)? $\endgroup$ – Sebastian Aug 29 '19 at 18:48
  • $\begingroup$ @Sebastian ohh now I get it! You want to have an Armature. Have a look into Armatures for now. Ich will update my answer later $\endgroup$ – HenrikD Aug 29 '19 at 18:49
  • $\begingroup$ Armature as in bones? Normally, yes. But in this particular case, I felt bones were unnecessary because the character does not need any weight-paints (he is a robot, so he's not fleshy). I figured since he is a robot with solid parts that I could just skip the bones for weight-painting and just use the curves to control the objects directly without bones. But is that my problem? Is it not possible to parent an object directly to a curve (without a bone) and then clear transforms and keep the curve's pivot where I want? Do I HAVE to use bones? $\endgroup$ – Sebastian Aug 29 '19 at 18:54
  • $\begingroup$ I did not use quaternions to my knowledge. Before and after applying transforms to deltas, I saw in the properties tab that underneath the transforms, it showed "Rotation Mode: XYZ Euler". Also, how do I tag a person, like @(put name here) in an answer? Because I posted an answer recently and I couldn't figure out how to tag someone, there was no option for it. Also, take a look at my answer post, it pretty much wraps up our problem here. $\endgroup$ – Sebastian Aug 29 '19 at 21:50
0
$\begingroup$

I just figured it out. So, apparently, there is a "pose mode" in Blender, which does not exist in Maya and that's why I was confused. You see, in Maya, once you attach all your joints (bones) to your nurb curves and you want to animate the nurb curves to move the character, you just animate it... just like that... no pose mode. Because apparently pose mode in Blender sets your bone location and rotation to "0" and scale to "1" without you having to clear any transforms (only while you're in pose mode). But because Maya has no pose mode, you have to freeze transformations (or, clear transforms) on the nurb curves and then animate them.

Okay, so good to know about the pose mode in Blender but I don't want to animate the bones directly (if I don't have to), I am used to Maya where you animate the nurb curves which control the joints (bones). You may ask, "Why use curves?" Well, I want to use curves because it's cleaner looking. Does Blender not allow you to do this in a type of "mode"? Do I HAVE to animate the joints in pose mode if I want no starting transforms? Because if I animate the curves, their transforms will be a messy value and bringing the character back to its default pose will be a pain (unless I clear transforms but again, it moves the pivot to the center of the grid).

I can only assume that if I want the joints to "look" similar to the curves, I would have to change their shape to something that's not a pyramid.

Anyways, so I guess there's no way to have "0" on location and rotation, and "1" on scale for the curves without the pivot going back to the center of the grid. And although I could do this with applying the transforms to deltas, those values in delta will mess up the rotation (you'll see situations where, for example, you rotate the curve on the X axis and it will actually rotate on the Y axis).

I guess I have to animate the joints in pose mode. Okay then, I will.

See what I mean?

$\endgroup$
  • $\begingroup$ you should really look into rigging. Everything is possible with rigs/Armatures, Everything. For example take a look at bendy bones and general bone constraints. You should watch some tutorials to get into it. $\endgroup$ – HenrikD Aug 29 '19 at 21:55
  • $\begingroup$ Yes but there are software limitations so what you want to do must be accomplished in a manner that the software allows. Thank you for your help! I really appreciate it! $\endgroup$ – Sebastian Aug 30 '19 at 4:10

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.