게임 개발/[D3D_Portfolio] DirectX3D 팀 포트폴리오 작업일지

11. Prefab 기능 구현 및 맵 제작 계획 수립

헛둘이 2023. 8. 10. 22:44

Prefab 기능 구현

- Prefab는 미리 만들어놓은 오브젝트 템플릿이다.

- 이 기능은 사실 툴과 같이 개발되는게 가장 베스트이지만, 이번 프로젝트에서는 툴을 제외하고 그 시간에 다른 부분들에 시간을 투자하자는 전략을 세웠기 때문에 코드상에서 프리펩을 활용할 수 있도록 구현했다.

- 내 엔진에선 특정 오브젝트의 상태를 저장하고, 그 오브젝트를 깊은 복사를 통해 불러와서 씬에 추가하는 용도이다.

- 신경써서 작업한 부분은 모든 컴포넌트와 스크립트들에 Clone이라는 함수를 정의해서 내부적으로 얕은 복사가 일어나지 않게끔 처리해주는 부분이었다.

- 이 기능이 유용하게 쓰이는 부분은 맵에 오브젝트를 배치할 때인데, 충돌체와 화면에 그려지는 FBX를 정렬하기 위해 Transform에서 회전이나 이동값을 미세하게 조정해주어야 한다.

- 그러다보니 코드의 양이 늘어날 수 밖에 없는데, Prefab 기능을 사용해서 회전값이나 이동값을 지정해놓은 뒤 프리펩으로 저장해놓고, 깊은 복사로 복사된 오브젝트를 필요한 부분만 수정해서 재사용하면 코드의 가독성이 크게 개선될 것이다.

 

 

맵 제작 계획 수립

- 8/8(화)에 모여서 Github 협업에 관한 문제들을 해결했기 때문에 바로 작업할 수 있는 환경이 되었다. 

- 어제 맵을 어떻게 분배하고 작업할 지 회의를 통해 결정했고, 프리펩 기능을 빨리 구현한 것도 맵 작업에 바로 사용하기 위해서이다.

- 내일은 맵 작업을 하면서 구현 과정에서 보지 못한 문제점들이 있는지 파악해보는 시간을 가질 예정이다.

 

 내일 할 일

- 블렌더를 이용한 맵 수정 및 제작 진행