캐릭터를 어떻게 구현을 할까 고민을 많이했었습니다.
- 하나의 캐릭터에 PlayerController랑 AIController가 둘다 빙의가 가능하도록 하려면 어떻게 하면 좋을까
- 모듈러 인거랑 아닌거를 어떻게 나누어야 하는지
- 생각했던게 캐릭터 베이스 -> 모듈러 캐릭터 -> 플레이 가능한 (실제로 레벨에 올라가는) 캐릭터를 하기로 했습니다
계층 구조
- PHCharacterBase
- PHPartsCharacter
- PHPlayableCharacter : IPHAttackableInterface
- PHPartsCharacter
세부 내용 및 생각
PHCharacterBase
- 캐릭터의 기초가 되는 클래스 입니다.
PHPartsCharacter
- 파츠 별로 스켈레톤 메시를 세팅합니다(머리, 몸통, 팔, 다리)
- SetLeaderPoseComponent로 GetMesh() 하나 바꾸면 나머지 파츠도 자동으로 따라가게 만들었습니다
- 캐릭터 생성 같은거 생각하면 경로 참조로 하는게 좋아보이긴합니다
PHPlayableCharacter
- IPHAttackableInterface를 통해서 attack() 함수 구현을 강제할 생각입니다
- 카메라 설정을 합니다
- 입력 매핑을 합니다
- Action은 static으로 만들어서 CDO에서만 로드하게 만들었습니다
- SetupPlayerInputComponent은 PlayerController가 빙의할때 엔진단에서 함수를 호출하기 때문에 AIController에서 빙의해도 크게 문제가 있는 코드는 아닌거 같지만 솔직히 잘 모르겠습니다
'개발 로그 > ProjectHive' 카테고리의 다른 글
강참조 중 경로(문자열)로 받아오는거 데이터 에셋으로 받아오게 만들기 (0) | 2025.05.15 |
---|---|
사용할 에셋 찾기 (0) | 2025.04.29 |
Project-Hive : UE5로 에일리언 스웜 만들어 보기 (0) | 2025.04.29 |