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

LEETO님의 프로필 이미지
LEETO

작성한 질문수

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진

몬스터 자동 생성

랜덤 스폰 높이

해결된 질문

작성

·

380

0

제가 맵을 바꾸면서 지형이 울퉁불퉁하게 했습니다. 

이 경우에는 다른 분이 질문한 답을 보니 Heightmap을 통해 Terrin의 높이를 추출하라고 하셨는데.. 만약 아래 이미지 처럼 저는 terrin이 아니라 언덕모양의 오브젝트를 여러개 조합하여 땅을 제작했는데 이 경우에는 어떻게 추출할 수 있을까요..

네비게이션은 해당 지형에 따라 bake 시켰습니다. 혹시 네비게이션(푸른색 지역)에 높이를 따오는 방법은 없을까요?? 
 

답변 2

0

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

답변 감사합니다!! 

원하는 지역의 랜덤 sphere로 위에서 아래로 raycast 해서 y값 구했습니다. 감사합니다!

0

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

언덕 모양도 자세히 보면 그냥 일련의 삼각형으로 이루어져 있으니
unity c# terrain export heightmap 으로 검색해서 적절하게 답을 구할 수도 있지만
질문주신 내용을 보니 정말 terrain을 깎은게 아니라
다른 오브젝트를 이용하신 것 같네요.

단일 terrain이 아닌 여러 static 오브젝트들이 영향을 주는거라면
그때부턴 문제가 많이 복잡해집니다.
말씀하신대로 nav mesh 정보를 추출해오거나

https://forum.unity.com/threads/anyway-to-get-or-export-heightmesh-of-navmesh.406920/

직접 수동으로 높이를 찍는 툴을 만들거나 (실제로 이렇게 하는 경우도 있습니다. art팀 애도)

아니면 직접 툴을 만드는 수밖에 없습니다.
직접 툴을 만든다면 위에서 아래 방향으로 raycasting을 해서
부딪치는 물체가 있는지를 계속 확인하는 식으로 만드는 것을 고려해볼 수는 있겠습니다.

어느 쪽도 쉽진 않고 R&D 기간이 오래 걸리는 일입니다.

LEETO님의 프로필 이미지
LEETO

작성한 질문수

질문하기