통합

플랫폼

HumanIK SDK는 C++로 작성되며 다음에 최적화되어 있습니다.

  • Microsoft® Windows® (32 and 64-bit) operating system
  • Microsoft® Xbox 360® game console
  • Sony PlayStation® 3 game console
  • Nintendo® Wii® game console
  • Apple iOS 운영 체제

일반적인 엔진 통합

게임에서 하나 이상의 캐릭터를 선택해 관절 위치와 회전 데이터를 HumanIK에 입력합니다. 이들 위치는 종종 하위 애니메이션 시스템으로 만든 전진동작 애니메이션에서

가져오지만 래그돌 엔진과 같은 다른 하위 시스템에서 가져올 수도 있습니다.

후진동작 및 리타게팅 해결사가 HumanIK 내에서 캐릭터의 관절 위치와 회전을 변경합니다. 이렇게 생성된 위치 및 회전 데이터를 가져와 게임 캐릭터에 적용합니다.

다음 순서도로 이 데이터 흐름을 요약할 수 있습니다.

HumanIK는 그 자체가 애니메이션 엔진이 아니라 기존 애니메이션 하위 시스템과 함께 사용되어 기존 애니메이션 클립을 수정하고 재사용하는 추가 레이어 역할을 합니다. HumanIK 해결사가 게임 캐릭터의 전진동작 위치를 가져와 이를 입력한 다음 새로운 전진동작 위치를 만들어 출력합니다.

이 접근 방법을 사용하면 다음과 같이 중요한 결과를 얻습니다.

  • 게임의 현재 상황에 따라 HumanIK 해결사를 사용하거나 건너뛸 수 있습니다.
  • HumanIK 해결사를 필요한 만큼 반복해서 여러 후진동작 조정 레이어를 블렌딩할 수 있습니다. 따라서 해당 움직임의 의미 요소를 반영하는 모듈식 IK 조정 유닛을 만들고 이들 유닛을 다양한 환경에서 재활용할 수 있습니다.

    예를 들어 IK 패스 하나로 캐릭터가 팔을 뻗어 대상 객체를 만지도록 하고 다른 IK 패스로 캐릭터가 머리, 목 및 상체를 돌려 대상 객체를 바라보도록 할 수 있습니다. 이들 컨트롤러를 함께 사용하면 캐릭터가 하늘을 나는 비행기를 눈으로 좇거나 화면을 가로질러 이동하는 플레이어 캐릭터의 움직임을 추적하면서 총을 쏘도록 하는 등 후자의 컨트롤러를 다른 목적으로 다시 사용할 수 있습니다.

    HumanIK 해결사를 거치는 각 컨트롤러는 완전히 독립적입니다. 제한된 관절 세트에서만 각 솔빙을 실행하는 등 완전히 다른 파라미터로 설정할 수 있습니다.