DirectX 11 3D
제작 기간 : 22.02.03 ~ 22.04.08 (약 2개월)
제작 인원 : 6명
역할 : 팀장, 프레임워크, PhysX
전반적인 프레임워크 작성 및 외부라이브러리 (FMOD, PhysX, NvCloth 등) 연결
코드베인 (Code Vein)
____________________________________________________________________________
나의 구현 내용
1. 프레임워크
[디자인 패턴]
Component Pattern, Prototype Pattern, Singleton Pattern 등의 디자인패턴을 활용하여 프레임워크 구현
[Fixed Tick & CollisionCallback]
-> 물리 계산(PhysX) 및 충돌을 한데 모아 과부하를 방지하고, 피직스 가이드라인에 맞게 고정시간으로 시뮬레이션하게 함
2. 외부 라이브러리
[PhysX]
충돌 (Rigid Body)
-> 기본적으로 PhysX 충돌 및 필터를 적용하여, 필터에 따른 객체 충돌 구현
-> 물리 시뮬레이션과 동기화 시 Active Actor 만을 업데이트하여 최적화
지면 충돌 (Triangle Mesh)
-> 지형의 Mesh를 PhysX Cooking 하여 관리하고, 지형을 자연스럽게 탈 수 있도록 구현
Charater Controller (CCT)
-> CCT를 이용하여 지면판정, 이동 가능 기울기, 높이 등의 구현에 용이하도록 하였음
[NvCloth 1.6]
-> NvCloth를 이용하여, 자연스러운 천 움직임 구현
[FMOD]
-> 각 스테이지에 필요한 사운드에 맞게 로딩하도록 구현
-> 빈 채널을 찾아서 자동 재생 할 수 있도록 함수 구현
3. 최적화
[Thread Pool]
-> 쓰레드풀을 구성하여, 로딩 효율 증대
-> 스테이지가 만들어 지는 동안에도 자연스러운 씬 전환(로딩이 멈추는 현상을 방지)을 하기 위해 추가 쓰레드 구성
[절두체 컬링]
-> 절두체 컬링을 이용하여 렌더콜을 줄여 최적화
4. 기타 기능
[타겟 UI]
-> 3D에 위치하는 객체를 2D상의 좌표로 올려서 해당위치에 타겟 UI를 위치하게 하였고, 카메라와 거리에 따라 크기 조정 하여, 3d 시각화 함
[씬 카메라]
-> 카메라 이동을 함수화 하고, 선형 보간하여 자연스러운 카메라 워킹 구현
'Project' 카테고리의 다른 글
DirectX 11 다크사이더스3 모작 (0) | 2022.01.24 |
---|---|
팀) DirectX 9(Software Rendering) 카트라이더 모작 (1) | 2021.10.27 |
DirectX 2D 케이던스 오브 하이랄 모작 (1) | 2021.09.01 |
Windows API 리스타 모작 (0) | 2021.06.30 |