Project

팀) DirectX 11 Code Vein 모작

HYuk 2022. 4. 12. 21:23
728x90

CodeVein 모작 - YouTube

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 시각화 함

[씬 카메라]

-> 카메라 이동을 함수화 하고, 선형 보간하여 자연스러운 카메라 워킹 구현

728x90