Most of the time I can get by adjusting the view and nudging the 3D cursor to where I want my objects centre - from there I can set the origin to the cursor and voilà, but is there a better way?
I’ve got a project open at the moment where I’m trying to adjust the origin for “flaps” on an aircraft wing. The axis I want to rotate on isn’t parallel to any world axis, so it’s a awkward to accurately align the corresponding edge to the view.
I know it isn’t the hardest thing in the world to keep narrowing in on it till it’s just about right, but I’d really love a neato way to align a transform axis to an edge.
The origin doesn’t have a “rotation” per se; it is a location around which the mesh (in object mode) will rotate and scale.
For something like an airplane wing, parenting might be a more elegant solution: place an empty at the rotation spot and make your wing segment a child of that empty. Then you simply rotate the empty and the wing responds accordingly. In addition, the empty will allow you to set up some funky rotations, etc.
If your plane has a lot of these tricky moving parts, you may want to set up an armature (bones) to control everything, but that may be more than what you need for your project.
Yeah I’m really just looking to make the exported models easiest to work with for newbie Unity developers. I don’t know whether bones will survive in transit or not.
Hmmm… I wonder if that is true? When you activate the axis in the object’s display settings, and rotate the object in object mode, the origin’s rotation clearly changes along with the object. Thus, the origin DOES have a rotation set to it. Furthermore, rotating the mesh in edit mode does not affect the origin’s axis. And, clearing the rotation of the object will clear the origin’s rotation.
So one answer to Ourben’s question would be to select the edge of the flap, and use Benu’s above mentioned method to place the origin. And use the local transform orientation to rotate around the origin.