HIKPropertySetStates에는 속성이라는 큰 구성 옵션 세트가 포함되어 있으며, 이러한 속성은 캐릭터를 정의하고 HumanIK 솔버의 동작을 제어합니다. 가능한 모든 속성은 HIKProperty 열거에 식별되어 있습니다.
각 속성에는 구성 옵션을 사용할지 여부를 HumanIK 솔버에 나타내는 모드가 있습니다. 많은 속성은 솔버가 계산에서 사용해야 하는 값도 나타냅니다.
HIKPropertySetState를 만들면 상태의 각 속성에 기본 모드와 기본값이 할당되며, 이러한 값은 동적으로 변경할 수 있습니다.
지정된 시간에 각 속성에는 다음 모드 중 하나가 있어야 합니다.
일부 속성은 간단한 On/Off 토글 스위치이며 On으로 설정하면 각 구성 옵션을 사용합니다.
다른 속성의 경우 On 모드는 속성에 설정된 값을 고려해야 한다는 것을 솔버에 나타내기도 합니다. 이 모드는 아래에서 설명하는 User 모드와 유사합니다.
일부 속성에서는 일부 모드를 허용하지 않습니다. 각 속성에서 허용되는 모드는 속성의 모드 유형으로 표시됩니다. 가능한 모드 유형은 HIKPropertyModeType 열거에 나열되어 있으며, HIKPropertyNoMode, HIKPropertyOffOn, HIKPropertyOffAutoUser 또는 HIKPropertyAutoUser입니다.
HIKPropertySetState에서 속성의 현재 모드를 설정하려면 HIKSetPropertyMode() 함수를 호출합니다.
정수 값을 사용하여 원하는 모드를 지정하며 해석은 속성의 모드 유형에 따라 달라집니다.
예를 들어 HIKHandFloorContactId 속성의 모드 유형은 HIKPropertyOffOn이므로 아래의 첫 줄에서 속성이 활성화됩니다. HIKAnkleHeightCompensationId 속성의 모드 유형은 HIKPropertyOffAutoUser이므로 아래의 둘째 줄에서 속성이 활성화되고 HumanIK에서 사용자 정의 값을 고려합니다.
HIKSetPropertyMode(MyPropertyState, HIKHandFloorContactId, 1); HIKSetPropertyMode(MyPropertyState, HIKAnkleHeightCompensationId, 2);
속성 값은 각 속성에 대해 사전 설정된 단위 유형에 따라 HumanIK 솔버에서 다양한 방식으로 해석할 수 있습니다. 가능한 단위 유형은 HIKPropertyUnit 열거에 나열되어 있으며, HIKPropertyNoUnit, HIKPropertyPercent, HIKPropertySecond, HIKPropertyCentimeter, HIKPropertyDegree, HIKPropertyEnum, HIKPropertyReal입니다.
각 속성에는 사전 설정된 최소값과 최대값이 있으며 동적으로 변경할 수 없습니다.
HIKPropertySetState에서 속성의 현재 모드를 설정하려면 HIKSetPropertyValue() 함수를 호출합니다.
속성에 할당하는 새 값은 속성의 단위 유형과 일치되어야 합니다. 대부분의 단위 유형에서 이 값은 부동 소수점 숫자가 되어야 합니다. 그러나 HIKPropertyEnum 단위 유형을 사용하는 속성의 경우 이 값은 원하는 열거 값을 반영하는 정수가 됩니다.
예를 들어 HIKReachActorLeftAnkleId 속성의 단위 유형은 HIKPropertyPercent이므로 아래의 첫 줄에서 값을 50%로 설정합니다. HIKFootContactTypeId 속성의 모드 유형은 HIKPropertyEnum입니다. 따라서 해당 값은 이 속성과 관련된 열거를 반영하는 정수여야 합니다. 이런 경우 해당 값은 ToeBase 접점 유형에 해당하는 2로 설정됩니다. 값 유형이 HIKPropertyEnum인 각 속성에 사용할 수 있는 열거 값에 대한 자세한 내용은 자세한 속성 설명을 참조하십시오.
HIKSetPropertyValue(MyPropertyState, HIKReachActorLeftAnkleId, 0.50); HIKSetPropertyValue(MyPropertyState, HIKFootContactTypeId, 2);
다음 페이지에서는 각 캐릭터 속성과 해당 모드 유형, 허용되는 모드, 기본 모드, 단위 유형, 허용되는 값 및 기본값에 대해 나열하고 설명합니다. 이러한 속성은 다음과 같은 광범위한 범주에 속합니다.
모드 유형이 HIKPropertyNoMode인 속성의 경우 해당 모드를 변경할 수 없으므로 다른 모든 모드 정보가 이러한 페이지에 나열되지 않습니다.
HumanIK에서 값을 사용하지 않는 속성의 경우 값 정보가 이러한 페이지에 나열되지 않습니다. 일반적으로 간단한 On/Off 토글인 HIKPropertyOffOn 모드 유형의 속성에만 해당됩니다.
HumanIK에서는 고유한 ID, 모드 유형, 기본 모드, 단위 유형, 기본값, 사람이 읽을 수 있는 이름 등 HIKPropertySetState에서 구성할 수 있는 각 캐릭터 속성에 대한 정보를 검색할 수 있는 함수 세트를 제공합니다. 게임 중 런타임 시 이러한 함수를 호출할 필요가 없을 것 같지만 HumanIK를 제어하는 GUI를 빌드하도록 선택한 경우 이러한 속성 정보 검색 함수가 유용할 수 있습니다.