3D Level Generation with Physical Property
작성자
허건호
학과 또는 소속(회사명)
소프트웨어융합학과
이메일
hkh7710@khu.ac.kr
조회수
10
평가(좋아요)수
0
댓글수
0
### 1. 프로젝트 개요
본 프로젝트는 기존 절차적 콘텐츠 생성(PCG) 기술에 물리적 타당성을 더한 레벨 생성 방법을 제안합니다. 이 프로젝트는 중력, 충돌, 에너지와 같은 물리 요소를 고려하여 레벨을 생성하고, 게임 개발 과정에서 효율성과 몰입도를 높이는 데 초점을 맞췄습니다.
### 2. 필요성 및 목표
### 2.1 필요성
1. 레벨 디자이너의 부담 감소
- 게임 내 다양한 스테이지를 디자인하기 위해서는 상당한 시간과 창의력이 필요합니다.
- 대규모 게임 프로젝트에서는 레벨 디자이너가 일일이 스테이지를 설계하기 어려운 경우가 많습니다.
2. 기존 PCG 기술의 한계
- 대부분의 PCG 연구는 타일 기반 레벨 생성(Tile-Based Level Generation)에 초점을 맞췄으며, 이는 중력이나 충돌과 같은 물리적 요소를 고려하지 못합니다.
- 물리적 요소가 중요한 레벨에서는 더 정교한 접근이 필요합니다.
3. 새로운 기술의 필요성
- 물리적 타당성을 가진 레벨을 자동으로 생성하여 디자이너가 원하는 디자인 결과물을 쉽게 얻을 수 있는 기술이 요구됩니다.
### 2.2 목표
- 중력 및 물리적 특성 반영
- 중력을 포함한 물리적 특성을 고려한 절차적 레벨 생성 시스템 구현.
- Fracture 기술 적용
- 충돌 및 파괴 시 물리적으로 설득력 있는 효과를 구현.
- 게임 제작
- 구현한 기술을 적용한 시연용 게임 제작.
### 3. 구현 방법
### 3.1 절차적 콘텐츠 생성 (PCG)
1. Sequential VAE와 Latent Variable Editing (LVE)
- Sequential VAE(Variational AutoEncoder)를 활용해 레벨 데이터를 잠재 공간(Latent Space)에 인코딩.
- LVE를 사용하여 잠재 변수의 분포를 수정, 디자이너가 원하는 결과물로 더 잘 매핑되도록 개선.
- 표준 정규분포(Standard Normal Distribution)를 사용자 정의 분포로 변환하여 특정 디자인 의도를 반영.
2. GAN 기반 개선
- Generator와 Discriminator를 활용해 레벨 생성 품질을 높임.
- Generator: 새로운 레벨을 생성.
- Discriminator: 실제 데이터와 생성된 데이터를 비교해 차이를 판별.
- 두 모델 간 경쟁적인 학습을 통해 더 자연스럽고 물리적 특성을 반영한 결과물 생성.
3. 결과물
- 디자이너가 제어할 수 있는 다양한 레벨 생성.
- 2D 데이터를 기반으로 3D 에셋을 매핑하여 설계 시간 단축.
### 3.2 Fracture 기반 물리적 타당성 부여
1. 기존 Unreal Engine Fracture Mode의 한계
- 기존 방식은 미리 쪼개진 메쉬를 사용하여 충돌 시 흩어지는 모습을 구현. 하지만 충돌 지점에 따라 물체가 실제로 깨지는 모습은 재현하지 못함.
2. Fracture 기술 구현
- 타겟 논문에서 제안된 Fracture 알고리즘을 활용하여 충돌 지점과 에너지 계산을 통해 실시간으로 물체를 분할.
- 충돌 데이터는 Unreal Engine에서 Python으로 전달되며, Python에서 계산된 결과를 Unreal로 반환.
3. 사전 계산 데이터 활용
- 부서진 형태의 데이터베이스를 미리 구성하여, 충돌 시 실시간 계산 속도를 개선.
- 빠른 응답과 물리적 타당성을 모두 만족하는 결과물 생성.
4. 결과물
- 충돌 지점에 따라 물체가 다르게 깨지는 모습 구현.
- 다양한 파괴 유형으로 물리적 설득력과 몰입도 증가.
### 4. 게임: Angry Bird: Returns
### 4.1 게임 개요
- 2D 클래식 게임를 3D 환경으로 재해석한 게임.
- 플레이어는 대포를 이용해 정해진 수의 앵그리버드를 발사하며, 구조물에 배치된 돼지를 모두 제거하면 클리어.
### 4.2 구현 내용
1. 3D 레벨 매핑
- 2D로 생성된 레벨 데이터를 CSV 포맷으로 변환.
- Unreal Engine에서 해당 데이터를 기반으로 미리 매칭된 3D 에셋을 자동 배치.
2. Fracture 및 물리 효과
- 충돌 지점에 따라 블록이 다르게 분할되도록 구현.
- 돼지 캐릭터에 Physics Asset을 적용하여 충돌 시 재미 요소 제공.
3. 게임 플레이 최적화
- 플레이어가 원하는 각도로 카메라 시점 조정 가능(정면 및 측면).
- 남은 앵그리버드 수를 UI로 표시.
### 5. 결과 및 의의
### 5.1 주요 성과
1. 디자이너 작업 시간 절약
- 자동 레벨 생성으로 디자이너의 수작업 부담을 줄임.
2. 물리적 타당성 확보
- Fracture 기술로 물리적 설득력을 갖춘 레벨과 구조물 구현.
3. 확장 가능성
- RPG, 액션, 퍼즐 등 다양한 게임 장르에 적용 가능.
- 물리 기반 상호작용을 통해 실감 나는 게임 환경 제공.
### 5.2 활용 가능성
- 게임 레벨 디자인 자동화.
- 물리 기반 시뮬레이션을 필요로 하는 교육 및 시뮬레이션 프로젝트에 응용.
본 프로젝트는 기존 절차적 콘텐츠 생성(PCG) 기술에 물리적 타당성을 더한 레벨 생성 방법을 제안합니다. 이 프로젝트는 중력, 충돌, 에너지와 같은 물리 요소를 고려하여 레벨을 생성하고, 게임 개발 과정에서 효율성과 몰입도를 높이는 데 초점을 맞췄습니다.
### 2. 필요성 및 목표
### 2.1 필요성
1. 레벨 디자이너의 부담 감소
- 게임 내 다양한 스테이지를 디자인하기 위해서는 상당한 시간과 창의력이 필요합니다.
- 대규모 게임 프로젝트에서는 레벨 디자이너가 일일이 스테이지를 설계하기 어려운 경우가 많습니다.
2. 기존 PCG 기술의 한계
- 대부분의 PCG 연구는 타일 기반 레벨 생성(Tile-Based Level Generation)에 초점을 맞췄으며, 이는 중력이나 충돌과 같은 물리적 요소를 고려하지 못합니다.
- 물리적 요소가 중요한 레벨에서는 더 정교한 접근이 필요합니다.
3. 새로운 기술의 필요성
- 물리적 타당성을 가진 레벨을 자동으로 생성하여 디자이너가 원하는 디자인 결과물을 쉽게 얻을 수 있는 기술이 요구됩니다.
### 2.2 목표
- 중력 및 물리적 특성 반영
- 중력을 포함한 물리적 특성을 고려한 절차적 레벨 생성 시스템 구현.
- Fracture 기술 적용
- 충돌 및 파괴 시 물리적으로 설득력 있는 효과를 구현.
- 게임 제작
- 구현한 기술을 적용한 시연용 게임
### 3. 구현 방법
### 3.1 절차적 콘텐츠 생성 (PCG)
1. Sequential VAE와 Latent Variable Editing (LVE)
- Sequential VAE(Variational AutoEncoder)를 활용해 레벨 데이터를 잠재 공간(Latent Space)에 인코딩.
- LVE를 사용하여 잠재 변수의 분포를 수정, 디자이너가 원하는 결과물로 더 잘 매핑되도록 개선.
- 표준 정규분포(Standard Normal Distribution)를 사용자 정의 분포로 변환하여 특정 디자인 의도를 반영.
2. GAN 기반 개선
- Generator와 Discriminator를 활용해 레벨 생성 품질을 높임.
- Generator: 새로운 레벨을 생성.
- Discriminator: 실제 데이터와 생성된 데이터를 비교해 차이를 판별.
- 두 모델 간 경쟁적인 학습을 통해 더 자연스럽고 물리적 특성을 반영한 결과물 생성.
3. 결과물
- 디자이너가 제어할 수 있는 다양한 레벨 생성.
- 2D 데이터를 기반으로 3D 에셋을 매핑하여 설계 시간 단축.
### 3.2 Fracture 기반 물리적 타당성 부여
1. 기존 Unreal Engine Fracture Mode의 한계
- 기존 방식은 미리 쪼개진 메쉬를 사용하여 충돌 시 흩어지는 모습을 구현. 하지만 충돌 지점에 따라 물체가 실제로 깨지는 모습은 재현하지 못함.
2. Fracture 기술 구현
- 타겟 논문에서 제안된 Fracture 알고리즘을 활용하여 충돌 지점과 에너지 계산을 통해 실시간으로 물체를 분할.
- 충돌 데이터는 Unreal Engine에서 Python으로 전달되며, Python에서 계산된 결과를 Unreal로 반환.
3. 사전 계산 데이터 활용
- 부서진 형태의 데이터베이스를 미리 구성하여, 충돌 시 실시간 계산 속도를 개선.
- 빠른 응답과 물리적 타당성을 모두 만족하는 결과물 생성.
4. 결과물
- 충돌 지점에 따라 물체가 다르게 깨지는 모습 구현.
- 다양한 파괴 유형으로 물리적 설득력과 몰입도 증가.
### 4. 게임: Angry Bird: Returns
### 4.1 게임 개요
- 2D 클래식 게임
- 플레이어는 대포를 이용해 정해진 수의 앵그리버드를 발사하며, 구조물에 배치된 돼지를 모두 제거하면 클리어.
### 4.2 구현 내용
1. 3D 레벨 매핑
- 2D로 생성된 레벨 데이터를 CSV 포맷으로 변환.
- Unreal Engine에서 해당 데이터를 기반으로 미리 매칭된 3D 에셋을 자동 배치.
2. Fracture 및 물리 효과
- 충돌 지점에 따라 블록이 다르게 분할되도록 구현.
- 돼지 캐릭터에 Physics Asset을 적용하여 충돌 시 재미 요소 제공.
3. 게임 플레이 최적화
- 플레이어가 원하는 각도로 카메라 시점 조정 가능(정면 및 측면).
- 남은 앵그리버드 수를 UI로 표시.
### 5. 결과 및 의의
### 5.1 주요 성과
1. 디자이너 작업 시간 절약
- 자동 레벨 생성으로 디자이너의 수작업 부담을 줄임.
2. 물리적 타당성 확보
- Fracture 기술로 물리적 설득력을 갖춘 레벨과 구조물 구현.
3. 확장 가능성
- RPG, 액션, 퍼즐 등 다양한 게임 장르에 적용 가능.
- 물리 기반 상호작용을 통해 실감 나는 게임 환경 제공.
### 5.2 활용 가능성
- 게임 레벨 디자인 자동화.
- 물리 기반 시뮬레이션을 필요로 하는 교육 및 시뮬레이션 프로젝트에 응용.
동영상 링크
3D Level Generation with Physical Property
조회수
10
평가(좋아요)수
0
댓글수
0
게시 : 2024년 11월 20일
허건호
소프트웨어융합학과
hkh7710@khu.ac.kr
3D Level Generation with Physical Property
조회수
10
평가(좋아요)수
0
댓글수
0
게시 : 2024-11-20
Member
김채연, 한세은, 허건호
Keyword
절차적 콘텐츠 생성을 통해 물리적으로 타당한 레벨 생성
- 인공지능
- 게임
- 데이터분석