런타임 코드에서 HumanIK API에서 제공된 함수를 호출하여 독점적으로 HumanIK 캐릭터화를 만들 수 있지만 일반적으로 조직의 아티스트, 애니메이터 또는 기술 디자이너가 시각적 디자인 도구에서 캐릭터화를 만드는 것이 더 간단합니다. 이렇게 하면 아티스트에게 즉각적인 피드백을 제공하고 아티스트가 IK를 적용하거나 애니메이션 대상을 캐릭터로 변경하여 캐릭터화를 테스트하고 해당 테스트의 결과에 따라 쉽게 캐릭터화를 조정할 수 있습니다. 캐릭터화가 만족스러우면 아티스트는 런타임 시 게임에 로드되는 파일로 내보낼 수 있습니다.
아티스트는 다음과 같은 시각적 도구를 사용하여 HumanIK 캐릭터화 파일을 만들 수 있습니다.
MotionBuilder와 HumanIK는 동일한 핵심 기술로 개발되었으며 골격을 기본 제공 생체 역할 모델에 매핑하는 여러 가지 동일한 요구 사항을 계속 공유합니다. MotionBuilder에서 만들어 작동하는 모든 Biped 또는 네 발 달린 동물 캐릭터화는 HumanIK API에서 사용하는 경우에도 작동해야 합니다. 그러나 MotionBuilder 캐릭터화를 HumanIK API를 사용하여 로드할 수 있는 파일로 내보내려면 먼저 MotionBuilder 버전에 적합한 HumanIK 플러그인을 빌드하고 설치해야 합니다.
MotionBuilder HumanIK 솔버 플러그인을(를) 참조하십시오.
2012 릴리스부터 Maya에는 캐릭터 골격에 대해 HumanIK 캐릭터화를 만들고, HumanIK 컨트롤 리그를 사용하여 캐릭터를 애니메이션하며, HumanIK SDK에서 사용할 수 있는 바이너리 파일로 캐릭터화를 내보내는 데 사용할 수 있는 도구가 포함됩니다.
조직에서 지원되는 버전의 MotionBuilder나 Maya를 사용하지 않는 경우 HumanIK SDK와 함께 제공된 Characterization Tool을 사용하여 시각적으로 HumanIK 캐릭터화를 만들 수 있습니다.
다음과 같은 Characterization Tool도 사용할 수 있습니다.
이러한 버전의 Characterization Tool은 Windows 플랫폼용 HumanIK 패키지의 tools 디렉토리 내 하위 디렉토리에 포함되어 있습니다. 각 버전에는 설치 및 사용을 설명하는 설명서가 함께 제공됩니다. 이 설명서는 Characterization Tool 인터페이스 자체 내에서도 열 수 있습니다.
네 발 달린 동물 캐릭터에는 특별한 요구 사항이 있습니다. 네 발 달린 동물 캐릭터에 HumanIK를 사용하려는 경우 네 발 달린 동물에 HumanIK 사용에서 중요한 정보를 읽어 보십시오.
사용하고 있는 도구 및 설치한 해당 도구의 릴리스에 따라 이 단계는 약간 다른 방식으로 수행할 수 있습니다. 도구에 대한 설명서를 참조하십시오. 모든 도구에서는 다음과 유사한 시각적 인터페이스를 사용합니다.
캐릭터의 골격에서 뼈를 이 그림에 표시된 다양한 노드에 매핑해야 합니다. 각 노드가 골격에 성공적으로 매핑되면 해당 노드의 표현이 녹색으로 바뀝니다.
Characterization Tool은 캐릭터 중립 자세의 형상을 자동으로 확인하고 감지되는 오류나 경고를 보고합니다.
이 파일은 아티스트나 리거가 각 HumanIK 노드에 매핑한 캐릭터의 골격에서 뼈의 이름을 나타내는 XML 파일과 함께 제공될 수 있습니다. 런타임 시 FK 애니메이션 시스템과 HIKCharacterStates 간에 애니메이션 데이터를 변환하는 코드를 작성할 때 이 파일의 정보를 사용할 수 있습니다. 역운동학 해석 및 대상 변경 해석을(를) 참조하십시오.
아티스트가 만든 바이너리 파일의 데이터를 사용하여 런타임 시 게임에서 HumanIK 캐릭터를 만드는 프로세스는 만든 파일 유형에 따라 약간 다릅니다.
아래에 설명된 대로 캐릭터화를 로드하면 HIKCharacter를 사용할 수 있습니다. 초기화에 나열된 단계를 계속 진행하여 캐릭터에 필요한 다른 HumanIK 오브젝트를 설정합니다.
HIKLoadCharacter() 함수를 호출하여 .hik 파일에 포함된 데이터에서 새 HIKCharacter를 만듭니다. 이 함수에는 다음 인수가 필요합니다.
HumanIK 평가판을 사용하는 경우 Autodesk, Inc.에서 발급한 라이센스 키. HumanIK 라이센스 키 설정에서 제안한 대로 소스 코드 파일에 autodeskmwkey.h 파일을 포함한 경우 사전 정의된 AutodeskCustomerString 값을 사용할 수 있습니다. 정식 버전의 HumanIK를 사용하는 경우 Null 값을 전달할 수 있습니다.
HIKCharacter에 사용할 메모리를 할당하기 위해 호출할 콜백 함수에 대한 포인터. 표준 malloc 함수를 지정하거나 malloc과 유형 정의가 동일한 사용자 정의 메모리 할당 방법을 지정할 수 있습니다. HumanIK 오브젝트 및 메모리 관리을(를) 참조하십시오.
HIKCharacter * MyChar = HIKLoadCharacter( "C:\data\hero.hik", AutodeskCustomerString, &malloc);
또는 다음 섹션에 간략하게 설명된 프로세스를 대신 사용하여 바이너리 파일 내용에서 캐릭터 데이터를 읽을 수 있습니다.
HIKCharacterDefinition MyDef;
HIKCharacter에 사용할 메모리를 할당하기 위해 호출할 콜백 함수에 대한 포인터. 표준 malloc 함수를 지정하거나 malloc과 유형 정의가 동일한 사용자 정의 메모리 할당 방법을 지정할 수 있습니다. HumanIK 오브젝트 및 메모리 관리을(를) 참조하십시오.
메모리를 할당 해제하기 위해 호출할 콜백 함수에 대한 포인터. 표준 free 함수를 지정하거나 free와 유형 정의가 동일한 사용자 정의 메모리 할당 해제 방법을 지정할 수 있습니다. HumanIK 오브젝트 및 메모리 관리을(를) 참조하십시오.
HumanIK 평가판을 사용하는 경우 Autodesk, Inc.에서 발급한 라이센스 키. HumanIK 라이센스 키 설정에서 제안한 대로 소스 코드 파일에 autodeskmwkey.h 파일을 포함한 경우 사전 정의된 AutodeskCustomerString 값을 사용할 수 있습니다. 정식 버전의 HumanIK를 사용하는 경우 Null 값을 전달할 수 있습니다.
HIKCharacter * MyChar = HIKReadFromStream( def, stream, streamSize, &malloc, &free, AutodeskCustomerString, );