이 섹션에서는 캐릭터의 제한(자유 각도)을 설정하는 데 사용되는 함수를 설명합니다.
열거 | |
| enum | HIKLimitActiveMask { HIKActiveMinX = 1 << 0, HIKActiveMinY = 1 << 1, HIKActiveMinZ = 1 << 2, HIKActiveMaxX = 1 << 3, HIKActiveMaxY = 1 << 4, HIKActiveMaxZ = 1 << 5 } |
| 노드에 대해 활성화할 수 있는 가능한 제한 유형을 나열합니다. HIKSetMinXYZRotationfv(), HIKSetMaxXYZRotationfv() 및 HIKSetLimitsfv()를 참조하십시오. 자세한 내용... | |
| enum | HIKRotationOrder { HIKOrderEulerXYZ = 0, HIKOrderEulerXYX, HIKOrderEulerXZY, HIKOrderEulerXZX, HIKOrderEulerYZX, HIKOrderEulerYZY, HIKOrderEulerYXZ, HIKOrderEulerYXY, HIKOrderEulerZXY, HIKOrderEulerZXZ, HIKOrderEulerZYX, HIKOrderEulerZYZ, HIKOrderSphericXYZ } |
| HIKSetRotationOrder() 함수에 설정된 값의 가능한 회전 순서를 나열합니다. 자세한 내용... | |
함수 | |
| void | HIKGetLimitsdv (const HIKCharacter *pCharacter, int pNodeId, double pMin[3], double pMax[3], double pPreQ[4], double pPostQ[4], int &pActiveMask, eHIKRotationOrder &pRotationOrder) |
노드 pNodeId에 대해 설정한 제한을 검색합니다. 자세한 내용... | |
| void | HIKGetLimitsfv (const HIKCharacter *pCharacter, int pNodeId, float pMin[3], float pMax[3], float pPreQ[4], float pPostQ[4], int &pActiveMask, eHIKRotationOrder &pRotationOrder) |
노드 pNodeId에 대해 설정한 제한을 검색합니다. 자세한 내용... | |
| void | HIKSetLimitsdv (HIKCharacter *pCharacter, int pNodeId, const double pMin[3], const double pMax[3], const double pPreQ[4], const double pPostQ[4], int pActiveMask, eHIKRotationOrder pRotationOrder) |
노드 pNodeId에 대한 제한을 설정합니다. 자세한 내용... | |
| void | HIKSetLimitsfv (HIKCharacter *pCharacter, int pNodeId, const float pMin[3], const float pMax[3], const float pPreQ[4], const float pPostQ[4], int pActiveMask, eHIKRotationOrder pRotationOrder) |
노드 pNodeId에 대한 제한을 설정합니다. 자세한 내용... | |
| void | HIKSetMaxXYZRotationdv (HIKCharacter *pCharacter, int pNodeId, const double pMax[3], int pMaxActiveMask) |
노드 pNodeId에 대한 최대 회전을 설정합니다. 자세한 내용... | |
| void | HIKSetMaxXYZRotationfv (HIKCharacter *pCharacter, int pNodeId, const float pMax[3], int pMaxActiveMask) |
노드 pNodeId에 대한 최대 회전을 설정합니다. 자세한 내용... | |
| void | HIKSetMinXYZRotationdv (HIKCharacter *pCharacter, int pNodeId, const double pMin[3], int pMinActiveMask) |
노드 pNodeId에 대한 최소 회전을 설정합니다. 자세한 내용... | |
| void | HIKSetMinXYZRotationfv (HIKCharacter *pCharacter, int pNodeId, const float pMin[3], int pMinActiveMask) |
노드 pNodeId에 대한 최소 회전을 설정합니다. 자세한 내용... | |
| void | HIKSetPostQdv (HIKCharacter *pCharacter, int pNodeId, const double pPostQ[4]) |
사후 회전 pPostQ를 노드 pNodeId에 적용합니다. 자세한 내용... | |
| void | HIKSetPostQfv (HIKCharacter *pCharacter, int pNodeId, const float pPostQ[4]) |
사후 회전 pPostQ를 노드 pNodeId에 적용합니다. 자세한 내용... | |
| void | HIKSetPreQdv (HIKCharacter *pCharacter, int pNodeId, const double pPreQ[4]) |
사전 회전 pPreQ를 노드 pNodeId에 적용합니다. 자세한 내용... | |
| void | HIKSetPreQfv (HIKCharacter *pCharacter, int pNodeId, const float pPreQ[4]) |
사전 회전 pPreQ를 노드 pNodeId에 적용합니다. 자세한 내용... | |
| void | HIKSetRotationOrder (HIKCharacter *pCharacter, int pNodeId, eHIKRotationOrder pRotationOrder) |
노드 pNodeId에 대해 설정한 제한에서 축이 지정되는 순서를 설정합니다. 자세한 내용... | |
| void | HIKSetTranslationLimitsd (HIKCharacter *pCharacter, int pNodeId, double pMin, double pMax, bool pActive) |
노드 pNodeId에 대한 변환 제한을 설정합니다 . 자세한 내용... | |
| void | HIKSetTranslationLimitsf (HIKCharacter *pCharacter, int pNodeId, float pMin, float pMax, bool pActive) |
노드 pNodeId에 대한 변환 제한을 설정합니다 . 자세한 내용... | |
| enum HIKLimitActiveMask |
노드에 대해 활성화할 수 있는 가능한 제한 유형을 나열합니다. HIKSetMinXYZRotationfv(), HIKSetMaxXYZRotationfv() 및 HIKSetLimitsfv()를 참조하십시오.
| enum HIKRotationOrder |
HIKSetRotationOrder() 함수에 설정된 값의 가능한 회전 순서를 나열합니다.
| void HIKGetLimitsdv | ( | const HIKCharacter * | pCharacter, |
| int | pNodeId, | ||
| double | pMin[3], | ||
| double | pMax[3], | ||
| double | pPreQ[4], | ||
| double | pPostQ[4], | ||
| int & | pActiveMask, | ||
| eHIKRotationOrder & | pRotationOrder | ||
| ) |
노드 pNodeId에 대해 설정한 제한을 검색합니다.
| pCharacter | 쿼리하려는 캐릭터 |
| pNodeId | 쿼리하려는 노드의 고유 ID. 가능한 값은 HIKNodeId 열거를 참조하십시오. |
| pMin | 관절이 각 축 주위에서 얻을 수 있는 라디안 단위의 최소 회전. X, Y 및 Z축이 이 배열에 저장된 순서는 pRotationOrder 매개변수에 대해 설정된 값에 따라 다릅니다. |
| pMax | 관절이 각 축 주위에서 얻을 수 있는 라디안 단위의 최대 회전. X, Y 및 Z축이 이 배열에 저장된 순서는 pRotationOrder 매개변수에 대해 설정된 값에 따라 다릅니다. |
| pPreQ | 사전 회전 오프셋을 정의하는 쿼터니언. 이를 통해 노드의 방향이 최소 및 최대 제한 내에 있는지 여부를 테스트하기 전에 HumanIK가 이 노드의 회전에 적용됩니다. |
| pPostQ | 사후 회전 오프셋을 정의하는 쿼터니언. 이를 통해 노드의 방향이 최소 및 최대 제한 내에 있는지 여부를 테스트한 이후 HumanIK가 이 노드의 회전에 적용됩니다. |
| pActiveMask | 활성화될 축을 결정하는 비트 마스크. HIKLimitActiveMask 열거를 참조하십시오. |
| pRotationOrder | X, Y 및 Z 축이 pMin 및 pMax 매개변수에 나열된 순서를 나타내는 HIKRotationOrder 열거의 요소 |
| void HIKGetLimitsfv | ( | const HIKCharacter * | pCharacter, |
| int | pNodeId, | ||
| float | pMin[3], | ||
| float | pMax[3], | ||
| float | pPreQ[4], | ||
| float | pPostQ[4], | ||
| int & | pActiveMask, | ||
| eHIKRotationOrder & | pRotationOrder | ||
| ) |
노드 pNodeId에 대해 설정한 제한을 검색합니다.
| pCharacter | 쿼리하려는 캐릭터 |
| pNodeId | 쿼리하려는 노드의 고유 ID. 가능한 값은 HIKNodeId 열거를 참조하십시오. |
| pMin | 관절이 각 축 주위에서 얻을 수 있는 라디안 단위의 최소 회전. X, Y 및 Z축이 이 배열에 저장된 순서는 pRotationOrder 매개변수에 대해 설정된 값에 따라 다릅니다. |
| pMax | 관절이 각 축 주위에서 얻을 수 있는 라디안 단위의 최대 회전. X, Y 및 Z축이 이 배열에 저장된 순서는 pRotationOrder 매개변수에 대해 설정된 값에 따라 다릅니다. |
| pPreQ | 사전 회전 오프셋을 정의하는 쿼터니언. 이를 통해 노드의 방향이 최소 및 최대 제한 내에 있는지 여부를 테스트하기 전에 HumanIK가 이 노드의 회전에 적용됩니다. |
| pPostQ | 사후 회전 오프셋을 정의하는 쿼터니언. 이를 통해 노드의 방향이 최소 및 최대 제한 내에 있는지 여부를 테스트한 이후 HumanIK가 이 노드의 회전에 적용됩니다. |
| pActiveMask | 활성화될 축을 결정하는 비트 마스크. HIKLimitActiveMask 열거를 참조하십시오. |
| pRotationOrder | X, Y 및 Z 축이 pMin 및 pMax 매개변수에 나열된 순서를 나타내는 HIKRotationOrder 열거의 요소 |
| void HIKSetLimitsdv | ( | HIKCharacter * | pCharacter, |
| int | pNodeId, | ||
| const double | pMin[3], | ||
| const double | pMax[3], | ||
| const double | pPreQ[4], | ||
| const double | pPostQ[4], | ||
| int | pActiveMask, | ||
| eHIKRotationOrder | pRotationOrder | ||
| ) |
노드 pNodeId에 대한 제한을 설정합니다.
| pCharacter | 설정하려는 캐릭터. |
| pNodeId | 설정하려는 노드의 고유 ID. 가능한 값은 HIKNodeId 열거를 참조하십시오. |
| pMin | 관절이 각 축 주위에서 얻을 수 있는 라디안 단위의 최소 회전을 결정합니다. X, Y 및 Z 축이 이 배열에 나타나야하는 순서는 pRotationOrder 매개변수에 대해 설정된 값에 따라 다릅니다. |
| pMax | 관절이 각 축 주위에서 얻을 수 있는 라디안 단위의 최대 회전을 결정합니다. X, Y 및 Z 축이 이 배열에 나타나야하는 순서는 pRotationOrder 매개변수에 대해 설정된 값에 따라 다릅니다. |
| pPreQ | 사전 회전 오프셋을 정의하는 쿼터니언. 이를 통해 노드의 방향이 최소 및 최대 제한 내에 있는지 여부를 테스트하기 전에 HumanIK가 이 노드의 회전에 적용됩니다. |
| pPostQ | 사후 회전 오프셋을 정의하는 쿼터니언. 이를 통해 노드의 방향이 최소 및 최대 제한 내에 있는지 여부를 테스트한 이후 HumanIK가 이 노드의 회전에 적용됩니다. |
| pActiveMask | 활성화될 축을 결정하는 비트 마스크. 이 마스크는 HIKLimitActiveMask 열거에 하나 이상의 요소를 포함할 수 있습니다. | 연산자(bitwise OR)를 사용하여 여러 값을 결합할 수 있습니다. |
| pRotationOrder | X, Y 및 Z 축이 pMin 및 pMax 매개변수에 나열된 순서를 나타내는 HIKRotationOrder 열거의 요소 또한 이 회전 순서는 HumanIK에서 오일러 회전을 계산하는 순서를 결정합니다. 이 순서를 변경하면 짐벌 잠금의 문제를 방지하거나 완화할 수 있습니다. HumanIK는 항상 이 회전 순서의 처음 축을 노드의 롤 축으로 해석합니다. 이 축은 관절에 연결된 골격에 맞게 정렬되어야 하고 골격이 그 중심 주위에서 돌거나 비틀리는 방법을 제어합니다. |
| void HIKSetLimitsfv | ( | HIKCharacter * | pCharacter, |
| int | pNodeId, | ||
| const float | pMin[3], | ||
| const float | pMax[3], | ||
| const float | pPreQ[4], | ||
| const float | pPostQ[4], | ||
| int | pActiveMask, | ||
| eHIKRotationOrder | pRotationOrder | ||
| ) |
노드 pNodeId에 대한 제한을 설정합니다.
| pCharacter | 설정하려는 캐릭터. |
| pNodeId | 설정하려는 노드의 고유 ID. 가능한 값은 HIKNodeId 열거를 참조하십시오. |
| pMin | 관절이 각 축 주위에서 얻을 수 있는 라디안 단위의 최소 회전을 결정합니다. X, Y 및 Z 축이 이 배열에 나타나야하는 순서는 pRotationOrder 매개변수에 대해 설정된 값에 따라 다릅니다. |
| pMax | 관절이 각 축 주위에서 얻을 수 있는 라디안 단위의 최대 회전을 결정합니다. X, Y 및 Z 축이 이 배열에 나타나야하는 순서는 pRotationOrder 매개변수에 대해 설정된 값에 따라 다릅니다. |
| pPreQ | 사전 회전 오프셋을 정의하는 쿼터니언. 이를 통해 노드의 방향이 최소 및 최대 제한 내에 있는지 여부를 테스트하기 전에 HumanIK가 이 노드의 회전에 적용됩니다. |
| pPostQ | 사후 회전 오프셋을 정의하는 쿼터니언. 이를 통해 노드의 방향이 최소 및 최대 제한 내에 있는지 여부를 테스트한 이후 HumanIK가 이 노드의 회전에 적용됩니다. |
| pActiveMask | 활성화될 축을 결정하는 비트 마스크. 이 마스크는 HIKLimitActiveMask 열거에 하나 이상의 요소를 포함할 수 있습니다. | 연산자(bitwise OR)를 사용하여 여러 값을 결합할 수 있습니다. |
| pRotationOrder | X, Y 및 Z 축이 pMin 및 pMax 매개변수에 나열된 순서를 나타내는 HIKRotationOrder 열거의 요소 또한 이 회전 순서는 HumanIK에서 오일러 회전을 계산하는 순서를 결정합니다. 이 순서를 변경하면 짐벌 잠금의 문제를 방지하거나 완화할 수 있습니다. HumanIK는 항상 이 회전 순서의 처음 축을 노드의 롤 축으로 해석합니다. 이 축은 관절에 연결된 골격에 맞게 정렬되어야 하고 골격이 그 중심 주위에서 돌거나 비틀리는 방법을 제어합니다. |
| void HIKSetMaxXYZRotationdv | ( | HIKCharacter * | pCharacter, |
| int | pNodeId, | ||
| const double | pMax[3], | ||
| int | pMaxActiveMask | ||
| ) |
노드 pNodeId에 대한 최대 회전을 설정합니다.
| pCharacter | 설정하려는 캐릭터. |
| pNodeId | 최대 회전을 설정하려는 노드의 고유 ID. 가능한 값은 HIKNodeId 열거를 참조하십시오. |
| pMax | 이 노드에 허용하는 최대 회전. 이는 라디안 단위의 벡터입니다. |
| pMaxActiveMask | 활성화될 축을 결정하는 비트 마스크. HIKLimitActiveMask 열거를 참조하십시오. Bitwise "OR" 연산자를 사용하여 여러 값을 결합할 수 있습니다. |
| void HIKSetMaxXYZRotationfv | ( | HIKCharacter * | pCharacter, |
| int | pNodeId, | ||
| const float | pMax[3], | ||
| int | pMaxActiveMask | ||
| ) |
노드 pNodeId에 대한 최대 회전을 설정합니다.
| pCharacter | 설정하려는 캐릭터. |
| pNodeId | 최대 회전을 설정하려는 노드의 고유 ID. 가능한 값은 HIKNodeId 열거를 참조하십시오. |
| pMax | 이 노드에 허용하는 최대 회전. 이는 라디안 단위의 벡터입니다. |
| pMaxActiveMask | 활성화될 축을 결정하는 비트 마스크. HIKLimitActiveMask 열거를 참조하십시오. Bitwise "OR" 연산자를 사용하여 여러 값을 결합할 수 있습니다. |
| void HIKSetMinXYZRotationdv | ( | HIKCharacter * | pCharacter, |
| int | pNodeId, | ||
| const double | pMin[3], | ||
| int | pMinActiveMask | ||
| ) |
노드 pNodeId에 대한 최소 회전을 설정합니다.
| pCharacter | 설정하려는 캐릭터. |
| pNodeId | 최소 회전을 설정하려는 노드의 고유 ID. 가능한 값은 HIKNodeId 열거를 참조하십시오. |
| pMin | 이 노드에 허용하는 최소 회전. 이는 라디안 단위의 벡터입니다. |
| pMinActiveMask | 활성화될 축을 결정하는 비트 마스크. HIKLimitActiveMask 열거를 참조하십시오. Bitwise "OR" 연산자를 사용하여 여러 값을 결합할 수 있습니다. |
| void HIKSetMinXYZRotationfv | ( | HIKCharacter * | pCharacter, |
| int | pNodeId, | ||
| const float | pMin[3], | ||
| int | pMinActiveMask | ||
| ) |
노드 pNodeId에 대한 최소 회전을 설정합니다.
| pCharacter | 설정하려는 캐릭터. |
| pNodeId | 최소 회전을 설정하려는 노드의 고유 ID. 가능한 값은 HIKNodeId 열거를 참조하십시오. |
| pMin | 이 노드에 허용하는 최소 회전. 이는 라디안 단위의 벡터입니다. |
| pMinActiveMask | 활성화될 축을 결정하는 비트 마스크. HIKLimitActiveMask 열거를 참조하십시오. Bitwise "OR" 연산자를 사용하여 여러 값을 결합할 수 있습니다. |
| void HIKSetPostQdv | ( | HIKCharacter * | pCharacter, |
| int | pNodeId, | ||
| const double | pPostQ[4] | ||
| ) |
사후 회전 pPostQ를 노드 pNodeId에 적용합니다.
| pCharacter | 설정하려는 캐릭터. |
| pNodeId | 사후 회전을 설정하려는 노드의 고유 ID. 가능한 값은 HIKNodeId 열거를 참조하십시오. |
| pPostQ | 적용할 사후 회전. 이는 정규화되어야 하는 쿼터니언입니다. |
| void HIKSetPostQfv | ( | HIKCharacter * | pCharacter, |
| int | pNodeId, | ||
| const float | pPostQ[4] | ||
| ) |
사후 회전 pPostQ를 노드 pNodeId에 적용합니다.
| pCharacter | 설정하려는 캐릭터. |
| pNodeId | 사후 회전을 설정하려는 노드의 고유 ID. 가능한 값은 HIKNodeId 열거를 참조하십시오. |
| pPostQ | 적용할 사후 회전. 이는 정규화되어야 하는 쿼터니언입니다. |
| void HIKSetPreQdv | ( | HIKCharacter * | pCharacter, |
| int | pNodeId, | ||
| const double | pPreQ[4] | ||
| ) |
사전 회전 pPreQ를 노드 pNodeId에 적용합니다.
| pCharacter | 설정하려는 캐릭터. |
| pNodeId | 사전 회전을 설정하려는 노드의 고유 ID. 가능한 값은 HIKNodeId 열거를 참조하십시오. |
| pPreQ | 적용할 사전 회전. 이는 정규화되어야 하는 쿼터니언입니다. |
| void HIKSetPreQfv | ( | HIKCharacter * | pCharacter, |
| int | pNodeId, | ||
| const float | pPreQ[4] | ||
| ) |
사전 회전 pPreQ를 노드 pNodeId에 적용합니다.
| pCharacter | 설정하려는 캐릭터. |
| pNodeId | 사전 회전을 설정하려는 노드의 고유 ID. 가능한 값은 HIKNodeId 열거를 참조하십시오. |
| pPreQ | 적용할 사전 회전. 이는 정규화되어야 하는 쿼터니언입니다. |
| void HIKSetRotationOrder | ( | HIKCharacter * | pCharacter, |
| int | pNodeId, | ||
| eHIKRotationOrder | pRotationOrder | ||
| ) |
노드 pNodeId에 대해 설정한 제한에서 축이 지정되는 순서를 설정합니다.
| pCharacter | 설정하려는 캐릭터. |
| pNodeId | 회전 순서를 설정하려는 노드의 고유 ID. 가능한 값은 HIKNodeId 열거를 참조하십시오. |
| pRotationOrder | 설정할 회전 순서. 가능한 값은 HIKRotationOrder 열거를 참조하십시오. |
| void HIKSetTranslationLimitsd | ( | HIKCharacter * | pCharacter, |
| int | pNodeId, | ||
| double | pMin, | ||
| double | pMax, | ||
| bool | pActive | ||
| ) |
노드 pNodeId에 대한 변환 제한을 설정합니다.
| pCharacter | 변환 제한을 설정하려는 캐릭터 |
| pNodeId | 설정하려는 노드의 고유 ID. 가능한 값은 HIKNodeId 열거를 참조하십시오. |
| pMin | 관절이 스쿼시될 수 있는 최소 길이 |
| pMax | 관절이 늘어날 수 있는 최대 길이. |
| pActive | 이 관절에 대해 변환 제한이 활성화되어야 하는지 여부를 나타냅니다. |
| void HIKSetTranslationLimitsf | ( | HIKCharacter * | pCharacter, |
| int | pNodeId, | ||
| float | pMin, | ||
| float | pMax, | ||
| bool | pActive | ||
| ) |
노드 pNodeId에 대한 변환 제한을 설정합니다.
| pCharacter | 변환 제한을 설정하려는 캐릭터 |
| pNodeId | 설정하려는 노드의 고유 ID. 가능한 값은 HIKNodeId 열거를 참조하십시오. |
| pMin | 관절이 스쿼시될 수 있는 최소 길이 |
| pMax | 관절이 늘어날 수 있는 최대 길이. |
| pActive | 이 관절에 대해 변환 제한이 활성화되어야 하는지 여부를 나타냅니다. |