Appearance
인공지능(AI)으로 콘텐츠를 생성하는 프로시저럴 기술(Procedural) (4)
[칼럼 핵심 요약]
프로시저 기술의 기초가 되고 있는 프랙탈 이론까지는 자연스럽게 이해했는데, 이 후에는 그 프랙탈 이론을 응용하여 자연물을 재현하는 프로시저 기술을 살펴보도록 하자.🌐 원문 링크: 人工知性でコンテンツを生成するプロシージャル技術(4) (Mynavi News)
📅 원문 발행일: 2009-12-25 | ✍️ 저자: 西川善司 (니시카와 젠지 / Zenji Nishikawa)
NOTE
💡 현대 그래픽스 관점에서의 발전사 (Modern Retrospective)
- Houdini & 노드 기반 PCG 파이프라인: 2000년대 후반 프로시저럴 알고리즘(L-System, 노이즈 기반 지형)은 현재 Houdini 엔진 및 언리얼 엔진 5의 PCG(Procedural Content Generation) 프레임워크로 체계화되었습니다.
- 신경망 생성형 AI(Neural Rendering / Generative AI): 규칙 기반 프로시저럴 알고리즘에 더해, 신경망(NeRF, 3D Gaussian Splatting, Diffusion 기반 3D 생성)을 결합하여 복잡한 환경과 3D 에셋을 실시간 생성/복원하는 시대가 열렸습니다.
📖 본문 해설
[원문 리드문] > 프로시저 기술의 기초가 되고 있는 프랙탈 이론까지는 흠뻑 이해했는데, 이 후에는 그 프랙탈 이론을 응용하여 자연물을 재현하는 프로시저 기술을 살펴보도록 하자.
프로시저럴 기술(Procedural)에 의한 산악 생성
프로시저 기술의 기초가 되고 있는 프랙탈 이론까지는 자연스럽게 이해했는데, 이 후에는 그 프랙탈 이론을 응용하여 자연물을 재현하는 프로시저 기술을 살펴보도록 하자.
우선 다루는 것은 「산악의 표현」으로, 본고에서는, 그 대표적인 2개의 메소드를 소개하자.
첫 번째는 프랙탈 브라운 운동(FBM:Fractional Brownain Motion)에서 산의 기복을 주는 방법이다.
프랙탈 브라운 운동은 브라운 운동을 파라미터 H를 도입하여 일반화·확장한 것
🔍 [인포그래픽 도해 한국어 번역: L-System 문자열 재작성과 식물 분기 알고리즘]
- 초기값 (Axiom):
(단일 줄기) - 치환 규칙 (Production Rule):
- 기호 의미:
: 선분을 앞으로 그림 (성장) +,-: 시계방향 / 반시계방향으로 지정된 각도() 회전 [: 현재 분기점 좌표와 방향을 스택에 저장 (가지치기 시작)]: 저장된 분기점으로 복귀 (가지치기 종료)- 결과: 세대(Generation)가 반복될수록 실제 나무와 동일한 프랙탈 가지 구조가 자동 형성됨
프랙탈 브라운 운동은 브라운 운동의 식을 지수 파라미터를 마련하여 확장한 것으로, 이 H를 부여하는 방식으로 브라운 운동의 궤도의 기복의 출방이 바뀌어 온다. H=1/2가 브라운 운동이고, H가 1/2보다 클 때에는 궤적의 진동이 완만하고, H가 1/2보다 작을 때에는 반대로 진동이 심한 것으로 하고 있다.
(※ 화상 클릭으로 애니메이션 GIF가 열립니다) H가 1/2보다 작기 때문에 궤적의 진동이 크다
(※화상 클릭으로 애니메이션 GIF가 열립니다) H=1/2. 이것이 브라운 운동
(※ 화상 클릭으로 애니메이션 GIF가 열립니다) H가 1/2보다 크면 궤적의 진폭은 완만하다
프랙탈 브라운 운동은 1차원 정보이므로 이를 3D 산악 지형의 기복으로 이용하기 위해서는 궁리가 필요하다.
이것의 차원 확장의 양식으로서, 자주 이용되는 것은, 미리 적당한 수의 폴리곤으로 분할한 평면 그리드의 각 버텍스에 대해, 이 프랙탈 브라운 운동의 궤적에서 변위해 주는(디스플레이스먼트·맵핑에 상당하는) 실장법이다.
이 방법으로 재현한 산악 지형의 작례를 피로하고 있는 Ken Musgrave씨의 작례를 이하에 나타낸다고 한다.
그리드로 분할 된 지형 형상을 프랙탈 브라운 운동의 궤적에서 변위시켜 3D 산으로 기복을 생성합니다.
그림
프랙탈 이론에 의한 산악 표현, 또 다른 방법은 앞서 나온 프랙탈 이론 기본편에서도 다룬 재귀 분할법을 응용한 기법이다.
이것은, 초기 형상의 폴리곤 모델을, 난수 등에 의해 적당한 변위(요철)량을 수반하여, 반복적으로 분할(실질적으로는 세분화) 해 나가는 방법이 된다. 그 결과, 요철이있는 서브 디비전 된 지표 모델을 얻을 수 있습니다.
이 그림의 예에서는 한 장의 사변형을 4개의 삼각형으로 재귀 분할해 나가는 것으로 되어 있다. 분할마다 랜덤 요철 변위를 적용하여 복잡한 지표 모델을 얻을 수 있습니다.
실재할지 어떨지는 문제로 하지 않고, 나름대로 설득력 있는 지형 장면이 필요한 경우는 게임에서는 자주 있는 것이다. 매번 맵이 바뀌어 플레이하는 것에 가치가 발견될 수 있는, 예를 들면 리얼타임 전략 게임용의 맵 생성에 적합할지도 모른다.
이러한 프로시절 기술에 의한 산악 생성에 있어서, 가장 선진적인 소프트웨어로서 인지되고 있는 것이 영국 Planetside Software사의 「Terragen」이다.
Terragen은 GUI 기반으로 조작할 수 있는 프로시저 기술을 구현한 지형(경관) 저작 툴이 되고 있다.
Terragen의 메인 화면. 현재 버전은 "2"이다. Macintosh 버전도 출시되었습니다.
실제의 지형 생성은, 펄린 노이즈 등의 산술 노이즈 등을 조합해 요철을 나타내는 텍스처 「하이트맵」을 생성해, 이것을 충분한 버텍스수를 가지는 지표 폴리곤 모델에 대해서 디스플레이스먼트·맵핑하는 것으로 실현된다. 프로시저 기술 기반이므로, 노이즈의 종류를 전환하거나, 산이나 계곡의 높이나 깊이, 그 요철의 요철 빈도 등에 관련된 파라미터를 조정함으로써 완전히 다른 지형을 생성할 수 있다.
그림
Terragen은 상용 이용의 경우는 US$199~US$299이지만, 평가 목적이나 비영리 이용의 경우는 무료로 이용할 수 있다. 무상판에서는 렌더링 해상도가 800×600 도트로 한정된다고 말한 세세한 기능 제한은 있지만, 지형 생성을 시도하는 것만으로도 충분히 즐길 수 있다. 흥미가 있는 사람은 부디, 영국 Planetside Software사의 사이트로부터 다운로드해 시험해 보자. (계속)
(트라이Z 니시카와 젠지)