lookat(gameObject.transform.position||new Vector3(1,1,1))
lookat的意思是使我们挂脚本的物体的z轴朝向那个点或者物体的位置
为了看朝向我们可以写一个Debug.DrawLine(transform.position,other.position,Color.cyan);更直观的看出来
LookRotation是使我们的物体朝向我们希望的方向,是朝向一个向量
car.rotation = Quaternion.LookRotation(Screen.trsansform.position - car.transform.position);
这个意思是小车在上下坡的时刻,都是时刻看着检测板的,看着检测板的向量就是检测板的位置减去小车的位置。
单看上面代码我明白是什么意思
但是看了lookrotation他们解释的定义我就不明白了
LookRotation的含义就是,计算让Z轴对齐forward,让y轴对齐upward ,也就是让x轴和upward垂直所需要的旋转四元数
public class ExampleClass : MonoBehaviour
{
public Transform target;
void Update()
{
Vector3 relativePos = target.position - transform.position;
// the second argument, upwards, defaults to Vector3.up
Quaternion rotation = Quaternion.LookRotation(relativePos, Vector3.up);
transform.rotation = rotation;
}
}
上面这段讲的是官方的定义,就是如果我们想要一个物体朝着我们想要的向量,首先我们要先确定其z轴,如果z轴不是我们想要的那个轴,我们需要给他一个父物体。