Choose your operating system:
Windows
macOS
Linux
아래 그림의 Rigid Body (리짓 바디) 스켈레탈 컨트롤 노드는 하이 퍼포먼스 Immediate Mode PhysX API 를 통해 캐릭터의 경량 물리 시뮬레이션을 하는 데 쓰입니다. Rigid Body 노드는 애니메이션 블루프린트 의 애님 그래프 에 추가하고 심지어 Blend 노드 와 함께 사용하여 포즈에서 시뮬레이션 피직스 상태로 전환할 수 있습니다. 이 시뮬레이션을 사용하는 캐릭터는 월드의 스태틱 지오메트리와 콜리전 생성도 가능합니다.
Rigid Body 노드의 전형적인 사용 예는 포니테일이나 체인 등 무언가 피직스를 적용하면 좋을 "달려있는" 본에 쓰면 좋습니다.
입력 및 출력 핀
아래 표는 사용할 수 있는 입력 및 출력 핀과 핀 사용법 정의에 대한 개요입니다.
핀 |
설명 |
---|---|
External Force |
외부 힘 - 월드 스페이스에 균등 외부 힘을 가합니다. 예를 들어 컴포넌트 스페이스에서 시뮬레이션을 계속 하면서 가짜 관성 운동을 쉽게 만들 수 있습니다. |
Component Pose |
컴포넌트 포즈 - 컴포넌트 스페이스의 포즈를 받아 컴포넌트 스페이스의 포즈를 출력합니다. |
Alpha |
알파 - 스켈레탈 컨트롤의 현재 세기입니다. |
예제 RigidBody 노드 구성
이 노드를 사용하기 전, 피직스 애셋 안에서 시뮬레이션을 하고자 하는 피직스 바디 를 선택하고 Simulated 로 설정합니다.
피직스 애셋을 셋업해 둔 상태로, 애니메이션 블루프린트의 애님 그래프 안에서, Rigid Body 노드와 언제 사용할지 정의하는 데 필요한 로직을 추가합니다.
애님 그래프에서 Rigid Body 노드를 선택한 채, 디테일 패널에서 노드 사용 방식을 정의하는 프로퍼티를 변경할 수 있습니다.
프로퍼티 |
설명 |
---|---|
Override Physics Asset |
피직스 애셋 덮어쓰기 - 사용할 피직스 애셋입니다. 비워 두면, 스켈레탈 메시의 기본 피직스 애셋이 사용됩니다. |
Override World Gravity |
월드 중력 덮어쓰기 - 이 바디의 중력을 덮어쓸 벡터 값을 지정할 수 있도록 합니다. |
External Force |
외부 힘 - 월드 스페이스에서 균일한 외부의 힘을 적용합니다. 예를 들어, 컴포넌트 스페이스에서 시뮬레이션을 하면서 관성 운동을 쉽게 흉내낼 수 있습니다. |
Overlap Channel |
오버랩 채널 - 충돌 대상 스태틱 지오메트리를 찾는 데 사용할 채널입니다. |
Component Space Simulation |
컴포넌트 스페이스 시뮬레이션 - true 면 시뮬레이션은 컴포넌트 스페이스에서 일어납니다. 즉 속도가 애니메이션 바디에 의해서만 상속된다는 뜻입니다. |
Cached Bounds Scale |
캐시된 바운드 스케일 - (실제 바운드 대비) 캐시된 바운드의 스케일입니다. 이 값을 올리면 퍼포먼스가 향상될 수 있으나, 오버랩이 정상 작동하지 않을 수 있습니다. 값이 1.0 이면 사실상 캐시 바운드가 비활성화됩니다. |
(As Pin) Alpha |
(핀으로) 알파 - 알파 프로퍼티의 노드의 핀으로 또는 디테일 패널에 표시합니다. |
Alpha Scale Bias |
알파 스케일 바이어스 - 알파 프로퍼티의 최소 최대 인플루언스 값을 설정합니다. |
프로퍼티 |
설명 |
---|---|
LOD Threshold |
LOD 한계치 - 이 노드의 실행 대상이 될 수 있는 최대 레벨 오브 디테일 (LOD) 입니다. 예: LOD 한계치가 2 로 설정된 경우, LOD 2 까지만 실행되고, 컴포넌트의 LOD 가 3 이 되면 스스로 꺼집니다. |
조인트를 시뮬레이션 베이스로 사용
언리얼 엔진 4.20 부터 RigidBody 노드에 시뮬레이션 베이스로 조인트가 지원됩니다. Simulation Space 를 Base Bone Space 로 설정하고 사용할 본을 Base Bone Ref 로 선택하면 됩니다. 한 가지 참고할 점은, 전체 스켈레탈 메시를 옮기고 Base Bone (베이스 본)을 개별적으로 수정하는 것은 속도에 영향이 없습니다.
아래는 RigidBody 노드를 사용하여 무기에 할당된 베이스 본에서 시뮬레이션을 하는 예입니다.
다이내믹스 리셋
RigidBody 노드는 Reset Dynamics (다이내믹스 리셋)도 지원합니다. 사용하려면 블루프린트에서 스켈레탈 메시의 애님 인스턴스를 구하고 Reset Dynamics 함수를 호출하면 시뮬레이션이 리셋됩니다.