11. Prefab 기능 구현 및 맵 제작 계획 수립
Prefab 기능 구현
- Prefab는 미리 만들어놓은 오브젝트 템플릿이다.
- 이 기능은 사실 툴과 같이 개발되는게 가장 베스트이지만, 이번 프로젝트에서는 툴을 제외하고 그 시간에 다른 부분들에 시간을 투자하자는 전략을 세웠기 때문에 코드상에서 프리펩을 활용할 수 있도록 구현했다.
- 내 엔진에선 특정 오브젝트의 상태를 저장하고, 그 오브젝트를 깊은 복사를 통해 불러와서 씬에 추가하는 용도이다.
- 신경써서 작업한 부분은 모든 컴포넌트와 스크립트들에 Clone이라는 함수를 정의해서 내부적으로 얕은 복사가 일어나지 않게끔 처리해주는 부분이었다.
- 이 기능이 유용하게 쓰이는 부분은 맵에 오브젝트를 배치할 때인데, 충돌체와 화면에 그려지는 FBX를 정렬하기 위해 Transform에서 회전이나 이동값을 미세하게 조정해주어야 한다.
- 그러다보니 코드의 양이 늘어날 수 밖에 없는데, Prefab 기능을 사용해서 회전값이나 이동값을 지정해놓은 뒤 프리펩으로 저장해놓고, 깊은 복사로 복사된 오브젝트를 필요한 부분만 수정해서 재사용하면 코드의 가독성이 크게 개선될 것이다.
맵 제작 계획 수립
- 8/8(화)에 모여서 Github 협업에 관한 문제들을 해결했기 때문에 바로 작업할 수 있는 환경이 되었다.
- 어제 맵을 어떻게 분배하고 작업할 지 회의를 통해 결정했고, 프리펩 기능을 빨리 구현한 것도 맵 작업에 바로 사용하기 위해서이다.
- 내일은 맵 작업을 하면서 구현 과정에서 보지 못한 문제점들이 있는지 파악해보는 시간을 가질 예정이다.
내일 할 일
- 블렌더를 이용한 맵 수정 및 제작 진행