Unity3d 将对象旋转到鼠标方向

Unity3d 将对象旋转到鼠标方向,unity3d,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(lastPo

我有这个脚本,它已经运行了 一、 我用的是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值,但我不知道怎么做


谢谢

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

为了方便起见,您也可以使用此方法:

简单的JS示例:

public var target : Transform;

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

使用这种方法,如果对象已旋转,则该旋转将被忽略