Unreal Engine을 이용하여 건물의 연소 시뮬레이션을 구현한 프로젝트입니다.
- 경희 소용 X 펄어비스 (KHUSW X Pearl Abyss) 인재양성 프로그램 3차
- 프로젝트 기간 : 2022.10.20 ~ 2023.02.02
- 프로젝트 인원 : 1인
본 프로젝트는 펄어비스(Pearl Abyss)와 경희대학교 소프트웨어융합학과의 인재 양성 프로그램에서 진행한 프로젝트입니다. 게임에서 사용할 수 있는 기술을 Unreal Engine 상에서 구현하는 과제를 진행하였으며, 건물에서의 연소 시뮬레이션인 Combustion Simulation for Buildings를 주제로 진행하였습니다.
해당 논문을 이용하여 나무에서의 연소 시뮬레이션이 건물에서 동작할 수 있도록 구조 및 알고리즘을 수정하고, Vertex 기반의 Heat Transfer에 대한 아이디어를 구축하였습니다.
위 연구를 통해 각 건물의 재질에 따라 Simulation에 영향을 미치도록 각종 Physical & Biological Attributes을 조사하였습니다.
건물에서의 열 전달을 표현하기 위해 Vertex를 기준으로 Heat Transfer Process를 수행하였습니다.
- 💡 Idea
- 어떻게 하면 건물에서의 열전달을 사실적으로 표현할 수 있을지에 대해 고민했습니다.
- 건물을 Voxel 단위, Block 단위등으로 나누거나 Procedural Building 생성을 통한 Vertex 규칙을 생성하는 등의 아이디어 끝에, "Vertex를 기준으로 열전달을 표현하면 어떨까?" 라는 생각을 하게 되었습니다.
- 위 그림과 같이 각 Vertex에서 Adjacent Vertex를 따라 Heat Transfer가 이루어지는 알고리즘을 구축하게 되었습니다.
- 열전달을 시각화하기 위해서는 Unreal Engine의 Mesh Description, Vertex Color를 사용하였습니다.
- 🎈 Result
- 열전달이 Vertex Color로 인해 시각화되기 때문에 건물에서의 불이 어떤 식으로 퍼질지에 대한 예상이 가능합니다.
- Vertex를 기준으로 Heat Transfer가 이루어지기 때문에 건물 뿐만 아니라 다양한 3D Model에 대해서도 Combustion Simulation을 적용할 수 있습니다.
- Vertex 단에서 Heat Transfer가 이루어지기 때문에 high polygon의 model들에게는 적합하지 않아 최적화가 필요합니다.
- 사용자가 직접 attribute들을 조작하여야 하기에 건물의 재질에 따른 몇 가지의 preset이 제공되어야 합니다.
- 주변 Air Temperature에도 영향을 받는다면 더 실감나는 시뮬레이션 구현이 가능할 것입니다.
- 불과 연기가 수직거리로 빠르게 퍼진다는 점을 반영하여 Heat Transfer의 각 방향으로의 가중치를 부여하여 조금 더 사실적인 표현이 필요합니다.
- 프로젝트 회고록
- Showcase Video