Material Point Method in Unreal Engine 5
- 2023-1 소프트웨어융합캡스톤디자인
- Unreal Engine 5에 MPM을 이용한 물리 시뮬레이션 구현
- 대표 참고 논문 : A Moving Least Squares Material Point Method with Displacement Discontinuity and Two-Way Rigid Body Coupling (SIGGRAPH 2018)
- 결과 영상
https://www.youtube.com/watch?v=Ec28TGyPb-g
https://www.youtube.com/watch?v=VGyG2pI7KA0 - KSC 2023 제출 논문인 "UE5에서 MPM 시뮬레이션 구현과 최적화" 기반 코드
- 개발 툴 및 사용 언어
- Unreal Engine 5
- Visual Studio (C++)
- 개발 방법
- MPM pipeline
- BeginPlay
- Initialize
- Tick
- Clear Grid
- P2G
- Update Grid
- G2P
- BeginPlay
- Unreal C++
- Instanced Static Mesh Component를 이용하여 particle의 정보 update (https://docs.unrealengine.com/4.27/en-US/API/Runtime/Engine/Components/UInstancedStaticMeshComponent/)
- Chaos System의 PMatrix 타입 사용하여 matrix 연산 수행 (https://docs.unrealengine.com/5.2/en-US/API/Runtime/ChaosCore/Chaos/PMatrix_FReal_3_3/PMatrix/)
- MPM pipeline
- 파일 다운로드
- 프로젝트를 열고 Content\MY\Final 폴더 안에 존재하는 7가지의 블루프린트를 map에 배치 후 실행
- 블루프린트 이름과 설명
- _Test : no deformation 상황에서의 시뮬레이션
- _NeoHookean : hyper elastic 상황에서의 시뮬레이션
- _Fluid : fluid 시뮬레이션
- _Interaction : 두개의 물체가 상호작용하는 상황에서의 시뮬레이션
- 블루프린트 이름과 설명
- 구현된 시뮬레이션은 2D,3D 상황에서의 no deformation gradient, hyper elatsic gradient, fluid
- 구현 모습 일부
- MPM Course : The Material Point Method for Simulating Continuum Materials (SIGGRAPH 2016)
- MPM Snow : A material point method for snow simulation (SIGGRAPH 2013)
- MLS-MPM : A Moving Least Squares Material Point Method with Displacement Discontinuity and Two-Way Rigid Body Coupling (SIGGRAPH 2018)
- MPM in Unity : https://nialltl.neocities.org/articles/mpm_guide