개인 프로젝트를 위한 이름과 폴더 관리
폴더를 어떻게 관리해야 하는지에 따라 속터지겠지만, 한번 만들면 절대로 옮기지 않는다는 마음가짐으로 만들어야 합니다.
플러그인 이름관리
- 접두사로 Horror를 이용합니다.
- 접미사 Editor는 테스트와 같이, Editor에서만 존재해야 하는 코드 및 애셋이 존재합니다.
모듈과 플러그인의 결정은, 컨텐츠의 분할을 기준으로 생각합니다. 다만, 옮기면 MODULE_API를 전체적으로 고쳐야하므로, 바꾸지 않는 것을 전제로 만들어야 합니다…
- Moduel을 바꾸면 모든 애셋이 깨집니다.
플러그인끼리 종속성이 발생하면, 로드해야되는 목록에 추가해야 합니다.
CPP 폴더 관리
- 플러그인또는 엔진 컨텐츠 단위로
- Responsibility(책임) + Class(주요 부모 클래스)의 이름으로 정리합니다.
- 접두사를 이용해 클래스를 분류합니다.
- 책임으로 인해 위치가 복잡해진 경우, Class별로 묶은 폴더를 이용합니다.
블루프린트 폴더 관리
- 플러그인또는 프로젝트의 컨텐츠 단위로
- 1층으로 구성된,
- 클래스 타입으로 분류합니다.
- 블루프린트 클래스 상속은 애셋 확장으로 이용합니다.
- Category, ParentClass등 검색옵션으로 찾습니다.
- 목적또는 역활은 무엇이다에 비해 자주 변경됩니다.
- 따라서 상속 받은 하위 폴더별 구성은 이용하지 않습니다.
- 접미사를 이용하여 핵심적인 부모클래스로 분류합니다.
- 캐릭터의 애니메이션과 머티리얼은 접두사를 이용하여 분리합니다.
- 서로 강하게 결합되어 있고, 몇개 안되는 경우, 하위 폴더로 분류합니다.
- 클래스를 나타내므로 복수표현은 하지 않습니다.
폴더별로 분류되어 있기는 하지만, 이름만 가지고 책임을 모를때가 많기 때문입니다.
서로 강하게 결합되어 있고, 몇개 안되는 경우, 하위 폴더로 분류하는 이유는, 만들다가 개수가 많아질 경우, 옮겨야 하지만 이경우 이름을 변경해야 하기 때문입니다.
월드 아웃라이너 관리
- 레벨로 분류합니다.
- 보다 세부적인 분류가 필요한 경우 공간을 기준으로 폴더를 분류합니다.
C++ 클래스 이름 변경
- 부모 클래스를 원하는 디폴트 클래스로 변경
- C++ 이름바꾸기로 변경
- 부모 클래스 변경된 클래스로 변경
- 기본 클래스로 변경되는 클래스가 있지만, 아닐 경우, 위의 방법을 따라야 합니다.
다른 프로젝트로 이동
- 임시 프로젝트를 만듭니다.
- 애셋을 임시 프로젝트로 이주(Migrate)합니다.
- 이름 및 폴더를 목적지에 맞게 수정합니다.
- 목적지로 애셋을 이주시킵니다.
- 이동시킬 때, 해당 프로젝트에 맞게 폴더를 다시 관리