콘텐츠로 이동

Over Anim Component

UOverAnimComponent는 Actor에 붙여 OverAnim 에셋을 Skeletal Mesh에 설치하고, 런타임 Signal·시간·카메라 정책을 관리하는 BlueprintSpawnableComponent입니다.

기본 설정

속성 설명
Target Mesh 명시적 대상 Skeletal Mesh Component입니다. 비어 있으면 Character의 GetMesh()를 우선 찾습니다.
Deformer Asset 적용할 UOverAnimMeshDeformer 에셋입니다.
Apply On Begin Play BeginPlay에서 자동 설치합니다.
Restore Previous Mesh Deformer Clear OverAnim 때 이전 Mesh Deformer를 복구할지 정합니다.
Motion Source Actor Override 이동 속도와 Grounded 상태를 읽을 Actor를 지정합니다.
Listen For Gameplay Damage Owner의 Point/Radial Damage Delegate를 자동 구독합니다.

여러 Mesh를 가진 Actor는 Target Mesh를 명시하세요. Component가 찾은 Mesh의 Skeleton이 에셋 Target Skeleton과 다르면 설치가 실패합니다.

하나의 rendered Skeletal Mesh Component는 동시에 하나의 UOverAnimComponent만 소유할 수 있습니다. 다른 OverAnim Component가 같은 Target Mesh를 이미 제어하면 설치가 거부됩니다. 소유권은 Clear OverAnim 또는 Component 파괴 시 해제됩니다.

설치와 해제 Blueprint 노드

노드 동작
Apply OverAnim 대상 Mesh에 Deformer를 설치합니다. 이미 준비 상태라면 true를 반환합니다.
Clear OverAnim 설치, Signal/Response, 모션 상태를 해제합니다. 설정에 따라 이전 Deformer를 복원합니다.
Is OverAnim Ready 설치된 Deformer와 Instance Manager가 현재 Target Mesh에 연결되었는지 확인합니다.
Reset OverAnim Simulation 런타임 Simulation 상태를 초기화합니다.

Apply OverAnim은 필요한 Mesh, 일치하는 Skeleton, 통과한 에셋 계약과 배타적인 Target Mesh 소유권이 있어야 성공합니다. 실패한 뒤 Signal을 반복 전송해도 근본 문제가 해결되지는 않습니다.

Dynamic Bounds

설치 후 Component는 활성 Region과 Module에서 필요한 보수적 render bounds를 계산하고 Target Mesh의 Bounds Scale을 자동 조정합니다. 필요한 확장은 즉시 적용하며, 작아진 bounds는 3 frame 동안 유지한 뒤 축소합니다. OverAnim이 적용된 동안 외부에서 Bounds Scale을 변경하면 그 값을 새 기준으로 보존하고, Clear OverAnim 시 OverAnim이 마지막으로 적용한 값과 일치하는 경우에만 이전 기준값을 복원합니다.

Mesh bounds가 NaN이거나 유효한 크기가 없으면 dynamic bounds를 비활성화하고 warning을 기록합니다. 이 경우 큰 변형의 culling과 shadow 결과를 직접 확인해야 합니다.

활성화 스위치

  • Set/Get OverAnim Effects Enabled: Component 단위 마스터 스위치입니다. 끄면 Deformer를 제거하지 않고 활성 Response를 지워 Source Pose로 돌아갑니다.
  • Set/Get All OverAnim Effects Enabled: 프로세스 전체 전역 스위치입니다.
  • Are OverAnim Effects Active: 전역 스위치와 Slow Motion 억제까지 반영한 최종 활성 상태입니다.

자동 Damage 수신

Listen For Gameplay Damage를 켜면 Owner의 Point Damage와 Radial Damage를 수신합니다. Point Damage Signal Name, Radial Damage Signal Name을 비워두면 에셋의 Hit Impact Signal Name을 사용합니다. Hit · Collision · Damage는 각 Impact 입력의 데이터 계약을 설명합니다.

자세한 노드 목록은 UOverAnimComponent API를 참고하세요.