답변:
충돌 감지는 필요하지 않지만 적에게 약간의 지능을 부여하고 서로 충돌하지 않도록해야합니다. 그것없이 충돌 탐지는 어쨌든 적을 바보처럼 보이게 할 것입니다-사람들은 서로를 피하고 일반적으로 충돌하지 않습니다.
몇 가지 간단한 행동을 위해 "몰려"를 찾으십시오.
기본적인 아이디어는 사물이 플레이어쪽으로 향하지만 가까운 장애물 (각각 다른 벽, 그런 종류의 것)에서 멀어져 야한다는 것입니다.
일반적으로 요구하는 것은 액터 간의 동적 회피입니다. 속도 장애물을 볼 수 있습니다 : http://gamma.cs.unc.edu/RVO/
Craig Reynold의 웹 사이트 에는 조향 및 무리를 짓는 동작에 대한 참조 가 있습니다 . 그것들은 구현하기가 비교적 간단하지만 멋진 출현 행동을 일으킬 수 있습니다.
다른 모든 답변은 더 나은 결과를 생성하지만 완전한 그룹화를 피하는 가장 저렴한 (?) 방법은 원래 계산 된 이동 벡터의 25 % 인 임의의 벡터를 추가하여 객체가 일반 얼룩 그룹에서 약간 튀어 오르는 것입니다. . 그것은 서로를 완전히 분리 시키지는 않지만 달성하려는 목표에 따라 이것이 적절하다는 것을 알았습니다. 주위에 원을 그리면 개체가이 방법으로 그룹화 될 수 있지만 시간이 지남에 따라 확산되는 경향이 있습니다.
이 방법을 보여주기 위해 몇 년 전에 만든 작은 게임 렛이 있습니다 : http://deleter.phatcode.net/index.php?page=projects&p=4
사람들은 항상 좋은 결과를주기 때문에 항상 구멍을 내지 만, 구멍을 구현하는 것은 특정한 목적을 위해 과잉 일 수 있습니다. 과거에는 작은 원 내에서 대상 위치를 무작위로 지정하여 매우 좋은 결과를 얻었습니다.
예를 들어, 유니티 I 내장 데모 I에 대한 그 명령을 사용 Random.insideUnitSphere 할 몰려 puffballs을
나는 NevMeshAgent 를 적으로 사용할 때 동일한 프로브 에 직면하고 있었고 , enemeis가 서로 침투하여
gameDevAnswer 덕분에