18. Mannequin Spawn 및 Lyra Animation Migrate
오늘 드디어 Cosmetics와 Mannequin Spawn에 대한 진도가 끝났습니다.
간략히 로직의 흐름을 정리해보면,
1. Experience가 활성화되는 과정에서 GameFeature인 ShooterCore가 Activating 상태로 변경되면 GameFeatureAction_AddInputConfig를 통해 InputConfig가 부착됩니다.
2. ExperienceDefinition이 소유하고 있는 Action들도 실행하게 되는데 이 부분은 블루프린트로 구현되어 있고,
여기서 AddComponent를 통해 PickRandomCharacter_CharacterParts (Controller Component)가 부착됩니다.
3. Controller Component의 BeginPlay에서 설정해 둔 Possess되는 Pawn이 변경될 때의 Delegate를 활용해서
기존 DefaultPawn에 있던 CharacterPart를 B_Hero_ShooterMannequin 쪽으로 옮겨줍니다.
4. PickRandomCharacter_CharacterParts의 BeginPlay에서 B_Manny를 SkeletalMesh로 사용하게 됩니다.
더 들어가보면 PartEntry, PartList, PartHandle 등등 자세한 내용들이 많지만 모두 포함하면 내용을 빠르게 파악하는데 있어서 어려움이 있을 거라고 생각하여 큰 흐름을 위주로 정리할 생각입니다.
2회독 때 더 쉽게 설명할 수 있는 수준이 된다면 적절한 비유나 예시를 활용해서 설명해보도록 하겠습니다.
오늘도 여전히 과정을 진행하면서 버그가 있었는데,
타이핑하며 이해하는 과정에서 발생한 오타가 버그의 원인이었습니다.
디버깅을 통해 결국엔 OwnerComponent에 nullptr이 아닌 InOwnerComponent를 넣어주며 해결이 되었습니다.
직접 타이핑하며 공부하니 약방에 감초처럼 한번씩 버그가 나오고, 그걸 디버깅하는 과정에서 한번 더 리마인드하게 되어 학습에 도움이 되는 것 같습니다.
또한 거대한 프레임워크를 공부할 때는 흐름을 놓치면 꽤나 애먹는 경험을 하기 때문에 혼자 공부하더라도 좀 더 긴장하게 되는 부분이 있습니다.
단점이라면 꽤나 시간을 잡아먹는다는 거지만요 ㅎㅎ;;
다시 돌아와서, 이외에는 Lyra에서 Mannequin Animation을 Migrate해온 부분이 있고, 추후 나갈 진도는 Weapon을 만들고, Inventory를 만든 후에 Animation을 붙이는 과정을 진행할 예정입니다.