피직스 컨스트레인트 프로파일 적용 방법

여기서는 스켈레탈 메시 컴포넌트에 피직스 컨스트레인트 프로파일을 적용하는 법을 보여드립니다.

Choose your operating system:

Windows

macOS

Linux

추가 참고
필요한 사전지식

이 페이지의 콘텐츠를 이해하고 활용하기 위해 다음 주제를 숙지해 주세요.

여기서는 스켈레탈 메시 컴포넌트컨스트레인트 프로파일 을 켜는 단순한 그래프를 만드는 법을 단계별로 살펴봅니다.

단계

  1. 스켈레탈 메시 컴포넌트 포함 블루프린트를 열거나 만듭니다.

    • 블루프린트에 스켈레탈 메시 컴포넌트 가 없는 경우, 컴포넌트 패널 에서 하나 추가하면 됩니다.

    ![](addSkelMeshComp.png)

  2. 스켈레탈 메시 컴포넌트 콜리전 세팅을 조절합니다.

    • 콜리전 프리셋을 변경하여 스켈레탈 메시 컴포넌트Collision Enabled (콜리전 켜짐)이 되도록, 캡슐 (또는 기타 지오메트리)가 존재하는 경우 콜리전 세팅이 호환되는지 확인하세요. 예를 들어 캡슐로는 콜리전을 무시하도록 하세요:

      ![](making-interactive-experiences/Physics/physics-asset-editor/tutorials\ApplyPhysicalAnimationProfile\collisionSettings.png)

      Object Type (오브젝트 유형)이 으로 설정되어 있으며, 콜리전 채널에서 무시하는 것이 보입니다. 그러면 스켈레탈 메시 자체가 콜리전 캡슐에 밀려나는 문제가 해결됩니다. 하지만 스켈레탈 메시 가 다른 과 충돌하도록 하려면, 자기 스켈레탈 메시오브젝트 유형 을 조절한 뒤, 그 오브젝트 유형캡슐 이 상호작용하는 방식을 변경해 주면 됩니다. 커스텀 콜리전 채널 생성 관련 상세 정보는 프로젝트에 커스텀 오브젝트 유형 추가 문서를 참고하세요.

  3. 블루프린트의 컴포넌트 패널 을 통해 Physical Animation Component 를 추가합니다.

    ![](addPhysAnimComp.png)

  4. Name 변수를 추가하고 Bone Name 이라 합니다.

    ![](variableName.png)

  5. Bone Name 변수 값을 설정할 수 있도록 컴파일합니다.

    compile.png

  6. Bone Name 기본값을 원하는 타깃 으로 변경합니다. 이 경우 spine_01 입니다.

    ![](boneName.png)

  7. 이벤트 그래프 로 전환합니다.

  8. Event BeginPlay 이벤트 노드를 찾거나 생성합니다.

    ![](eventBP.png)

  9. 스켈레탈 메시 컴포넌트 로의 레퍼런스를 추가합니다.

    ![](addSKMPref.png)

  10. 스켈레탈 메시 컴포넌트 의 파랑 핀을 끌어놓고 Set Constraint 를 검색합니다.

    createSetAll.png

  11. Set Constraint Profile for All 노드를 추가합니다.

    • Target (타깃)은 스켈레탈 메시 컴포넌트 입니다.

    • Profile Name (프로파일 이름)은 피직스 애셋 툴 에서 생성한 (또는 생성할) 컨스트레인트 프로파일 이름입니다.

    • (옵션) Default if Not Found (없는 경우 기본값) 프로파일에 본이 존재하지 않는 경우, 현재 세팅을 유지합니다.

    ![](constraintProfNodeSettings.png)

  12. Apply Physcial Animation Profile Below 노드에 연결된 Set All Bodies Below Simulate Physics 노드입니다.

    • Target (타깃)은 스켈레탈 메시 컴포넌트 입니다.

    • In Bone Name (입력 본 이름)은 Bone Name 변수를 입력으로 받습니다.

    • New Simulate (새로운 시뮬레이션)은 True 로 설정합니다.

    • 여기도 spine_01 을 타깃 본으로 사용하고 있으므로, Include Self (자신 포함) 옵션을 체크해야 합니다.

  13. 최종 그래프:

    Copy Node Graph

    ![](fullGraph.png)

    숨겨진 그래프 정보

    변수

    설명

    Bone Name

    spine_01

    Set All Bodies Below Simulate Physics 에서 시뮬레이션이 적용되는 스켈레탈 메시 파트를 정의하는 데 사용합니다.

    컴포넌트

    설명

    Skeletal Mesh Component

    컨스트레인트 프로파일 을 적용시킬 스켈레탈 메시 컴포넌트 입니다. Character 에서 상속하는 경우, 이름은 그냥 Mesh 가 됩니다.

결과

이제 게임을 플레이하면, 컨스트레인트 프로파일 이 우선합니다. 세팅에 따라 캐릭터가 떨어질 수도, 모터가 발동되어 팔이 마구 흔들릴 수도 있습니다.

result.png

상박 컨스트레인트의 Linear Limits (선형 한계)를 Free (자유)로 설정한 결과입니다.

![](achievedBy.png)

부가 자료

언리얼 엔진의 이전 버전을 위해 작성된 페이지입니다. 현재 언리얼 엔진 5 버전을 위해 업데이트되지 않았습니다.