RigidBody AnimNode
AnimGraph에서 경량 물리 시뮬레이션을 실행하는 AnimNode_RigidBody
RigidBody AnimNode란
AnimGraph 내부의 물리 시뮬레이션
AnimNode_RigidBody는 Animation Blueprint의 AnimGraph 내에서 직접 물리 시뮬레이션을 실행하는 노드입니다. 전체 래그돌과 달리, AnimGraph 파이프라인 안에서 경량 물리를 수행하므로 더 세밀한 제어가 가능합니다.
| 비교 항목 | SetSimulatePhysics | RigidBody AnimNode |
|---|---|---|
| 실행 위치 | Physics Thread | AnimGraph (Game Thread) |
| 블렌딩 | Physics Blend Weight | AnimGraph Alpha 블렌딩 |
| 충돌 | 월드와 완전 충돌 | 월드 충돌 옵션 선택 |
| 성능 | Physics Thread 비용 | AnimGraph 비용 |
| 제어 | 컴포넌트 단위 | 애니메이션 레이어 단위 |
| 용도 | 래그돌, 물리 상호작용 | 이차 운동, 장식, 반동 |
머리카락/포니테일 흔들림, 무기 장식/매달린 오브젝트, 가슴 물리, 꼬리 시뮬레이션, 총기 반동 시 부착물 흔들림 등 이차 운동(Secondary Motion)에 최적입니다.
AnimGraph 설정
RigidBody 노드 배치와 핵심 파라미터
- 1단계 — Animation Blueprint의 AnimGraph에서
Rigid Body노드 추가. - 2단계 — 입력 포즈(Pose)를 연결 (기본 애니메이션 출력).
- 3단계 —
Override Physics Asset에 시뮬레이션용 Physics Asset 지정. - 4단계 — Simulation Space, Alpha 등 파라미터 설정.
| 파라미터 | 설명 | 기본값 |
|---|---|---|
Override Physics Asset | 시뮬레이션에 사용할 Physics Asset | Skeletal Mesh 기본 PA |
Simulation Space | 시뮬레이션 좌표 공간 | Component Space |
Alpha | 블렌드 가중치 (0~1) | 1.0 |
External Force | 외부 힘 벡터 | (0,0,0) |
Overlap Channel | 월드 충돌 검사 채널 | Static |
bEnableWorldGeometry | 월드 충돌 활성화 | false |
bComponentSpaceSimulation | 컴포넌트 공간 시뮬레이션 | true |
Simulation Space
World vs Component vs Bone 공간의 차이
| Simulation Space | 동작 | 적합한 사용 |
|---|---|---|
| World Space | 월드 좌표에서 시뮬레이션. 중력이 항상 아래로. | 머리카락, 매달린 오브젝트 |
| Component Space | 컴포넌트 좌표에서 시뮬레이션. 캐릭터 회전에 따라 중력 방향 변경. | 캐릭터 부착물, 무기 장식 |
| Root Bone Space | 루트 본 기준. Component Space와 유사하지만 루트 모션 포함. | 루트 모션 사용 시 |
| Base Bone Space | 지정 본 기준 시뮬레이션. | 특정 관절 기준 흔들림 |
대부분의 이차 운동(머리카락, 장식)에는 World Space가 가장 자연스럽습니다. 캐릭터가 회전해도 중력은 항상 아래로 작용하여 현실적인 결과를 줍니다. Component Space는 우주선 내부 등 특수한 상황에서 사용합니다.
전용 Physics Asset 최적화
RigidBody 노드 전용 경량 Physics Asset
RigidBody AnimNode에는 전용 경량 Physics Asset을 사용하는 것이 좋습니다. 전체 래그돌용 Physics Asset은 너무 많은 바디를 포함하여 성능에 영향을 줍니다.
- 필요한 본만 포함 — 시뮬레이션할 체인(포니테일, 장식 등)의 본만 포함합니다.
- 단순한 형상 — Capsule 또는 Sphere만 사용. Convex Hull은 불필요합니다.
- 적절한 Constraint — 체인의 각 관절에 제한 범위를 설정합니다.
- 3~8개 바디 — 체인당 3~8개의 바디가 성능과 품질의 균형입니다.
RigidBody AnimNode는 경량 시뮬레이션이므로, 복잡한 물리 상호작용(다른 물리 객체와 충돌, 파괴 등)에는 적합하지 않습니다. 월드 충돌은 선택적으로 활성화할 수 있지만, 성능 비용이 증가합니다.
핵심 요약
- AnimNode_RigidBody는 AnimGraph 내에서 경량 물리를 실행하여 이차 운동을 구현합니다.
- 전체 래그돌과 달리 AnimGraph 파이프라인에서 동작하므로 세밀한 블렌딩이 가능합니다.
- Simulation Space는 대부분 World Space가 자연스럽습니다.
- 전용 경량 Physics Asset(3~8개 바디)을 사용하여 성능을 최적화합니다.
- 머리카락, 무기 장식, 꼬리, 반동 등 이차 운동에 최적인 솔루션입니다.
도전 과제
배운 내용을 직접 실습해보세요
Animation Blueprint에서 RigidBody 노드를 추가하고, 캐릭터의 꼬리, 헤어, 장식 체인에 적용하세요. Physics Blend Weight를 조정하여 자연스러운 2차 모션을 만드세요.
External Force, World Space Simulation, Overlap Channel 등 주요 파라미터를 변경하며 결과를 비교하세요. 빠른 움직임에서도 안정적인 시뮬레이션을 유지하는 최적 파라미터를 찾으세요.
RigidBody AnimNode 전용 경량 Physics Asset을 별도로 제작하세요. 부가 요소(귀걸이, 벨트, 스카프)만을 위한 Physics Asset을 만들고, LOD에 따라 시뮬레이션 범위를 자동 조절하세요.