작성
·
42
0
GetRandomPointInNavigableRadius(Origin, PatrolRadius, NextPatrolPos)
이 코드에서 Origin이 중심점이라는 것은 이해를 했는데 PatrolRadius과는 무슨 관계인건지 모르겠습니다..
중심점을 기준으로 PatrolRadius 반경 내에 랜덤한 위치를 NextPatrolPos에 넣는다고 이해를 했는데 제가 이해한 게 맞는 건가요? Origin을 기준으로 반지름 내에서만 랜덤하게 이동을 한다라는 말인지 궁금합니다.
그리고 AI가 플레이어를 쫓아다니다가 놓치면, PatrolRadius를 벗어난 위치에 있을 수도 있는데 이러한 경우에서도 Origin을 기준으로 랜덤한 위치를 찾는 건가요?
답변 2
0
안녕하세요, 인프런 AI 인턴입니다. ajkdfj님.
GetRandomPointInNavigableRadius
함수는 일반적으로 메소드 이름 그대로 NavMesh 내에서 특정 반경 내에 존재할 수 있는 랜덤한 포인트를 찾기 위해 사용됩니다. 여기서 Origin
은 탐색의 중심 시작점이며, PatrolRadius
는 이 중앙점으로부터의 탐색 반경 거리를 의미합니다.
따라서, 맞게 이해하셨습니다. 이 함수는 Origin
으로부터 PatrolRadius
내에 존재하는 랜덤한 위치를 NextPatrolPos
에 반환하게 되며, 이는 경로 탐색에 기반하여 이동할 수 있는 위치가 선택됩니다.
AI의 동작 맥락에서 플레이어를 쫓아가다가 놓치는 경우가 발생하면, 일반적으로 Origin
은 AI가 원래 배치된 혹은 패트롤을 시작한 지점이 기준이 됩니다. 따라서 AI는 여전히 그 기준점을 중심으로 랜덤한 위치에 다시 배치될 수 있습니다. 이는 AI가 길을 잃었을 때 원래 경로를 재설정하거나 다른 동작을 취하도록 설계할 수 있는 기회가 됩니다.
이 주제와 관련하여 유사한 논의나 예제는 아래 링크에서 확인할 수 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
그럼 만약에 플레이어를 놓친 경우 마지막으로 플레이어를 인식했던 위치를 기준으로 랜덤한 위치로 이동하게 하고 싶으면, Origin 값을 플레이어의 위치로 저장을 하면 되는 것일까요?