查找游戏对象与另一个游戏对象的角度
本文关键字:游戏 对象 查找 另一个 | 更新日期: 2023-09-27 18:31:28
我有两个对象,一个是玩家,另一个是敌人。我需要知道敌人是否背对着玩家。玩家面对的方向对我来说没有区别。任何帮助将不胜感激。
// Both variables set in the inspector
public GameObject theEnemy;
public GameObject thePlayer;
void Update () {
}
基本上你要
做的是找到两个向量之间的角度:
Vector3 enemyLookDirection = enemy.transform.forward;
Vector3 playerRelativeDirection =
(player.transform.position - enemy.transform.position).normalized;
float angle = Vector3.Angle(enemyLookDirection, playerRelativeDirection);
float enemyFov = 45.0f; // Biggest angle that enemy can see from the center of view
if (angle < enemyFov)
EnemyCanSeePlayer();
P.S. 而不是使用 transform.position,你可能想计算玩家和敌人眼睛的位置。