为什么在使用 RayCast 和 LookAt 时角色头部向下像脖子断了一样?

Why the character head is down like neck is broken when using RayCast and LookAt?

脚本已附加到 ThirdPersonController,一旦我 运行 进入游戏,头部就会向下看,就像脖子断了一样。有点可怕。

using UnityEngine;
using System.Collections;

public class MoveObjects : MonoBehaviour {

    bool isSpinning;

    // Use this for initialization
    void Start()
    {
        isSpinning = true;
    }

    // Update is called once per frame

    void Update()
    {
        MovePlayerWithMouse();
    }

    private void MovePlayerWithMouse()
    {
        if (isSpinning == true)
        {
            RaycastHit hit;
            Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);

            if (Physics.Raycast(ray, out hit) && hit.collider.name != "ThirdPersonController")
            {
                transform.LookAt(hit.point);
            }
            else
            {
                transform.LookAt(ray.GetPoint(100));  //the number here is compltely arbitrary
            }
        }
    }
}

这是运行游戏时玩家头部的截图:

因为您没有对模型进行 IK 传递。 LookAt() 使变换旋转到您想要查看的点,并且由于它没有 IK ,它只是使后坐力变得有趣。