캐릭터 속성

HIKPropertySetStates에는 속성이라는 큰 구성 옵션 세트가 포함되어 있으며, 이러한 속성은 캐릭터를 정의하고 HumanIK 솔버의 동작을 제어합니다. 가능한 모든 속성은 HIKProperty 열거에 식별되어 있습니다.

각 속성에는 구성 옵션을 사용할지 여부를 HumanIK 솔버에 나타내는 모드가 있습니다. 많은 속성은 솔버가 계산에서 사용해야 하는 도 나타냅니다.

HIKPropertySetState를 만들면 상태의 각 속성에 기본 모드와 기본값이 할당되며, 이러한 값은 동적으로 변경할 수 있습니다.

모드

지정된 시간에 각 속성에는 다음 모드 중 하나가 있어야 합니다.

모드 유형

일부 속성에서는 일부 모드를 허용하지 않습니다. 각 속성에서 허용되는 모드는 속성의 모드 유형으로 표시됩니다. 가능한 모드 유형은 HIKPropertyModeType 열거에 나열되어 있으며, HIKPropertyNoMode, HIKPropertyOffOn, HIKPropertyOffAutoUser 또는 HIKPropertyAutoUser입니다.

각 속성의 모드 유형은 사전 설정되어 있으며 변경할 수 없습니다.

속성의 모드 설정

HIKPropertySetState에서 속성의 현재 모드를 설정하려면 HIKSetPropertyMode() 함수를 호출합니다.

정수 값을 사용하여 원하는 모드를 지정하며 해석은 속성의 모드 유형에 따라 달라집니다.

  • 속성의 모드 유형이 HIKPropertyNoMode이면 해당 모드를 전혀 변경할 수 없습니다.
  • 속성의 모드 유형이 HIKPropertyOffOn인 경우 0 값은 속성 모드를 Off로 설정하고 1 값은 속성 모드를 On으로 설정합니다.
  • 속성의 모드 유형이 HIKPropertyOffAutoUser인 경우 0 값은 속성 모드를 Off로 설정하고 1 값은 속성 모드를 Auto로 설정하며 2 값은 속성 모드를 User로 설정합니다.
  • 속성의 모드 유형이 HIKPropertyAutoUser인 경우 0 값은 속성 모드를 Auto로 설정하고 1 값은 속성 모드를 User로 설정합니다.

예를 들어 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를 빌드하도록 선택한 경우 이러한 속성 정보 검색 함수가 유용할 수 있습니다.

이러한 함수에 대한 자세한 내용은 API 참조의 "속성 정보 검색" 모듈을 참조하십시오.