老规矩,先介绍一下 Unity 的科普小知识:
有时候需要让某个物体一直指向某个游戏对象,如下图所示:
这时候有两种简单的方法:
public Transform targetPos;
void Update()
{
//第一种方法:LookAt
transform.LookAt(targetPos);
//第二种方法:方向向量
transform.forward = targetPos.position -transform.position;//正前方持续指向
//transform.up = targetPos.position -transform.position;//正上方持续指向
//transform.right = targetPos.position -transform.position;//右方持续指向
}
这两种方法效果差不多一样,但是第二种的重塑性更高,可以自由控制某一个方向持续指向。
使用第二种方法的时候,这样打出去的炮弹就可以一直指向正确的位置了,可以随意修改X、Y、Z轴,以便控制任何一个轴一直指向我们的目标位置,从而实现炮弹的正确指向方位。例如弓箭这种就非常适合。