为什么Camera与在不同脚本中使用相同代码的Player会有所不同?

时间:2018-12-24 13:06:33

标签: c# unity3d rotation mixamo

我想在游戏中整合一个跑步角色,我通过Mixamo下载了动画。播放器正在运行,如果我将相机直接连接到播放器,则说明相机在晃动,因此无法进行游戏。 所以我为相机制作了一个不同的脚本。在那儿,相机始终跟随玩家,但通过

像玩家一样转向
    float h = PlayerMovement.horizontalSpeed * Input.GetAxis("Mouse X");

    transform.Rotate(0, h * Time.deltaTime * 60, 0);

(对于相机)和

    float h = horizontalSpeed * Input.GetAxis("Mouse X");

    transform.Rotate(0, h * Time.deltaTime * 60, 0);

播放器。但是经过几秒钟的观察,我的运行方式与我看到的完全不同。为什么会这样,我该如何解决呢?

我尝试了不同的动画-没有效果。

更新:如果没有刚体并且没有碰撞器,则可以正常工作。但是我需要他们。

1 个答案:

答案 0 :(得分:0)

删除此:

float h = horizo​​ntalSpeed * Input.GetAxis(“ Mouse X”);

transform.Rotate(0, h * Time.deltaTime * 60, 0);

并将相机拖到剧本上。作为播放器的孩子,摄像机将跟随并随着播放旋转。

如果摄像机已经是玩家的子代,这将解释为什么您会陷入困境,因为您将玩家角度更改为x,将相机角度更改为x,然后将相机角度更改为再次x,使它们不对齐。