이펙터 배치

개요에서 소개한 대로 HumanIK에서는 이펙터 세트를 사용하여 역운동학 계산 중 캐릭터 골격의 다양한 부분에 대해 목표점을 표현합니다. 이러한 이펙터 대부분은 HIKCharacterState에 정의된 특정 노드에 해당합니다. 예를 들어 LeftWristEffectorId를 배치하고 해당 이펙터에 도달 및 당기기 값을 지정하면 역운동학 솔버에서 LeftWristNodeId를 해당 이펙터의 위치로 이동하려고 합니다.

이러한 이펙터 전체 목록은 humanik.h 파일에서 HIKEffectorId 열거를 참조하십시오. 열거의 각 이펙터에 해당하는 노드는 다음과 같은 예외를 사용하여 명명 규칙에서 지워야 합니다.

HipsEffectorIdChestEndEffectorId와 같이 특정 노드와 관련되지 않은 이펙터도 두 개 있습니다. 대신 이러한 각 이펙터는 캐릭터가 기본 T 자세로 서 있는 경우 다른 노드의 위치 지정에서 계산되는 캐릭터 골격의 위치에 해당합니다.

캐릭터의 골반 또는 가슴의 중심이 거의 이러한 위치에 있지 않으면 역운동학 및 대상 변경 솔버에서 생성된 자세의 골반 및 어깨 위치가 예상과 정확하게 일치하지 않을 수 있습니다. 그러나 HIKHipsTOffsetXId, HIKHipsTOffsetYId, HIKHipsTOffsetZId, HIKChestTOffsetXId, HIKChestTOffsetYIdHIKChestTOffsetZId 캐릭터 속성을 사용하여 캐릭터의 HIKPropertySetState에서 각 축을 따라 오프셋을 적용하면 이러한 각 이펙터의 기본 배치를 제어할 수 있습니다. 자세한 내용은 캐릭터 속성일반 속성을(를) 참조하십시오.