So we can go to one of our orthographic views and move it to the position we want easier. Because we're in the 3D view, we don't know how far away from the astronaut this is in depth. I'm going to select the axis again, and make sure that with my Move Tool I move it somewhere in the center. First of all, I'm going to select this guy here. So let me show you a couple of ways you can do that. If I select it, you will see that it's right in the center. The guy on the right is on Earth, so it should be right at the bottom where his feet are. The one on the left is going to be floating in space, so it makes more sense to have the axis close to his center of gravity. The reason we would do that is to set the center of manipulation to a logical point in space that makes sense in respect to the object. Now, if I turn it off and use the Rotation Tool, for example, you will see that now we are rotating from that point, and the same applies for scaling. If you go here and turn on the Enable Axis Modification, what will happen is that we can move the axes independently of the object itself. But there's a special mode that allows us to move the axis independently from the object. The axes I'm referring to is the same axis gizmo we use to move, scale, and rotate objects. As far as any object goes, it's the most important component of the object, as all measurements are made in relation to the axis. Everything else is just adding uneeded problems.- When referring to the axes inside Cinema 4D Lite, we are talking about the equivalent of the anchor point in After Effects. So there are two options, parent it, or change the source. There really isn't a need to do this, especially for changing an offset. That just leads to other problems if you want to change the model in the future. And you would have to save it to a seperate object, you cant modify the source file from within unity. But that could be problematic for animations, rigs and skinned meshes. You could write an editor script that reads the Mesh and offsets the verts. (There is no reason it should look any different from the original, unless you changed something else or exported incorrectly). For meshes, you need to go into a 3D app and adjust it there. Meshes are a collection of points (verts and other things like bones) that are positioned relative to the zero point.Īs said above you can nest it in a parent and move it inside that. Technically, the pivot point isn't a thing. But that presents two annoying issues - I have to refactor my scripts to use this new organization for my objects, and I have to re-export my collision meshes so that they have the same bad offset as the render meshes they're supposed to match up with.Īre there any better solutions? Ideally,a way to permanently adjust a game object / prefab's pivot point in the editor which actually saves across unity editor sessions? I know I can make this work by building new prefabs where my models and their collision meshes are offset the same, but parented under a new object so that they can be locally offset. Then I discovered that when I quit unity and open the project again later, those pivot adjustments were lost - they were only in memory and not saved in the in-scene objects or prefabs. I thought my problems were solved - I spent 2.5 hours creating 20 new prefabs to replace those in the asset pack.
So then I found a nifty editor plugin that sets a game object's pivot point. obj files into blender and then re-exporting them each one at a time repositioned at the origin of my edit space, that fixed the pivot but the round-trip into blender made the assets look less awesome.
I bought some assets with this pivot point problem - both in the meshes and the provided prefabs.