2025.05.28
오늘의 목표
분리형 구조 개선
작업 내용
- 게임모드에서 컨트롤러에 캐릭터 캐싱
배운 것
- 단일 vs 분리 => 유지
훗날을 대비해서 분리형을 유지하기로 했다.
그래서 분리형에서 문제점이 될 수 있는 현 구조를 개선해야한다.
- 플레이어 컨트롤러가 플레이어 캐릭터를 참조하는 방법
현재: TActorIterator 로 캐릭터를 찾아서 캐싱.
문제점: 캐릭터보다 컨트롤러가 먼저 생성된다면 nullptr.
개선: 2번
1. 캐릭터 쪽에서 컨트롤러 함수를 직접 호출하여 자신의 포인터를 넘긴다.
2. 게임모드에서 설정.
일반적인 경우, 게임모드에서 캐릭터를 스폰하지만, 나는 none 상태를 유지해야 하기에 각 캐릭터와 플레이어 컨트롤러가 빙의/생성된 시점에 알림을 주면, 그때 둘을 연결 시키는 방법을 사용하기로 했다.
싱글 플레이 싱글 유저이지만 이 게임의 특성상, 캐릭터는 자주 리스폰 될 것이기에 매번 연결이 보장되게끔 설계해야 한다.
이를 위해서 레벨 이동을 어떻게 처리 할지에 대해 알아봤다.
- 레벨 이동 방식
1. OpenLevel: 맵 이동 시 레벨의 거의 모든 액터는 파괴되고 새로 생성된다. => 엔딩 처리
2. Streaming Levels: 월드 하나를 여러 서브 레벨로 쪼개는 것. => 주
Persistent Level + Streaming Level
더 필요한 건 해당 부분을 구현할 때 신경 쓰자.
'프로젝트 VV 개발일지(0) > 다이어리' 카테고리의 다른 글
05.30 기존 상태수치에 체온 시스템을 어떻게 연결할까 (0) | 2025.05.31 |
---|---|
05.29 상태수치에 테스트용 ui를 달아주자 WBP (0) | 2025.05.30 |
05.27 카메라 토글, 추적 모드와 자유이동 모드 (0) | 2025.05.27 |
05.26 휴식 (0) | 2025.05.26 |
05.25 블루프린트와 인스턴스가 깨지면 변수명을 바꿔주자 (0) | 2025.05.26 |