Hi, I have a gameobject with a very odd pivot point (at least that’s what i’m presuming it is), and so when I rotate the object in my script it rotates on that point so I’d like to adjust it’s position to a more practical place
I have tried using the SetPivot point script provided on the unity3d community wiki but it only works on meshes (?) and when I try and use it on my hands mesh it always turn out like so;
Any help is much appreciated
You can’t change the pivot, but you can create a custom pivot, to do this create an ampty GameObject and attach whatever GameObject you want to this empty GameObject.
Just wanted to update this with a simple solution that now exists since I was looking for the information as well and I just kept coming across the parent object work around.
Probuilder, which is a unity asset right off the asset store, that I believe they said was
going to become standard in the
future, has the ability to set the
pivot point of an object in editor.
- When you have an object selected
clicking on “Freeze Transform”
will set the pivot point of the
object to 0,0,0 in world space while
keeping the other transform
information of your mesh exactly
where it is in world space. So just
take the object that you want to
correct the pivot of to near 0,0,0,
align it how you want and then click
Freeze Transform. Very Handy, and
officially supported by unity.
- There is also a button to set the
pivot to the meshes center of mass if
you just want to do that quickly.
- An added benefit of downloading probuilder is that you can edit meshes in unity as well, which is obviously great.
Some export formats (like Collada) include the pivot point of the object.
As a workaround, you could open the model in your preferred 3d program (like Blender), set the pivot point there and export the model to Unity.
In Unity, you can set the tool handle position to ‘Pivot’
I found this video tutorial which helped me to resolve the problem with a pivot - Unity Fix (move and rotate) Origin Pivot Orientation And Position
Well the custom pivot does work you just need to make sure any scripts that move the player are attached to the empty game object and the original object has not got them scripts and is made into a child of the empty game object.
You can try out my asset here:
It allows you to modify pivot position and rotation conveniently from within the unity editor, it also provides you with various useful options like pivot snapping which allows you to manipulate the pivot more precisely. It also fits right within the inspector and needs no addition of components and opening windows from the editor.