내일배움캠프-언리얼

TIL - 83

이시보 2026. 6. 2. 21:27

ALS 캐릭터 디버깅

1. PIE 시작 직후 ensure 크래시

Ensure failed: !bUseControllerDesiredRotation && !bOrientRotationToMovement
(AlsCharacterMovementComponent.cpp:196, BeginPlay)
  • 원인: BP_SovereignCharacter의 무브먼트 컴포넌트 디폴트에 bOrientRotationToMovement = true가 BP 에셋에 저장(오버라이드)돼 있었음.
  • ALS는 회전을 매 프레임 직접 제어하므로 이 플래그들은 반드시 false여야 함. 켜져 있으면 BeginPlayensure가 트립.
  • C++ 생성자에서 false로 줘도 소용없음 → BP 저장값이 생성자 실행 이후 로드되어 덮어씀.

2. ALS 잠긴 속성을 BP에서 못 고침

  • UAlsCharacterMovementComponent::CanEditChangeRotationRate / bUseControllerDesiredRotation / bOrientRotationToMovement를 디테일 패널에서 잠금.
  • 해결: CanEditChange를 임시로 return Super::CanEditChange(Property);로 완화 → 리빌드 → BP에서 값 리셋/해제 → 저장 → 원본으로 원복 → 다시 리빌드.

3. 플러그인 콘텐츠가 콘텐츠 브라우저에 안 보임

  • 콘텐츠 브라우저 Settings → Show Plugin Content 체크.
  • ALS 에셋: 스켈레톤 SK_Als, 스켈레탈 메시 SKM_Als (Plugins/ALS-Refactored-4.16/Content/ALS/Character/).

4. ALS 2-메시 구조 (Sovereign)

  • 메인 메시 SKM_Als(스켈레톤 SK_Als): 숨김, AB_Als AnimBP 구동, 모든 몽타주가 여기서 재생.
  • VisualMesh(커스텀 스켈레톤): 보이는 메시, Retarget Pose From Mesh ABP로 메인 메시 포즈를 런타임 복사.
  • 개별 애니/몽타주를 리타겟하는 게 아니라, 런타임 포즈 리타겟이 한 번에 처리. → 몽타주는 SK_Als에 두는 게 맞음.

'내일배움캠프-언리얼' 카테고리의 다른 글

TIL - 85  (0) 2026.06.05
TIL - 84  (0) 2026.06.04
TIL - 82  (0) 2026.06.01
TIL - 81  (0) 2026.05.29
TIL - 80  (0) 2026.05.27