Character not rendering in place

YeeHaw01

New member
I'm starting to play around with the Third Person Controller to get a feel for how it works. For some reason, the mesh of my character is rendering offset from the parent game object. In the first screenshot, Enemy2 is selected and you can see that, based on the transform, it is positioned correctly in the scene (the widget in the foreground).

mesh-render-offset.png

In the second screenshot, the child game object for the mesh, LowMan, is selected and the transform is (0, 0, 0) but it is being offset from the parent game object by (9, 1, 1). You can see it is rendered in the upper right of the scene view.

mesh-render-offset-2.png

I can't seem to figure out what I have configured incorrectly. Any idea what might be going on here?
 
That normally deals with the animations/rig that you are using. I don't know the exact details on what would cause it but it is somewhere in that realm.
 
If I disable the Character IK script, the character snaps into the correct position. I guess it must have something to do with the way the IK script is calculating the bone positions.
 
Interesting. Are you able to reproduce the issue within the nolan character? Did you change any CharacterIK settings? This is most likely related to the hip position adjustment speed.
 
The Nolan character works fine. I did try to change IK settings to fix the issue, but no luck.

It appears the culprit is this line of code in CharacterIK.SmoothMove( )...

m_Hips.position = m_Transform.TransformPoint(m_HipsPosition);

When I look at the rig, the hips have a local position of (0,0.9,0)
At this point in the code, both m_Hips.position and m_HipsPosition = (9.0, 1.9, 1.0) which is the world position of the hips.
After passing this vector through TransformPoint, the result is (18.0, 2.9, 2) which is where the mesh is rendered.

I'm not sure yet what might be different between my character vs. Nolan that is causing the issue.
 
Since you are using a custom animator it doesn't look like the base layer has IK Pass enabled. This will prevent the base layer from being positioned correctly.
 
Top