Project

DirectX 11 다크사이더스3 모작

HYuk 2022. 1. 24. 07:21
728x90

DX11 다크사이더스3 모작 - YouTube

 

DirectX 11 / PhysX

제작기간 : 약 2개월

제작인원 : 개인

Dark Siders3

____________________________________________________________________________

구현 내용

 

1. 플레이어

[기본 이동]

-> Navi Mesh를 이용하여, 갈 수 있는 곳과 없는 곳을 판단하여 이동하도록 구현

    갈 수 없는 곳의 경우 Sliding Vector를 이용하여 미끄러지도록 구현

-> 점프는 PhysX 중력을 이용하여 구현

    이단 점프 시, LinearVelocity를 0으로 초기화 하여 이단점프 구현

[충돌]

-> PhysX의 RigidBody를 캐릭터의 뼈에 행렬을 곱해 부착하여, onContact를 이용해 충돌체크를 구현

-> FilterCallBack을 만들어서 특정 필터의 RigidBody만 충돌할 수 있도록 구현

[Root Animation]

-> 애니메이션 재생 시, 캐릭터의 위치를 Root 기준으로 이동시켜 자연스러운 움직임 구현

[회피 기능]

-> 플레이어 주변에 큰 박스를 부착하여, 해당 박스에 몬스터 공격 콜라이더가 충돌 됐을 때에 회피를 하면, 슬로우 모션 재생

[다중 피격 박스]

-> 플레이어에 다중 피격박스를 부착하여 피격 당한 방향에 따라 다른 애니메이션을재생

[공격]

-> 머리 색을 바꿀 때 마다 다른 무기가 발동 되도록 구현

-> 회피 후 시간을 누적 계산하여 일정 시간 이내 공격 시, 특수 공격 발동

-> 무기를 휘두를 때 무기의 크기에 따라 Vertex를 Map Unmap하여, 트레일 구현

[무기]

-> 노란색 머리일때 창, 보라색 머리일때 검이 발동됨

검의 경우, 대검과 쌍검이 콤보마다 번갈아 가면서 발동됨에 따라, 무리 콜라이더 박스를 생성 삭제하여 충돌하도록 구현

[인벤토리]

-> 소비 아이템을 소지 할 수 있는 인벤토리 (체력회복 소, 중, 대)의 아이템 스왑 및 사용 기능 구현

 

2. 몬스터

[거미 및 좀비]

-> 플레이어와의 거리를 계산하여 거리에 따라 이동, 공격, 점프공격 등을 구사하도록 구현

[보스]

-> 플레이어와 거리를 비교하여 일정 이하가 되면 보스가 활성화 되도록 구현

-> 피가 절반 이하로 될 시 변신과 함께 원거리 공격 패턴 추가

 

3. 상점

[상점 NPC]

-> 해당 필드 몬스터 레이어(List)의 크기를 체크하여, 몬스터가 전부 제거시에 NPC가 리젠 되도록 구현

    리젠 시 플레이어와의 거리 체크를 통해 나타나는 모션, 들어가는 모션 재생

[카메라 이동]

-> 선형 보간을 통한 자연스러운 카메라 워킹 구현

 

4. 기타 및 이펙트

[디퍼드 렌더링]

-> 효과적인 광원 연산 및 드로우 콜을 줄이기 위해 디퍼드 렌더링 적용

[나침반 UI]

-> 카메라의 각도를 계산하여 나침반 UI 구현

[디졸브 효과]

-> 픽셀셰이딩을 통한 디졸브 효과 구현

[점 광원]

-> 플레이어 머리카락, 횃불 등에 점광원을 부착하여 발광 효과 구현

[지오메트리 셰이더]

-> 지오메트리 셰이더를 통해 이펙트, 촛불 등의 빌보드 구현

728x90