由于Transform.LookAt是使Z轴看向目标,而2D基本是由X和Y轴构成的。所以在2D的游戏中,不太好使用。

所以用代码实现一个2D的LookAt函数。

 

例子:

我们使怪物的眼睛一直看着云。

Unity 在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;
	}

 

随后移动云,怪物也会跟着转向。

相关文章:

  • 2022-12-23
  • 2021-07-09
  • 2021-05-28
  • 2021-09-25
  • 2021-11-07
  • 2021-04-27
  • 2021-12-27
  • 2021-12-12
猜你喜欢
  • 2022-12-23
  • 2021-10-04
  • 2021-07-02
  • 2021-07-19
  • 2021-07-01
  • 2022-12-23
  • 2021-03-31
相关资源
相似解决方案