콘텐츠로 이동

UOverAnimComponent: 설치와 런타임 상태

헤더: OverAnimation/Runtime/OverAnimComponent.h
Blueprint 클래스: UOverAnimComponent

Details 속성

Setup

UI 이름 C++ 속성 기본값 영향 / 표시 조건
Target Skeletal Mesh TargetMesh nullptr OverAnim을 받는 USkeletalMeshComponent입니다. 비어 있으면 적용 시 Owner가 ACharacter이면 그 Character Mesh를, 아니면 Owner의 첫 유효 Skeletal Mesh Component를 찾습니다. source/retarget/cosmetic mesh가 함께 있으면 명시 지정이 필요합니다.
Motion Source Actor Override MotionSourceActorOverride nullptr 이동 속도·grounded 상태를 읽을 Actor입니다. 비어 있으면 attached Character 또는 movement-interface Actor를 탐색합니다.
OverAnim Deformer Asset DeformerAsset 비어 있음 적용할 UOverAnimMeshDeformer soft reference입니다. 대상 mesh의 Skeleton과 asset의 Target Skeleton이 같아야 합니다.
Apply on Begin Play bApplyOnBeginPlay true BeginPlay에서 ApplyOverAnim()을 호출합니다. 실패하면 error log를 남깁니다.
Restore Previous Deformer on Clear bRestorePreviousMeshDeformer true Component가 직접 mesh deformer를 교체했다면 Clear OverAnim/종료 시 이전 deformer를 복원합니다. 이전 deformer가 없거나 이 값을 끄면 mesh deformer를 해제합니다.

Runtime master switch

UI 이름 C++ 속성 기본값 영향
Master per-character switch bRuntimeEffectsEnabled true Component 단위 master switch입니다. Details에서는 읽기 전용이며 Set OverAnim Effects Enabled로 변경합니다. 끄면 deformer는 설치된 채로 active response·pending signal·impact history·motion state를 정리하고 source pose로 돌아갑니다.

설치·해제·상태 API

Blueprint 이름 C++ 선언 입력 반환 전제 조건·거부 및 상태 변화
Apply OverAnim bool ApplyOverAnim() 없음 bool 이미 ready이면 true입니다. 그렇지 않으면 Target Mesh를 해석하고 asset을 동기 로드합니다. Skeletal Mesh가 아니거나 Skeleton 불일치, asset TargetSkeleton 부재, asset contract validation 실패 또는 다른 UOverAnimComponent가 같은 Target Mesh를 소유하면 false입니다. 성공하면 mesh 소유권을 획득하고 필요한 경우 현재 mesh deformer를 보존한 뒤 OverAnim deformer, animation scope, pose snapshot source, lifecycle binding, tick prerequisite와 dynamic bounds를 설정합니다.
Clear OverAnim void ClearOverAnim() 없음 없음 animation lifecycle·pose snapshot·scope notify와 Target Mesh ownership을 해제하고, Component가 소유한 mesh deformer 및 dynamic Bounds Scale override만 복원/해제합니다. instance manager 참조, pending Signal, impact history, motion analyzer state, runtime effect 상태를 초기화합니다. 이미 해제된 상태여도 호출할 수 있습니다.
Is OverAnim Ready bool IsOverAnimReady() const 없음 bool cached instance manager가 유효하고, Target Mesh가 AppliedDeformer를 실제 component deformer로 사용하며, 그 mesh의 deformer instance가 cached manager와 같을 때만 true입니다. 상태를 바꾸지 않습니다.
Reset OverAnim Simulation bool ResetOverAnimSimulation() 없음 bool 유효한 runtime instance manager를 해석하지 못하면 false입니다. 성공 시 manager의 runtime state를 reset합니다. 이 함수는 asset을 자동 적용하지 않습니다.

Component·process master switch API

Blueprint 이름 C++ 선언 입력 반환 전제 조건·거부 및 상태 변화
Set OverAnim Effects Enabled void SetRuntimeEffectsEnabled(bool bEnabled) bEnabled: Component master switch 없음 기존 값과 다르면 즉시 runtime 상태를 동기화합니다. false는 active response를 제거하고 source pose로 반환하지만 deformer를 uninstall하지 않습니다.
Get OverAnim Effects Enabled bool GetRuntimeEffectsEnabled() const 없음 bool Component에 저장된 master switch 값만 반환합니다. global switch·slow motion·pause 억제는 반영하지 않습니다.
Are OverAnim Effects Active bool AreRuntimeEffectsActive() const 없음 bool Component switch, process global switch, slow-motion suppression, Return to Source Pose pause 조건을 합친 해석 결과입니다. 상태를 바꾸지 않습니다.
Set All OverAnim Effects Enabled static void SetGlobalRuntimeEffectsEnabled(bool bEnabled) bEnabled: process-wide master switch 없음 현재 process의 모든 OverAnim Component가 공유하는 console variable을 변경합니다. 각 Component는 다음 동기화 시 이 값을 반영합니다.
Get All OverAnim Effects Enabled static bool GetGlobalRuntimeEffectsEnabled() 없음 bool 현재 game thread의 process-wide master switch 값을 반환합니다.

C++ 전용 lifecycle 경계

C++ 선언 입력 / 반환 동작
void SetAutomaticPoseSnapshotSubmissionEnabled(bool bEnabled) bEnabled 자동 bone-transform-finalized pose snapshot 제출을 켜거나 끕니다. 켜진 상태에서 asset이 적용되어 있으면 snapshot source를 bind하고, 끄면 unbind합니다. runtime manager에는 external pose snapshot 필요 여부도 반영합니다.

GetOverAnimInstanceManager(), ResolveOverAnimInstanceManager(), HoldsAnimationScope()는 내부 manager 및 scoped Notify 구현을 노출하므로 이 사용자 API 레퍼런스의 지원 범위에서 제외합니다.