I'm a bit naive, but I thought implementing snapping of parts orientation should be simple.
-
I'm a bit naive, but I thought implementing snapping of parts orientation should be simple.
It's already implemented for 90° snapping. What could go wrong in just changing this to increments of 15°? That'll nicely divide 90° by 6, 3 and 2.
Oh, and I want that no matter the order in which I combine rotations by increment of 15° I just get back to the same final orientations (including of course the main 90° orientations).
I wonder how rotation snapping is implemented in 3D modeling apps?
-
I'm a bit naive, but I thought implementing snapping of parts orientation should be simple.
It's already implemented for 90° snapping. What could go wrong in just changing this to increments of 15°? That'll nicely divide 90° by 6, 3 and 2.
Oh, and I want that no matter the order in which I combine rotations by increment of 15° I just get back to the same final orientations (including of course the main 90° orientations).
I wonder how rotation snapping is implemented in 3D modeling apps?
-
I'm a bit naive, but I thought implementing snapping of parts orientation should be simple.
It's already implemented for 90° snapping. What could go wrong in just changing this to increments of 15°? That'll nicely divide 90° by 6, 3 and 2.
Oh, and I want that no matter the order in which I combine rotations by increment of 15° I just get back to the same final orientations (including of course the main 90° orientations).
I wonder how rotation snapping is implemented in 3D modeling apps?
Taking a look at Blender, there is no rotation manipulator, the rotation axis is defined by the current view. So you can snap that rotation by increments of 15° if you want, but then if you make rotations around different axis, you won't come back to the original orientation. This is not at all what I want in the game.
-
Taking a look at Blender, there is no rotation manipulator, the rotation axis is defined by the current view. So you can snap that rotation by increments of 15° if you want, but then if you make rotations around different axis, you won't come back to the original orientation. This is not at all what I want in the game.
Taking a look at the Godot editor, it's interesting because it shows exactly my problem. If I make 4 rotations by 15° using the manipulator, I end up with an object in a quite arbitrary and non-aligned orientation.
This is not what I want in the game either.
-
undefined oblomov@sociale.network shared this topic
-
Taking a look at the Godot editor, it's interesting because it shows exactly my problem. If I make 4 rotations by 15° using the manipulator, I end up with an object in a quite arbitrary and non-aligned orientation.
This is not what I want in the game either.
@youen one non-obvious thing that might work: precompute a set of quaternions that you want to allow (eg. By a set of quantized euler angles). Then, you snap to the closest of those quaternions (cos theta distance might suffice). That swaps the problem around: you always have a strong guarantee of a small discrete set of possible poses, but now the difficult part is choosing a good set of poses.
PS: I think order independence will never work out. It's not even true for 90° I think.