由于Transform.LookAt是使Z轴看向目标,而2D基本是由X和Y轴构成的。所以在2D的游戏中,不太好使用。
所以用代码实现一个2D的LookAt函数。
例子:
我们使怪物的眼睛一直看着云。

怪物的眼睛朝向和localX轴的朝向一致,所以使怪物看着云,即将localx指向云。
给怪物挂上脚本
脚本编写
写法一:
void Update () {
Vector2 direction = target.transform.position - transform.position;
float angle = Mathf.Atan2(direction.y, direction.x) * Mathf.Rad2Deg;
transform.rotation = Quaternion.AngleAxis(angle, Vector3.forward);
}
写法二:
void Update ()
{
Vector3 v = (target.position - transform.position).normalized;
transform.right = v;
}
随后移动云,怪物也会跟着转向。
本文介绍如何在2D游戏中实现一个LookAt函数,让角色的眼睛始终面向指定的目标。通过两种不同的Unity脚本编写方式,实现了角色的转向功能,并确保了在2D环境中角色的正确朝向。
1141

被折叠的 条评论
为什么被折叠?



