参数1:无法从“浮动”转换为“ UnityEngine.Quaternion”

时间:2019-10-11 16:00:44

标签: c# unity3d

我制作了2D游戏,我需要将物体转向玩家。 Player是物体旋转的地方

public Transform Player;
public Transform Turell;
Rigidbody TurelPhisics;


// Update is called once per frame
void Update()
{
    var turn = Quaternion.Lerp(Turell.rotation, Quaternion.LookRotation(Vector3.forward, Player.position - Turell.position), Time.deltaTime * 1.8f);

    TurelPhisics.MoveRotation(turn.eulerAngles.z);
}

1 个答案:

答案 0 :(得分:1)

Rigidbody.MoveRotation需要一个Quaternion。您正在{p}中传递float

TurelPhisics.MoveRotation(turn.eulerAngles.z);

采用float而不是Rigidbody2D的情况是,其中Rigidbody2D.MoveRotation采用浮点数,因为Z轴上只有旋转。

既然你说了

  

我制作2D游戏

只需将类型更改为

Rigidbody2D TurelPhisics;