A future that integrates LLMs and LAMs (Symposium)
이원, 절차적 지형 생성과 하이트필드의 사원, NDC2011
1. 이 세션은 지난 NDC2008 우수 세션으로 선정된
[절차적 지형 생성의 실제]를 리뉴얼한 것입니다.
2. 훨씬 쉽게 더 사실적인 배경 지형 만들기
-절차적 지형 생성의 실제-
• 소속 : 개발 3본부 M2팀
• 발표자 : 이원 (sobriety@nexon.co.kr)
절차적 지형과 하이트필드의 사원
신규개발 3본부 GTR팀 이원 / Sobriety@nexon.co.kr
rd
The Practical Terrain Building with Heightfield
Weon Lee, Game Writer in M2 Project, The 3 Development Division, NEXON
NDC2011 Session for Procedural Terrain Generation 2 #
-Designer's Intend, Detail Automated
3. 이 세션은 바로 전 시간에 진행된
[절차적 지형과 트렌드의 추적자들]에서
이어지는 내용을 담고 있습니다.
4. 이 세션은 특정 영화나 인물과
전혀 관계 없습니다
절차적 지형 생성을 실제로 시도하는 과정에서의
시행착오와 성취를 다루는 내용입니다.
15. 절차적 지형과 하이트필드의 사원
신규개발 3본부 GTR팀 이원 / Sobriety@nexon.co.kr
Weon Lee, Game Writer in M2 Project, The 3rd Development Division, NEXON
NDC2011 Session for Procedural Terrain Generation #2
16. 목차 (50분)
• 지난 줄거리
• 서론 : 도전과제
• 과제 1. 의도된 지형 만들기
• 과제 2. 디테일을 부여하기
• 결론 : 결과, 수단, 미완
17. 이 세션에서 다룰 주제
• ‚구체적 구현 방법‛
– 숲이 아니라 나무
– 사실적인 지형을 위해서
쓸 수 있는 것은 뭐든 가져다 쓴다
• 다루지 않는 주제
– 지형 이상의 존재 : 건물, 식생...
19. 도전과제
• 의도된 지형을 만든다
① 게임 디자이너가 대충 땅과 산을 그려준다
② 그대로 그럴 듯하게
자연스러운 땅과 산과 강이 만들어진다
• 디테일을 부여한다
① 게임 데이터로 쓸 수 있을 만큼의
해상도를 획득한다
② 그렇게 만들어진 데이터가
시각적인 임팩트와 자연스러움을 갖춘다
• 이 두 가지 과제를 클리어하면 OK?
32. 데이터의 기본 제원
• 밝기값은 16비트로
– 8비트 : 2^8=256
• 계단이생긴다. (QuantizationArtifact)
– 16비트 : 2^16=65536
• 4800m기준,7.3cm가기본높이 단위
• 파일 포맷은 *.raw
– 16비트 포맷 지원
– 포토샵/월드 머신에서
무리 없이 읽을 수 있는 포맷
– jpg와 달리 손실이나
경계선의 노이즈가 없다
• 해상도는 2048*2048 / 축척은 122.88km
– 월드 머신의 실질적인 한계
– 60m/px (공개용 DEM 수준)
33. 그럼 시작
• 게임 디자이너의 스케치
디렉터
이걸로 만들어보삼
– 레벨 디자인을 고려한 지형
• 지역의 분리 : 산맥/강
• 게임플레이의 무대 : 평원/길
• 지형지물의 배치
41. 산의 구성도
A : 능선 부분. 모서리가 살아있고, 눈이 덮여있다.
B : 급사면 부분. 경사 때문에 눈이 잘 쌓이지 못한다. 결을 따라 눈이 쌓이는 것이 고작.
C : 퇴적층 부분. 바위와는 다른 색(보통 밝은 색)의 쇄설물이 쌓이기 시작한다.
D : 완사면. 돌 대신 흙이 더 많고, 풀이 자라기 시작한다
62. 도전 과제 (1) : OK
• 의도된 지형을 만든다
① 게임 디자이너가 대충 땅과 산을 그려준다
② 그대로 그럴 듯하게 자연러운 땅과 산과 강이 만들어진다
다음 과제 고고
– 현재 60m/px. 디테일은 더 들어가야겠지만… 디렉터
63. 도전과제
• 의도된 지형을 만든다
① 게임 디자이너가 대충 땅과 산을 그려준다
② 그대로 그럴 듯하게
자연스러운 땅과 산과 강이 만들어진다
• 디테일을 부여한다
① 게임 데이터로 쓸 수 있을 만큼의
해상도를 획득한다
② 그렇게 만들어진 데이터가
시각적인 임팩트와 자연스러움을 갖춘다
• 이 두 가지 과제를 클리어하면 OK?
81. 뚝!
• 지형은 여러 가지 자연현상에 의해 만들어진다
• 필터 하나가 한 가지 자연현상을 모사한다고 보자
• 필터 크기를 각각 다르게 해 주자!
– 지형의 축척을 조정하면 될 것이다
– 크기가 다른 체
82. 그러나…
• GeoControl에서는 지형 축척에 따라 필터 크기를
다르게 하는 기능을 지원하지 않는다.
– 아직 베타.
• 프로그래머가 아닌 사람이
그런 걸 건드릴 수 있나?
83. 답 : 데이터 크기를 변경시키면 된다
• 필터는 픽셀 단위로 적용된다
Photoshop
• 하이트필드
GeoControl 해상도 확대
• 필터적용
Photoshop 200%
• 하이트필드
해상도 확대
GeoControl 200%
• 필터적용
하이트필드
시드 이미지
• 128*128부터
시작 …목표 해상도까지 반복
87. 그런데, 확대는 언제까지?
• 목표해상도는 1m/1px
– 월드는 60m/px : 60배 수준의 디테일!!!?
• 참고로 DEM의 경우는 30m/px가 상용 데이터.
– 20m/px 정도가 한계
• 목표해상도까지 확대와 필터 적용을 반복한다.
• 2배씩 확대할 경우 목표해상도까지
필터 최대 6회 적용 가능
– 2^6=64>60배
94. 경험에서 얻어진 결과 : 4&4
• 확대의 비율은 얼마나?
– 이상적인 확대 배율은 단계별 약 4배 정도.
– 1m/px의 해상도를 갖추기 위해서는 4단계
• 3단계 정도로도 게임 데이터로 사용하는 데 충분
구분 1단계 2단계 3단계 4단계
15.36km 256*256 1024*1024 4096*4096 16384*16384
참고 지오컨트롤 지원 최대 해상도 확대/나누기/필터 적용/병합 필요
3.84km 64*64 256*256 1024*1024 4096*4096
참고 지오컨트롤 지원 최대 해상도
• 필터의 조합은 어떻게?
– 계속 테스트 : 큰 필터->작은 필터
97. 과연 사실적일까?
• 이번엔 디자이너가 작업에 참가
br****u p**i
• 가상 스크린샷 작업
– GeoControl에서 하이트필드를 메쉬로 익스포트
– 3dMAX에서 메쉬에 텍스처링, 광원처리
– 포토샵에서 후처리
– 실제 게임 화면에서 달성 가능한 수준을 미리 확인
98.
99.
100.
101.
102. 도전과제 (2) : OK
• 디테일을 부여한다
① 게임 데이터로 쓸 수 있을 만큼의
해상도를 획득한다 : 1m/px
② 그렇게 만들어진 데이터가
시각적인 임팩트와 자연스러움을 갖춘다
“더욱 정진하삼”
디렉터