我的对象应该是看着鼠标,而是向后看。
我的代码:
var dir = Input.mousePosition - Camera.main.WorldToScreenPoint(transform.position);
var angle = Mathf.Atan2(dir.y, dir.x) * Mathf.Rad2Deg;
transform.rotation = Quaternion.AngleAxis(angle, Vector3.forward);
(我必须画鼠标,因为我使用的照片工具没有放在鼠标中)
有没有办法让它直接看它,而不是每当我将鼠标移到它后面时?如果您使用其他方法,能否请您解释为什么我的方法不起作用,并说明您的方法为什么如此?不过,我还是希望保留我的方法。
答案 0 :(得分:2)
尝试使用Transform.LookAt,您需要做的就是将对象要面对的位置传递给它。
您的代码应如下所示:
public void Update {
Vector3 mousePos = Camera.main.ScreenToWorldPoint(Input.mousePosition);
transform.LookAt(mousePos);
}
如果只希望对象旋转而不向上\向下查看,则保持对象在相同y值上的位置。
答案 1 :(得分:0)
尝试增加90度或45度来固定旋转。