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

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

Windows
MacOS
Linux
필요한 사전지식

이 글은 다음 주제에 대한 지식이 있는 분들을 대상으로 합니다. 계속하기 전 확인해 주세요.

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

단계

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

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

    addSkelMeshComp.png

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

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

      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

부가 자료

Select Skin
Light
Dark

새로운 언리얼 엔진 4 문서 사이트에 오신 것을 환영합니다!

문서 사이트에 대한 의견을 모을 수 있는 피드백 시스템을 포함해서 여러가지 새로운 기능을 준비하고 있습니다. 아래 Documentation Feedback 포럼(영문) 또는 언리얼 엔진 네이버 공식 카페(한글) 중 편하신 곳에 의견이나 문제점을 알려 주세요.

새 시스템이 준비되면 알려 드리겠습니다.

네이버 카페
공식 포럼