对象看目标方向?

如何让对象看自己的目标而不是目标?

public Transform target; void Update() { transform.LookAt(target); float step = 2 * Time.deltaTime; transform.position = Vector3.MoveTowards(transform.position, target.position, step); } 

如果你想让一个物体看起来与另一个物体的视线方向平行,你可以简单地把它转换成相同的旋转:

 this.transform.rotation = target.transform.rotation; 

但是如果你想要一个对象去看另一个对象正在看的东西 ,你首先需要弄清楚另外一个对象在哪里,因为方向会根据它是否在另一个对象的前面地平线。

一种select是从另一个物体上进行光线投射 ,以find视线被破坏的点,然后使用LookAt作为该点。

 RaycastHit hit; if (Physics.Raycast(target.transform.position, target.transform.rotation.eulerAngles, out hit)) { this.transform.LookAt(hit.point); } 

请注意,Physics.Raycast只能被具有碰撞体的对象破坏。