시뮬레이션 부모가 있는 키네마틱 바디 사용법

시뮬레이션 부모가 있는 키네마틱 피직스 바디를 구성하는 방법을 안내합니다.

Choose your operating system:

Windows

macOS

Linux

피직스 에셋 에디터 에는 시뮬레이션 부모가 있는 키네마틱 피직스 바디를 만드는 기능을 포함해서, 피직스 바디 시뮬레이션을 위한 여러가지 다양한 방법이 제공됩니다. 자손 바디는 애니메이션 데이터로, 부모 바디는 피직스 시뮬레이션 데이터로 구동시키는 구성이 가능합니다. 매달린 상태의 대기 또는 이동 애니메이션을 재생하는 도중 물리 기반 반응을 내도록 하려는 캐릭터가 있는 경우 좋습니다.

여기서는 시뮬레이션 바디가 있는 키네마틱 바디를 사용하여 턱에 걸린 상태에서도 나머지 바디는 물리 시뮬레이션이 적용되는 캐릭터 효과를 만들어 보도록 하겠습니다.

We use kinematic bodies with simulated parents to generate the effect of a character hanging from a ledge while the rest of the body is simulated with physics

단계

여기서는 블루프린트 삼인칭 템플릿 프로젝트에 시작용 콘텐츠 를 포함시켜 사용하고 있습니다.

  1. 프로젝트의 Content/Mannequin/Character/Mesh 폴더에서 SK_Mannequin_PhysicsAsset 을 엽니다.

    Open the SKMannequinPhysicsAsset

  2. 스켈레톤 트리 창에서 hand_lhand_r 바디를 선택한 다음 디테일 패널에서 Physics TypeKinematic 으로 변경합니다.

    Change the Physics Type to Kinematic

    이 본을 키네마틱으로 설정하면, 피직스 시뮬레이션이 아닌 애니메이션 데이터를 따릅니다.

    또는, 계층구조 목록에서 본을 우클릭하고 컨텍스트 메뉴에서 Physics Type 을 펼친 다음 Body Physics Type(바디 피직스 타입)키네마틱 으로 설정할 수 있습니다.

    이 옵션은 현재 본 아래 자손 바디의 Physics Type 프로퍼티를 설정해 줍니다.

  3. 뷰포트 빈 공간에 클릭하여 모든 본 선택을 해제한 뒤, 디테일 패널에서 Physics Update Mode (피직스 업데이트 모드)를 Component Transform is Kinematic (컴포넌트 트랜스폼은 키네마틱)으로 설정합니다.

    Change the Physics Update Mode to Component Transform is Kinematic

    이 옵션은 루트 바디의 시뮬레이션이 컴포넌트 트랜스폼을 업데이트할지 키네마틱인지 결정합니다.

  4. 툴바에서 화살표 아이콘 아래에 있는 드롭다운 메뉴를 열고 시뮬레이트 버튼을 클릭합니다.

    Select Simulate

    뷰포트의 캐릭터가 주저앉으면서 손으로 매달린 듯이 보일 것입니다.

    he character in the viewport will slump over and appear to be hanging by their hands

  5. 툴바에서, 애니메이션 드롭다운 메뉴를 연 다음 ThirdPersonJump_Loop 애니메이션을 선택합니다.

    Select the ThirdPersonJumpLoop animation

    손은 키네마틱으로 설정되어 있으므로 ThirdPersonJump_Loop 모션에 들어있는 애니메이션 데이터를 따를 것입니다.

    The hands will follow the animation data contained within the ThirdPersonJumpLoop motion

  6. 메인 에디터 창에서 SK_Mannequin_PhysicsAsset 을 끌어 레벨에 놓고, 디테일 패널에서 Physics Transform Update Mode (피직스 트랜스폼 업데이트 모드)를 Component Transform is Kinematic (컴포넌트 트랜스폼은 키네마틱)으로 설정합니다.

    Set Physics Transform Update Mode to Component Transform is Kinematic

  7. SkeletalMeshComponent 를 선택한 뒤, Animation Mode (애니메이션 모드)를 Use Animation Asset (애니메이션 애셋 사용)으로, Anim to Play (재생할 애님)을 ThirdPersonJump_Loop 로 설정합니다.

    Change Animation Mode to Use Animation Asset and Anim to Play to ThirdPersonJumpLoop

  8. 툴바의 플레이 를 클릭하여 에디터에서 플레이합니다.

최종 결과

아래는 턱 근처에 캐릭터를 배치해 두고 달려가 부딛히면 물리 반응을 하면서 손이 살짝 수정되는 것을 볼 수 있습니다.

위에 사용한 애니메이션이 이상적이지 않은 반면, 같은 개념을 턱에 매달려 이동하는 캐릭터 애니메이션에 적용한 것이 아래입니다.

팔과 머리는 키네마틱으로(아래 금색 박스 부분) 설정된 반면, 나머지는 시뮬레이션이 적용됩니다.

The arms and head are set to Kinematic while the rest is being simulated