1
$\begingroup$

I set the limit rotation, but the constraint not restrict the rotation, here is my setup,

I can still freely rotate the object in all axis,

enter image description here

So I tried to tick the affect transform option, but it gave me strange result, as long as I press the R key. it reset my rotation to like this,

enter image description here

It should've been restrict the rotation based on the current object rotation, but it reset my rotation to the world rotation.

So how to limit rotation in local space, thanks!

$\endgroup$
5
  • $\begingroup$ When trying to transform, eg rotate with R with affect transform checked, settings above ultimately are restricting local rotation to range of (0, 0, 0) . If the object has no parent then local is global. Make the rotation range settings in the constraint contain the current values to use this setting and not lose your current rotation values. $\endgroup$ – batFINGER Feb 13 at 16:02
  • $\begingroup$ Restrict local rotation to 0,0,0 should make it stay still as the first screen shot, but it doesn't, I don't know why, because local rotation is now 0,0,0 $\endgroup$ – user3505400 Feb 13 at 16:02
  • $\begingroup$ Still confused to me, when I rotate the object in world space by 55 degree in x axis, the local space rotation should remain the same which is no rotation at all, I do not understand why you mentioned local is global if there is no parent. $\endgroup$ – user3505400 Feb 13 at 16:40
  • $\begingroup$ Because local rotation is relative to the object itself, how much it rotated in world space should not change a bit in local rotation $\endgroup$ – user3505400 Feb 13 at 16:43
  • $\begingroup$ Local from local matrix, world from world matrix blender.stackexchange.com/a/169424/15543 $\endgroup$ – batFINGER Feb 13 at 16:58
1
$\begingroup$

Object constraints don't handle local space correctly when they don't have a parent.

But, that's a problem with an easy fix, because objects that are unparented exist in world space. So for your unparented object, you can change the space in which the Limit Rotation acts from local space to world space.

You specifically ask how to limit in local space, although it's not clear what your end goal or actual problem is-- this looks like an idealized situation. And it would be easy to imagine some misunderstanding of what limited local space rotation would look like. If you want an explicit answer to how to limit rotation in local space, then make an empty at the world origin and parent your object to it. Now, you can limit rotation in local space if you want. It's just, that's exactly the same as limiting rotation in world space.

$\endgroup$
1
  • $\begingroup$ Your solution is nice, I need to parent it to object! $\endgroup$ – user3505400 Feb 17 at 7:15

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.