我正在尝试制作一个脚本,只有当玩家摄像机可以看到敌人并且玩家按下空格键时,敌人才会追逐玩家。我一直在尝试使用 render.isVisible 但遇到了两个主要问题。 1) 即使敌人在场景视图中可见,也启用了 isVisible,从而无法进行测试。并且 2) isVisible 在墙壁上起作用,所以如果玩家正在看墙壁而敌人在它后面,它仍然会像 isVisable 一样重生。请帮助我失去理智哈哈。谢谢!
public NavMeshAgent enemy;
public Transform player;
Renderer m_Renderer;
private void Start()
{
m_Renderer = GetComponent<Renderer>();
}
private void OnBecomeInvisible()
{
enabled = false;
}
void OnBecameVisible()
{
enabled = true;
if (Input.GetKey(KeyCode.Space) && m_Renderer.isVisible)
{
Debug.Log("is visible");
enemy.SetDestination(player.position);
}
}
private void Update()
{
OnBecameVisible();
}
I'm honestly not sure what to try, thank you so much for any help!