Stingray에 구현된 HumanIK 도구를 사용하면 게임 캐릭터에게 고정된 발을 빠르게 설정하여 동적인 지형에서 조차 발이 지면에서 미끄러지지 않도록 합니다. HumanIK 바닥 접점, 발 각도 및 위치 자체는 동적으로 움직이고 신체의 나머지 부분은 발 위치에 따라 자연스럽게 반응하고 현실적인 모션 범위를 유지합니다.
이 항목에서는 HumanIK 플러그인을 사용하여 바닥 접점을 설정하는 방법에 대해 설명합니다. 바닥 접점을 사용하면 보행 클립(또는 전체 애니메이션 제어기)을 실시간으로 적용할 수 있어 이러한 클립에서 지형 토폴로지를 고려할 수 있습니다.
예를 들어, 평평한 지면에서 녹화된 애니메이션 클립을 .
이 항목에서는 무버/물리적 요소를 비롯하여 전체 HumanIK 캐릭터 설정에 필요한 모든 정보를 다루지는 않습니다
Maya 또는 MotionBuilder에서 Character Controls를 사용해 캐릭터 모델을 캐릭터화합니다.
참고: 바닥 접점을 설정하려는 경우 캐릭터화에 발 마커가 포함되어 있는지 확인해야 합니다. 발 마커는 발 접합부 주위의 메시 두께를 고려하여 게임 엔진에서 정확한 발 접점을 확인합니다. 또한 손에서 바닥 접점을 활성화하려는 경우(예: 캐릭터가 쭈그리고 앉아 있는 경우) 손에도 마커가 포함되어 있어야 합니다.
Stingray에서 새 수준을 생성합니다. 수준 생성 또는 로드를 참조하십시오.
캐릭터화된 캐릭터를 가져오고 가져오기 프로세스 중 Skeleton에 대해 New or update skeleton을 선택하고, 이름을 입력하여 새 골격을 생성합니다.
아직 수준에 캐릭터 유닛을 배치하지 마십시오.
팁 : 프로젝트의 'content/units' 폴더를 살펴보면 모델이 제대로 캐릭터화되었는지 확인할 수 있습니다. 캐릭터화된 캐릭터를 가져오는 경우 Stingray에서는 .character 파일("CharacterName.character")을 생성합니다.
캐릭터 애니메이션 클립이 포함된 FBX 파일을 가져옵니다. Import FBX 옵션에서 Animation을 제외한 다른 옵션을 끄고 캐릭터에 대해 앞서 생성한 대상 골격을 선택합니다.
대부분의 Autodesk 컨텐츠 생성 소프트웨어(3ds Max, Maya, Maya LT, MotionBuilder)는 몇 가지 일반적인 모션 캡처 클립과 함께 제공되거나 Creative Market에서 클립을 구매할 수 있습니다. 일반적으로 이러한 클립에는 발 마커를 비롯하여 캐릭터화된 골격이 이미 포함되어 있습니다.
모션 캡처 클립에 대해서는 애니메이션 제어기 설정을 참조하십시오.
Asset Browser에서 애니메이션 제어기로 애니메이션 클립을 드래그합니다. 제어기는 이러한 클립에 필요한 상태를 생성합니다.
이벤트를 추가하여 런타임 중 애니메이션 클립 상태를 제어합니다.
Asset Preview에서 캐릭터가 애니메이션을 시작합니다.
생성한 새 수준을 로드합니다. 수준 생성 또는 로드를 참조하십시오.
수준에서 캐릭터 자산을 배치합니다. Asset Browser에서 드래그 앤 드롭합니다.
바닥을 나타내는 형상(예: 배율이 조정된 정육면체)으로 장면을 채웁니다.
다음과 같이 충돌 오브젝트로 작용하도록 바닥 오브젝트(정육면체)를 설정합니다.
정육면체를 두 번 클릭하여 Unit Editor를 엽니다.
계층 보기 패널에서 정육면체 오브젝트를 마우스 오른쪽 버튼으로 클릭하고 Create Physics Actor를 선택합니다.
Properties 패널의 Physics에서 Actor Template을 Keyframed로 설정합니다.
HumanIK를 활성화합니다(기본적으로 비활성화되어 있음).
HumanIK 흐름 노드를 사용해 HumanIK를 제어할 수 있습니다. 수준 흐름 그래프 및 유닛 흐름 그래프가 둘 다 지원됩니다.
Event > Level Loaded 이벤트가 트리거되면 수준 흐름 그래프에서 HumanIK를 활성화할 수 있습니다.
캐릭터에 수명 기간 중 사용할 수 있는 제약 조건을 모두 적용합니다. 이 경우에는 바닥 접점 관련 제약 조건(전체 몸체 고정 및 다리 고정 제약 조건)입니다.
이 부분은 Unit > Unit Spawned 이벤트가 트리거되면 일반적으로 유닛 흐름 그래프에서 수행됩니다.
또는 LUA를 통해 HumanIK를 활성화한 다음 설정할 수 있습니다.
흐름 노드 설정 및 수준 테스트:
입력 제어기 노드를 추가하고 Animation > Send Animation Controller Event를 설정하여 수준 테스트 중 입력 제어기를 사용해 캐릭터에 대한 모션 클립을 트리거하도록 합니다.
팁: 어느 지점에서든 “혼합 알파” 값을 1/0으로 설정하여 바닥 접점 제약 조건을 원활하게 활성화/비활성화할 수 있습니다. 이 작업은 HumanIK > Character Tune Constraints > HumanIK Set Blend Alpha 흐름 노드를 사용하여 수행할 수 있습니다. 예를 들어 점프하기를 처리하는 경우 제약 조건 비활성화 및 다시 활성화가 유용할 수 있습니다.
HumanIK 흐름 노드를 추가해 IK 제약 조건을 테스트 및 조정하고, 캐릭터 타게팅을 조정하고, 보기 제약 조건을 설정합니다.
예: 흐름을 통한 HumanIK를 참조하십시오.