개발 로그

[Unity] AI로 유니티 지형 생성하기

OhEasy 2025. 7. 14. 17:13
728x90

원래 하던 것과는 다른 프로젝트인데 RPG 이야기가 나왔다.

 

하이트맵 - Unity 매뉴얼

높이 매핑(패럴랙스 매핑이라고도 함)은 노멀 매핑과 개념이 유사하지만 이 기법은 더 복잡하여 더 많은 성능 저하로 이어집니다. 높이 맵은 일반적으로 노멀 맵과 함께 사용되고 종종 텍스처

docs.unity3d.com

GPT라던가 ImageFX, ComfyUI 등 여러 이미지 생성 AI를 사용하여 흑백 이미지는 제작하기 쉬운데,
하이트맵의 경우 흑백 이미지로 높낮이를 표현한 매핑 방법이다.

유니티의 터레인 또한 하이트맵을 집어넣어서 지형을 생성할 수 있기 때문에
[ AI로 하이트맵 생성 ] -> [ 유니티 터레인에 적용 ] 순서로 해볼까 한다.
넓은 하이트맵은 AI가 잘 뽑지 못하겠지만 작은 지역들을 여러개 두는 방식이라면 충분히 활용 가능할 것으로 보인다.


ImageFX

GPT로 간단하게 물어봤고, 영 별로여서 프롬프트를 얻은 뒤 구글의 Image FX로 생성을 진행해보았다.
하이트맵의 경우 검은 부분이 낮은 곳을 뜻하는데, 잘 보면 산맥에 그림자? 같이 표현 되어있다.
그리고 물줄기?인지 길인지 모르겠지만 상대적으로 흰색으로 그려졌기 때문에
산맥의 그림자는 낮게, 길은 평지보다 높게(어떤 부분은 산이랑 비슷하게) 나타날 것이다.

유니티

테스트용 유니티 프로젝트를 생성했다.

2022.3.50f1 Built -In Render Pipeline

씬에 생성 된 터레인의 경우 Raw 이미지로만 집어넣을 수 있는데

Raw 이미지로 적용

위 이미지처럼 개판으로 나온다. 그렇기 때문에 터레인 패키지를 받고 터레인 툴박스로 생성을 진행했다.

위와 같이 설정을 해주고 돌려 봤더니

생성 된 터레인

일단 매우 뾰족한 터레인이 생성이 되었다.

Scene 뷰

멀리서 보기는 좀 그럴듯 하긴 한데

산맥 그림자 부분

역시 산맥의 그림자 부분은 매우 낮은 곳으로 처리가 되어있다...
그래서 다른 방법을 시도해볼까 한다.

유니티

우선 유니티 하이트맵의 경우 513x513으로 리사이징 된다고 하니, 512x512 사이즈 제작이 좋을 것 같다.


두번째 방법은 한번에 그레이스케일 이미지를 뽑는 것이 아니라
[ 항공샷 지역 뽑기 ] -> [ 뎁스맵으로 변환 ] -> [ 유니티 임포트 ]의 방법을 사용

칼라 버전

ImageFX로 이미지를 생성해준 이미지를 뎁스맵으로 변환해야 한다.

 

Home | Artificial Studio

Home

app.artificialstudio.ai

가입 후 좌측 하단 Tools에 Image Depth Map의 경우 Free라고 하니 사용한다.

 

깊이 지도 - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. 깊이 지도(영어: depth map) 또는 깊이 맵은 3차원 컴퓨터 그래픽스에서 관찰 시점(viewpoint)으로부터 물체 표면과의 거리와 관련된 정보가 담긴 하나의 영상 또는

ko.wikipedia.org

ComfyUI 노드 중에도 뎁스맵 변환이 있으니 그걸로 뽑아낸 뒤 유니티에 적용 시키면 될 것이다.

생성 된 결과 값

나름 나쁘지 않은 것 같아 보이지만 위쪽 산맥이 잘 표현이 안된 점도 그렇긴 한데, 위쪽을 그냥 날려버렸다.
잘만 하면 좋을 것 같긴 하다.

죄측 = 그레이스케일 이미지, 중앙 = 사이트, 우측 = ComfyUI

생성형 AI이기 때문에 원본 이미지는 다르지만 결과는 다음과 같다.
그레이 스케일 이미지의 경우 굉장히 디테일해보이지만 확대해서 본다면 이동할 수 없는 공간들이다.
사이트에 비해서 컴파이가 좀 두루뭉술한 느낌이긴 한데, 이미지 생성까지 고려한다면 컴파이가 더 나을듯하다.

728x90