将对象旋转到鼠标方向

时间:2018-09-10 23:03:13

标签: unity3d

我有这个脚本,已经可以了 我正在使用leanFinger

    var c = Camera.main;
    var center = rb.position;
    var lastPos = _finger.GetWorldPosition(c.transform.position.y, c);
    var lastDelta = Vector3.Distance(center, lastPos);

    float angle = Mathf.Atan2(lastPos.x, lastPos.z) * Mathf.Rad2Deg;
    rb.rotation = Quaternion.Euler(new Vector3(0, angle - initialRotation, 0));

问题是我的对象正在以绝对角度旋转,因此,如果它已经旋转,则会发生不必要的旋转。我希望它采用initialRotation值,但我不知道如何。

谢谢

1 个答案:

答案 0 :(得分:0)

您可以使用transform.rotation访问对象的当前旋转:Transform.rotation

为方便起见,您也可以使用此方法:Transform.LookAt

简单的JS示例:

public var target : Transform;

function Update ()
{
    transform.LookAt(target);
}