프로그래밍/DirectX

DirectX 3D 팀 포트폴리오 1

hscho00 2021. 1. 18. 16:44

youtu.be/xKqkIkJBDwM

 

 

아오오니 3D

 

* 작업기간 : 6주

* 작업인원 : 프로그래머 3명

* 작업환경 : C++, DirectX, Visual Studio 2019

* 버전관리 : Git + GitHub Extension for Visual Studio 

github.com/hscho00/111A_SR_Team1

 

hscho00/111A_SR_Team1

JUSIN 111A SR Team 1. Contribute to hscho00/111A_SR_Team1 development by creating an account on GitHub.

github.com

* 일정관리 : 구글 스프레드시트를 공유해 각자 작업 현황 기록, 작업율 공정표, 아이디어 정리

 

* 작업내용

 

- 프레임워크

Management > Scene > Layer > GameObject > Component

프로토타입 패턴 : GameObject들의 원형을 unordered_map에 저장, 실제 사용할 때는 Layer의 vector에 Clone해서 사용

컴포넌트 기반 : VIBuffer, Transform, Texture, Collider

레퍼런스 카운팅흉내

엔진 부분을 DLL로 뽑아 클라이언트와 분리

 

- 충돌

플레이어-큐브형 오브젝트는 AABB 충돌, 그 외는 구 충돌

 

- 지형 태우기

지형의 로컬 스페이스 버텍스들을 따로 저장하고,

지형을 태울 오브젝트들의 위치에 지형의 월드행렬의 역행렬을 곱해 지형 상 어느 위치에 있는지 찾아서 y값을 보정

 

- 조명

버텍스에 Normal 추가, 장치가 제공하는 조명(Point) 사용

 

- 이벤트 제어

진행 상황에 따라 이벤트 변수(정수값) 증가

정수값에 따라 오브젝트들 상태나 띄워야할 UI 대사들을 결정

 


 

n년전에 svn 쓰다가 (네이버 개발자센터 있었던 시절...)

배워야지 벼르고 있던 Git을 써 봐서 좋았다

 

코로나로 온라인수업 + 재택 + 방학 겹쳐져서

팀원들과 많이 못 만나고 나 자신도 나태해지고...

게임 컨텐츠를 기획한 것보다 못 만든게 아쉬웠다