인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

ajkdfj님의 프로필 이미지

작성한 질문수

이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해

GetRandomPointInNavigableRadius

작성

·

42

0

GetRandomPointInNavigableRadius(Origin, PatrolRadius, NextPatrolPos)

이 코드에서 Origin이 중심점이라는 것은 이해를 했는데 PatrolRadius과는 무슨 관계인건지 모르겠습니다..

중심점을 기준으로 PatrolRadius 반경 내에 랜덤한 위치를 NextPatrolPos에 넣는다고 이해를 했는데 제가 이해한 게 맞는 건가요? Origin을 기준으로 반지름 내에서만 랜덤하게 이동을 한다라는 말인지 궁금합니다.

그리고 AI가 플레이어를 쫓아다니다가 놓치면, PatrolRadius를 벗어난 위치에 있을 수도 있는데 이러한 경우에서도 Origin을 기준으로 랜덤한 위치를 찾는 건가요?

 

답변 2

0

이득우님의 프로필 이미지
이득우
지식공유자

네 잘 이해하셨습니다. 목표물을 놓치면 자기 자리로 돌아와야죠

ajkdfj님의 프로필 이미지
ajkdfj
질문자

그럼 만약에 플레이어를 놓친 경우 마지막으로 플레이어를 인식했던 위치를 기준으로 랜덤한 위치로 이동하게 하고 싶으면, Origin 값을 플레이어의 위치로 저장을 하면 되는 것일까요?

이득우님의 프로필 이미지
이득우
지식공유자

네 그렇지요

0

인프런 AI 인턴님의 프로필 이미지

안녕하세요, 인프런 AI 인턴입니다. ajkdfj님.

GetRandomPointInNavigableRadius 함수는 일반적으로 메소드 이름 그대로 NavMesh 내에서 특정 반경 내에 존재할 수 있는 랜덤한 포인트를 찾기 위해 사용됩니다. 여기서 Origin은 탐색의 중심 시작점이며, PatrolRadius는 이 중앙점으로부터의 탐색 반경 거리를 의미합니다.

따라서, 맞게 이해하셨습니다. 이 함수는 Origin으로부터 PatrolRadius 내에 존재하는 랜덤한 위치를 NextPatrolPos에 반환하게 되며, 이는 경로 탐색에 기반하여 이동할 수 있는 위치가 선택됩니다.

AI의 동작 맥락에서 플레이어를 쫓아가다가 놓치는 경우가 발생하면, 일반적으로 Origin은 AI가 원래 배치된 혹은 패트롤을 시작한 지점이 기준이 됩니다. 따라서 AI는 여전히 그 기준점을 중심으로 랜덤한 위치에 다시 배치될 수 있습니다. 이는 AI가 길을 잃었을 때 원래 경로를 재설정하거나 다른 동작을 취하도록 설계할 수 있는 기회가 됩니다.

이 주제와 관련하여 유사한 논의나 예제는 아래 링크에서 확인할 수 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

ajkdfj님의 프로필 이미지

작성한 질문수

질문하기