1. 절 차 적 지 형 과 월 드 머 신
신규개발 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-1
2. 이 세션은 특정 영화나 인물과 전혀 관계 없습니다.
절차적 지형을 만드는 데 유용한 툴을 소개하는 내용을 담고 있습니다.
7. 최신 버전 특징
• 2.2(2011년 5월 현재)
• 타일 빌딩 지원
– 거대한 월드를 타일 단위로 나눈 뒤
재조립하는 방식으로 월드 빌딩 가능
– 디테일을 위해 지오컨트롤을 사용하지 않아도 된다
• 능선/계곡 추출 디바이스 지원
– 월드 머신 사용자들의 숙원
– 이전에는 효율 낮은 매크로로 대신
• 텍스처 지원 기능 추가
– 지형의 사실성을 가늠할 수 있을 정도로
• 테라젠 정도까지는 아니다
8. 하지만…
• 메뉴가 2층이야
• 뭐가 뭔지 모르겠는 아이콘
– 하이트필드를 못 읽고 에러
– 하이트필드를 원하는 대로
가공하기 힘들다
9. 가장 큰 문제는
• 디바이스의 장벽
– 월드 머신에게 익숙해지기 힘든 가장 큰 장벽
• 디바이스만 무슨 기능을 하는지 알아도…
– 실은 매뉴얼에 나와 있다
• 설명이 부실해서 그렇지
• 그리고 영어
10. 이 세션 진행의 원칙
‘강연은 현장에서, 실습은 집에서’
• 월드 머신을 이용해 지형 리소스를 실제로 제작하고자 하는 분들이 대상입니다
– 절차적 지형 생성의 개념적인 부분은 다른 세션을 참고하세요
• 절차적지형생성에는 어떤방법이 있는가:절차적지형과트렌드의 추적자들
• 실제로 절차적지형을 생성하는 방법은 무엇인가:절차적지형과 하이트필드의사원
• 만들어진절차적지형리소스를게임에서어떻게 렌더링 하는가:절차적지형과최후의구현
• 회로 구성 요령과 디바이스의 기능에 대한 리퍼런스입니다
– 가장 어려운 부분 / 매뉴얼 설명이 부실한 부분
• 그래도150페이지나된다
– 실제 회로 구성과 지형 제작은 직접 해보셔야 합니다
• 몇가지만제외하면툴이쉬운편이라 부담은적습니다
– 이 시간에는 월드 머신의 회로 구성에 대해 기억하시는 것이 포인트
• 영어는 사용하지 않습니다
– 그렇다고 한글로 굳이 해석하진 않습니다
• 읽는 그대로 발음합니다
• I am a boy. (X) / 아이 앰 어 보이. (O)
11. 이번 시간에 다룰 내용
시작하기 전에
월드 머신 월드 머신이 가져온
작업 프로세스의 변화
기본 개념과 설치 하이트필드 가공의 예
설명 안했지만
디바이스의 이해
중요한 것 총 152페이지…
예로 배우는 디바이스
과연 50분 안에 끝낼 수 있을까?
18. 기본 화면
• 파트/커맨드 바
– 프로그램의 운용
– 디바이스의 선택
• 이름은 툴팁으로 그냥 나온다
• 툴바
디바이스 – 뷰어 환경 설정
워크뷰
툴바 • 디바이스 워크뷰
– 디바이스의 배치
• 사용자가 디바이스로 회로 구성
• 컴퓨터가 가공
• 화면으로/파일로 내보낸다
30. 디바이스의 일반적인 구성 방법
• 포트를 이용해 디바이스끼리 연결
하이트필드 • 녹색으로 시작
조작
• 청색과 보라색이 중간에 낀다
시드 이미지 풍화와 침식 – 이게사실은 대부분의회로구성이다
파일 출력
생성 퇴적효과 • 갈색이 디바이스의 후반부
– 리소스를많이사용한다
부분 선택
• 적색으로 마무리
• 이 패턴에서 거의 벗어나지 않는다
32. 연결하는 방법은?
• 포트와 포트 사이를 연결
– 아웃풋에서 나와 인풋으로
– 메인 패스가 연결되면 OK
– 필수적이진 않지만 조정하면 더 좋은 품질을 얻을 수 있는 포트가 있다
• 코디네이터 인풋, 파라미터 인풋, 세컨더리 인풋, 마스크 인풋…
• 처음 시작할 때는 신경쓰지 않아도 무방하다
코디네이트 인풋 파라미터 인풋
인풋
아웃풋
마스크 인풋
프라이머리 아웃풋
파라미터 인풋
프라이머리 인풋
프라이머리 인풋 아웃풋
세컨더리 인풋
마스크 인풋
스테이터스 램프 세컨더리 아웃풋
마스크 인풋
• 스테이터스 램프에 유의
33. 이제 디바이스 각각 기능만 알면 된다
• 주황색과 회색 디바이스는 몰라도 큰 지장 없다
– 녹색, 적색, 청색, 보라색, 갈색 : 다섯 가지에만 집중한다
38. 녹색 (2) : 레이아웃 제너레이터
• 월드 머신 2.0에서 추가된 기능
• 지형의 마름질
– 지형의 크기와 배율을 점검
– 월드 머신의 좌표계를 이해할 필요 있다
• 기본 도형의 추가
– 삼각형, 사각형, 원…
• 꼭 사용할 필요는 없다
– 포토샵 등의 이미지 툴로 대신할 수 있다
39. 레이아웃 제너레이터는 언제 쓰나?
• 월드 머신은 시드 이미지를 이용해 지형을 생성
– 대강의 약도는 직접 그려야 한다
• 간단한 기본 도형을 추가해 시드 이미지를 만들 때 사용
– 외부 그래픽 툴을 빌리지 않아도 된다
• 마스크나 길, 강의 흐름 등을 그릴 때 유용
40. 녹색 (3) : 어드밴스드 펄린
• 월드 머신 2.0에서 추가된 기능
• 펄린 노이즈의 개선판
– 기존 디바이스를 삭제하지는 않았다
• 비교적 자연스러운 디테일을 주기 때문에 노이즈 생성시 유용
41. 어드밴스드 펄린은 언제 쓰나?
• 기존의 펄린 노이즈에서는 필터의 크기와
랜덤 시드 정도가 입력 가능한 파라미터
• 여기에 펄린 노이즈로 표현하지 못했던 지형 효과 추가
42. 녹색 (4) : 콘스탄트
• 전체적으로 일정한 높이 더하기
– 얼마나 높은 바닥을 만들 것이냐는 물론 조절 가능
– ‚판판하게‛
43. 콘스탄트는 언제 쓰나?
• 하이트필드에서 특정 높이를 더하고 싶을 때
• 하이트필드에서 특정 높이를 빼고 싶을 때
44. 녹색 (5) : 그라디언트
• 그라데이션
– 하이트필드는 이미지다
• 그것도 흑백
– 그라데이션을 하이트필드로 읽게 되면 어떤 모양일까?
– 경사도는 물론 조정 가능
45. 그라디언트는 언제 쓰나?
• 하이트필드에서 특정 기울기의 경사를 줘서 더하고 싶을 때
• 하이트필드에서 특정 기울기의 경사를 줘서 빼고 싶을 때
46. 녹색 (6) : 래디얼 그라드
• 꼭 비탈만 만들 수 있는 건가?
• 구나, 원뿔이나, 종 모양 같은 것도
하이트필드로 표현할 수 있지 않을까?
47. 래디얼 그라드는 언제 쓰나?
• 특정 지점에 기하학적인 모양을 덧대고 싶을 때
• 인공적인 모양이 거슬리면
펄린 노이즈와 조합해서 쓰는 방법이 있다
– 청색 디바이스 중 컴바이너 참고
48. 녹색 (7) : 보로노이
• 난수로 점을 분포시키고, 그 점을 중심으로 등거리로 선분을 긋는다
• 이 선분으로 점이 포함된 구획을 나눈다
• 이것을 하이트필드로 표현
55. 적색 : 하이트필드 아웃풋
• 가공이 끝난 하이트필드를 파일로 저장한다
– 회로 저장과는 다르다
• 파일 인풋으로 다시 읽을 수 있다
56. 하이트필드 아웃풋 사용은 이렇게
• 회로의 끝은 언제나 파일 아웃풋
– 파일이름은 영어로
– 16비트 raw로 저장하자
• 8비트 raw는 256단계
• 32비트 raw는 43억 단계
– 월드 빌드 후 버튼으로 저장
57. 적색 : 메시 아웃풋
• 월드 머신은 절차적인 툴
– 절차적 규칙에 구애받지 않고 부분 수정이 힘들다
• 하이트필드는 2차원 이미지
– MAYA, 3DMAX와 같은 툴에서는 수정 불가
– 하이트필드를 메시로 변환하는 툴을 만들거나
따로 구매해서 사용해야 한다
• 월드 머신 2.0부터 메시 아웃풋 기능 추가, 문제 해결
– Obj 포맷으로 출력 가능
58. 메시 아웃풋 사용은 이렇게
• 3D 프로그램에서 메시 수정이나 렌더링 샷을 뽑을 때
• 셀렉터 디바이스를 이용한 마스크로
일부분만 뽑는 것도 가능
59. 적색 : 오버레이 뷰
• 형태와 색상을 각각 다른 이미지로 처리
– 형태 : 하이트필드 이미지
– 색상 : 텍스처 이미지
• 월드 머신에서 하이트필드 위에 텍스처를 씌워
확인해볼 수 있다
– 클라이언트나 별도의 툴 도움 없이 확인 가능
60. 오버레이 뷰 사용은 이렇게
• 지형 하이트필드에 이미지를 읽어와 겹친다
• 다른 어플리케이션에서 작업한 텍스처를 부분적으로 씌울 수 있다
– 월드 머신에서 마스크를 생성
• 해당 부분만텍스처를입히는 것도가능
• 해당 부분만제외하고 텍스처를입히는것도가능
• 파일 인풋에서 하이트필드가 아닌, RGB값으로 입력하는 데 주의
• 화면으로만 결과를 얻을 수 있다
– 파일 출력과는 상관 없는 디바이스
61. 적색 : 비트맵 아웃풋
• 월드 머신에서 절차적으로 만든 텍스처를 파일로 출력할 때
– 지형 뿐만 아니라 텍스처도 만들 수 있다
– 텍스처를 외부 툴에서 새로 그리는 노력을 최소화한다
62. 비트맵 아웃풋 사용은 이렇게
• 비트맵 이미지 출력
– 대부분 컬러 제네레이터와 함께 사용
– 알파 채널 지원
• 비트맵 이미지로 출력할 색상 결과와 알파를 지정할 하이트필드가 필요
• 지원 파일 포맷
– *.bmp, *.tiff, *.png
• 결과 파일의 확인
– 파일 인풋 후 오버레이 뷰 디바이스로 지형에 얹어 확인할 수 있다
100. 보라색 (1) : 셀렉트 하이트
• 하이트필드의 특정 높이값을 선택해 마스크를 만든다
– 컬러 등고선에서 색상 선택하는 셈
• 당근 출력은 2D 이미지
• 하이트 스플리터 등을 사용하는 것과 유사한 효과
– 어떤 때 셀렉트 하이트를 사용하고, 어떤 때 하이트 스플리터를 쓰는 게 좋을까?
– 해답은 다음 페이지
101. 셀렉트 하이트 사용은 이렇게
• 고도에 따른 지형 생성 법칙을 모사할 때 좋다
– 회로에서 잠깐 사용할 거라면 하이트 스플리터
– 두고두고 계속 사용할 거라면 셀렉트 하이트
• 퍼지니스지원
102. 보라색 (2) : 셀렉트 슬로프
• 일정 범위의 경사도를 선택한다
– 여전히 출력은 2D 이미지
• 스키장 코스에 주목하자
– 경사도에 따라 초급/중급/고급 구분
103. 셀렉트 슬로프 사용은 이렇게
• 침식이나 식생의 분포, 눈 쌓임, 사태 등의 표현에 매우 효과적
104. 보라색 (3) : 셀렉트 앵글
• 하이트필드의 특정 수평각도값을 선택해 마스크를 만든다
– 보라색이니까 출력은 2D 이미지
• 빛이나 바람이 한 방향에서 직선으로 영향을 끼친다고 생각하자
105. 셀렉트 앵글 사용은 이렇게
Primary
• 방향과 고도를 지정
– 고도가필요없으면0으로놓으면된다 Surface Angle
• 태양이나 바람에 의한 침식을 묘사할 때 사용하자
106. 보라색 (4) : 셀렉트 콘벡시티
• 콘벡시티 : 볼록함
• 하이트필드의 볼록한 부분을 선택할 때 사용
– 산맥의 능선을 잡아낼 때 유용
– 변형하면 계곡의 경로를 따내는 것도 된다
• 2.0에서 새로 추가된 기능
– 많은 유저들이 요구
107. 셀렉트 콘벡시티 사용은 이렇게
• 볼록한 부분은 흰색
• 평평한 부분은 회색
• 반대로 볼록한 부분은 검정색
108. 보라색 (5) : 셀렉트 컬러
• 색채를 다양한 기준으로 선택
– 컬러값, 휴(색상), 새터레이션(채도)
• 텍스처 작업 등에 유용
120. 하이트필드의 변환
• 지형 표현 리소스 지원
– 노말맵, 라이트맵
– 채널 분리 및 채널 조합
– 색상 분포
• 하이트필드 가공에 비하면 부차적
– 따로 설명하지 않는다
121. 매크로
• 복잡한 회로를 하나의 디바이스로 치환
– 회로의 디바이스별 파라미터를 사용자 임의대로 변수/상수로 정의 가능
– 입력 인터페이스 작업 가능
– 석회색과 주황색 디바이스로 만든다
• 파라미터 디바이스
• 플로우 컨트롤 디바이스
• 작업 속도에는 큰 변화 없다
• 월드 머신 포럼에서는 개발자들이 매크로를 교환/품평
• 하이트필드 가공을 할 수 있게 되면 자연스럽게 알게 된다
– 따로 설명하지 않는다
• 시간도 없어요
122. “라이트세이버 갖고 놀지 말랬지!”
Key Points without an Explanation
설명 안했지만 중요한 것
123. 그것은 바로 스케일
• 지형 크기를 정확히 맞춘다
– 파일 인풋
– 월드머신 메뉴
• 저장 해상도
– 월드머신 메뉴에서
141. 포토샵 뷰 vs 월드 머신 뷰
• 월드 머신은 사실은 그레이스케일 이미지(하이트필드)를 다루는 포토샵
– 포토샵은 절차적으로 중간 과정을 확인할 수 없어서 지형을 만들지 않는다
• 그게 여태까지 디바이스 설명을 길게 한 이유
142. Conclusion : Changes of Game Developing Process from Procedural Terrain Making
결론 : 월드 머신이 가져오는 변화
143. 월드 머신이 가져온 배경 작업의 변화
• 자연적인 디테일을 쉽게 만들 수 있다
• 지형 제작 중간 과정을 단계별로 보여줄 수 있다
• 규칙에 따라 절차적으로 제작할 수 있다
144. 자연적인 디테일을 쉽게 만들 수 있다
• 자연적인 디테일을 모사하는 데
아티스트의 노력이 거의 들지 않는다
– ‘자연’스럽게 보이는 것도 실은 매우 어려운 일
– 배경 제작에는 많은 노력이 들어간다
• 그러나 작업의 밀도를 유지하고자 하는 노력이
게임플레이 향상에 기여하는 바는 그다지 높지 않다
• 아티스트의 구도의 길
• 아티스트는 인상적인 랜드마크에만 집중
– 컨텐츠 생산성과 컨텐츠 소비속도의 새로운 대안
145. 중간 과정을 단계별로 보여줄 수 있다
• 보여주고 피드백을 받기 편하다
– 검수와 피드백을 좀 더 촘촘하게 진행할 수 있다
• 테스트-피드백의 사이클이 단축된다
– 피드백 커멘트를 받아들여 적용이 빠르다
• 커멘트대로 잘 되지 않는 문제점을 빨리 확인할 수 있다
• 디렉션이 편해진다
– 디렉터의 의도대로 접근하기 용이하다
146. 규칙에 따라 절차적으로 만들었다
• 수정 비용이 싸다
– 회로의 수정과 디바이스의 교체
– 나머지는 컴퓨터가 빌드
– 사람은 빌드 걸고 다른 업무 가능
• 자연법칙을 이해하는 사람이
그럴 듯한 지형을 만들 수 있다
– 그림을 잘 그리는가의 여부와는 상관 없다
147. 이전 지형 제작 방식과 비교
게임 게임 배경 테스트
디렉터 배경 지형
디자인 디자인 모델링 및 완성
발주 원화 모델링
피드백 피드백 피드백 재수정
• 아티스트가 컨셉 원화를 그리는 데에서 시작
– 임팩트는 있지만 레벨디자인과는 멀어진다
• 그렇다고 레벨디자인 드라이브로 한다면?
– 비주얼의 후크가 약하다
테스트
디렉터 지형 랜드마크 랜드마크
및 완성
발주 생성 원화 모델링
재수정
• 작업 단계가 줄어들고, 순서가 바뀐다
• 아티스트는 랜드마크에만 집중하면 된다
– 표현해야 하는 것의 비중을 줄인다
– 표현하고 싶은 것에 자원을 몰아줄 수 있다
148. 개발 프로세스 트렌드 : 수정비용을 싸게
• 게임 개발 규모 거대화
– 완벽한 기획에 의해 단번에 리테일로 가는 경우는 없다
• 스탭들을 거치며 의도가 곡해되거나 바이어스가 생긴다
• 중간 검수와 피드백 : 비용 증가
• 게임플레이를 다듬기 좋게
– 쾌적함과 도전의식, 흥미를 유지하는 것이 목표
– 개발 스탭들의 반복적인 컨텐츠 플레이
• 무엇이 불편한 지 알지 못한다
• 수정 노력과 효과에 대한 판단 기준이 열화된다
– 수정에 들어가는 노력을 경감, 게임플레이 폴리싱에 집중
– 게임 컨텐츠 개발 툴의 방향
• 절차적 지형 생성은 추세에 부합하는 효과적인 배경 제작 방법
– 현재 그 선두에는 월드 머신이 있다
149. 요약
• 월드 머신은 흑백 이미지를 다루는 포토샵
– 중간 단계 결과물을 보기 좋게 제공하고 편집하기 쉽다
• 파일의 경로와 이름은 영문으로
– 파일 제원에 유의 : 스케일에도 신경쓸 것.
• 회로는 최대한 간단하게 유지할 것
• 절차적 지형 제작에서 위력을 발휘한다