유틸리티

유틸리티
+ 이 참조 페이지는 다음 개요 항목과 연결되어 있습니다.

모듈 설명

HumanIK에서 사용할 유틸리티 함수입니다.

함수

void HIKApplyHumanLimits (const HIKCharacter *pCharacter, HIKCharacterState *pState)
 HumanIK 생체 역학 모델에 기본 제공된 제한을 pState에 포함된 포즈에 적용합니다. 자세한 내용...
 
void HIKBlendEffectorPivotsdv (HIKEffectorSetState *pEffectorSetState, int pEffectorId, double(*pXFormArray)[16], double(*pIKPivotArray)[4], double *pReachTArray, double *pReachRArray, int pPivotCount)
 별도의 배열에서 각각 제공되는 여러 값 간의 HIKEffectorSetState pEffectorSetState에서 이펙터 pEffectorId의 변환 매트릭스 및 IK 제약 조건을 혼합합니다. 자세한 내용...
 
void HIKBlendEffectorPivotsTQSdv (HIKEffectorSetState *pEffectorSetState, int pEffectorId, double(*pT)[4], double(*pQ)[4], double(*pS)[4], double(*pIKPivotArray)[4], double *pReachTArray, double *pReachRArray, int pPivotCount)
 별도의 배열에서 각각 제공되는 여러 값 간의 HIKEffectorSetState pEffectorSetState에서 이펙터 pEffectorId의 변환(T), 쿼터니언 회전(Q), 배율 조정(S) 및 IK 제약 조건을 혼합합니다. 자세한 내용...
 
void HIKBlendState (const HIKCharacter *pCharacter, HIKCharacterState *pStateOut, HIKCharacterState const *pStateIn1, HIKCharacterState const *pStateIn2, float blendFactor)
 HIKCharacterState pStateIn1HIKCharacterState pStateIn2 간에 선형 혼합을 수행합니다. 자세한 내용...
 
void HIKCharacterStateCopy (HIKCharacterState *pStateOut, const HIKCharacterState *pStateIn)
 HIKCharacterStatepStateIn에서 pStateOut으로 복사합니다. 자세한 내용...
 
int HIKEffectorIdFromEffectorName (const char *pName)
 설명을 포함하는 이름에서 이펙터 ID를 검색합니다. 이는 FBX와 HIK 간을 매핑하는 유틸리티 함수입니다. 자세한 내용...
 
const char * HIKEffectorNameFromEffectorId (int pEffectorId)
 이펙터 pEffectorId에 대한 설명이 포함된 이름을 검색합니다. 이는 FBX와 HIK 간을 매핑하는 유틸리티 함수입니다. 자세한 내용...
 
void HIKEffectorStatePostMultdv (HIKEffectorSetState *pEffectorSetState, int pEffectorIndex, const double pXForm[16], int pInverse)
 이펙터 pEffectorIndex의 현재 변환, 회전 및 배율 조정을 pXForm과 사후에 곱합니다. 자세한 내용...
 
void HIKEffectorStatePostMultfv (HIKEffectorSetState *pEffectorSetState, int pEffectorIndex, const float pXForm[16], int pInverse)
 이펙터 pEffectorIndex의 현재 변환, 회전 및 배율 조정을 pXForm과 사후에 곱합니다. 자세한 내용...
 
void HIKEffectorStatePostMultTQSdv (HIKEffectorSetState *pEffectorSetState, int pEffectorIndex, const double pT[4], const double pQ[4], const double pS[4], int pInverse)
 이펙터 pEffectorIndex의 현재 변환, 회전 및 배율 조정을 pT, pQ 및 pS와 사후에 곱합니다. 자세한 내용...
 
void HIKEffectorStatePostMultTQSfv (HIKEffectorSetState *pEffectorSetState, int pEffectorIndex, const float pT[4], const float pQ[4], const float pS[4], int pInverse)
 이펙터 pEffectorIndex의 현재 변환, 회전 및 배율 조정을 pT, pQ 및 pS와 사후에 곱합니다. 자세한 내용...
 
void HIKEulerFromQuat (const float quat[4], float euler[4])
 쿼터니언(기본 XYZ 순서)에서 오일러 각도를 계산합니다. 자세한 내용 ...
 
void HIKGetCharacterSpaceEffectorStateFromCharacterdv (int pEffectorIndex, const HIKCharacter *pCharacter, const HIKCharacterState *pCharacterState, const HIKPropertySetState *pPropertyState, double pXForm[16])
 HIKCharacterState pCharacterState에서 캐릭터 pCharacter에 대해 이펙터 pEffectorIndex에 대한 변환 매트릭스를 검색하고 캐릭터의 캐릭터화 포즈(기본 T 자세)에 포함된 회전 및 배율 조정 오프셋을 이펙터의 최종 회전에 적용합니다. 자세한 내용...
 
void HIKGetCharacterSpaceEffectorStateFromCharacterTQSdv (int pEffectorIndex, const HIKCharacter *pCharacter, const HIKCharacterState *pCharacterState, const HIKPropertySetState *pPropertyState, double pT[4], double pQ[4], double pS[4])
 HIKCharacterState pCharacterState에서 캐릭터 pCharacter에 대해 이펙터 pEffectorIndex에 대한 변환(T), 쿼터니언 회전(Q) 및 배율 조정(S)을 검색하고 캐릭터의 캐릭터화 포즈(기본 T 자세)에 포함된 회전 및 배율 조정 오프셋을 이펙터의 최종 회전에 적용합니다. 자세한 내용...
 
int HIKGetChildNodeCount (const HIKCharacter *pCharacter, int pParentNodeId)
 부모 노드 pParentNodeId와 연관된 자식 노드의 수를 검색합니다. 자세한 내용...
 
int HIKGetChildNodeId (const HIKCharacter *pCharacter, int pParentNodeId, int pChildIndex)
 부모 노드 pChildIndex에 대한 인덱스 pParentNodeId를 사용하여 자식 노드를 검색합니다. 자세한 내용...
 
void HIKGetDOFFromLocalQfv (const HIKCharacter *pCharacter, int pNodeId, const float pQuat[4], float pEuler[4])
 DOF 구조(사전 회전, 회전 순서, ...)를 사용하여 로컬 쿼터니언에 해당하는 오일러 각도를 계산합니다. 자세한 내용 ...
 
void HIKGetLocalQFromDOFfv (const HIKCharacter *pCharacter, int pNodeId, const float pEuler[4], float pQuat[4])
 DOF 구조(사전 회전, 회전 순서, ...)를 사용하여 오일러 각도에서 로컬 쿼터니언을 계산합니다. 자세한 내용 ...
 
int HIKGetParentNodeId (const HIKCharacter *pCharacter, int pChildNodeId)
 지정된 노드 pChildNodeId의 부모 노드를 검색합니다. 자세한 내용...
 
void HIKMirrorState (HIKCharacter *pCharacter, HIKCharacterState *pMirrorState, HIKCharacterState *pFromState, HIKCharacter *pFromCharacter, double pMirrorGQ[4])
 HIKCharacterState pFromState에 포함된 포즈를 pMirrorGQ에 의해 방향이 지정된 평면에 반사합니다. 자세한 내용...
 
int HIKNodeIdFromNodeName (const char *pName)
 설명을 포함하는 이름에서 노드 ID를 검색합니다. 이는 FBX와 HIK 간을 매핑하는 유틸리티 함수입니다. 자세한 내용...
 
const char * HIKNodeNameFromNodeId (int pNodeId)
 노드 pNodeId에 대한 설명이 포함된 이름을 검색합니다. 이는 FBX와 HIK 간을 매핑하는 유틸리티 함수입니다. 자세한 내용...
 
void HIKNodeStatePreMultTQSdv (const HIKCharacter *pCharacter, HIKCharacterState *pCharacterState, int pNodeId, const double pT[4], const double pQ[4], const double pS[4], int pInverse)
 노드 pNodeId의 현재 변환, 회전 및 배율 조정을 pT, pQ 및 pS와 사전에 곱합니다. 자세한 내용...
 
void HIKNodeStatePreMultTQSfv (const HIKCharacter *pCharacter, HIKCharacterState *pCharacterState, int pNodeId, const float pT[4], const float pQ[4], const float pS[4], int pInverse)
 노드 pNodeId의 현재 변환, 회전 및 배율 조정을 pT, pQ 및 pS와 사전에 곱합니다. 자세한 내용...
 
void HIKNodeStatePreMultTQSUpdv (const HIKCharacter *pCharacter, HIKCharacterState *pCharacterState, const double pT[4], const double pQ[4], const double pS[4], int pInverse)
 HIKCharacterState에서 모든 노드의 현재 변환, 회전 및 배율 조정을 pT, pQ 및 pS와 사전에 곱합니다. 자세한 내용...
 
void HIKNodeStatePreMultTQSUpfv (const HIKCharacter *pCharacter, HIKCharacterState *pCharacterState, const float pT[4], const float pQ[4], const float pS[4], int pInverse)
 HIKCharacterState에서 모든 노드의 현재 변환, 회전 및 배율 조정을 pT, pQ 및 pS와 사전에 곱합니다. 자세한 내용...
 
void HIKPasteState (HIKCharacter *pCharacter, HIKCharacterState *pOutputState, HIKCharacterState *pCurrentState, HIKCharacter *pFromCharacter, HIKCharacterState *pFromState, HIKPropertySetState *pFilterSet, HIKPropertySetState *pFromFilterSet, double pHipsOffsetGX[16])
 HIKCharacter pFromState에 대한 HIKCharacterState pFromCharacter를 복사하여 다른 pOutputStateHumanIK에서 사용할 캐릭터를 정의합니다.에서 사용할 로 붙여넣습니다. 자세한 내용...
 
void HIKQTransform (const float quat[4], const float p[4], float q[4])
 쿼터니언에서 변환된 점 결과를 계산합니다. 자세한 내용...
 
void HIKRelaxState (const HIKCharacter *pCharacter, HIKCharacterState *pState, float pX, float pY, float pZ)
 HIKCharacterState pState에 포함된 포즈를 캐릭터에 대해 내부적으로 생성된 기본 "릴랙스 포즈"와 혼합합니다. 자세한 내용...
 
void HIKSetEffectorPullResistFromPropertyState (HIKEffectorSetState *pEffectorSetState, const HIKPropertySetState *pPropertySetState)
 HIKPropertySetState pPropertySetState에서 HIKEffectorSetState pEffectorSetState로 당기기 및 저항 속성을 변환합니다. 자세한 내용...
 

함수 설명서

void HIKApplyHumanLimits ( const HIKCharacter pCharacter,
HIKCharacterState pState 
)

HumanIK 생체 역학 모델에 기본 제공된 제한을 pState에 포함된 포즈에 적용합니다.

이 함수는 봉제 인형 물리적 시스템에서 생성한 포즈와 같이 실제 Biped에 대해 유지할 수 없는 포즈를 사용하여, HumanIK 생체 역학 모델에 기본 제공된 요구 사항을 충족하는 Biped 캐릭터에 대해 유효한 위치를 생성하기 위해 위해 노드의 변환 및 회전을 제한합니다.

매개변수
pCharacterpState에 해당하는 HIKCharacter
[in,out]pState변경할 포즈가 포함된 HIKCharacterState
void HIKBlendEffectorPivotsdv ( HIKEffectorSetState pEffectorSetState,
int  pEffectorId,
double(*)  pXFormArray[16],
double(*)  pIKPivotArray[4],
double *  pReachTArray,
double *  pReachRArray,
int  pPivotCount 
)

별도의 배열에서 각각 제공되는 여러 값 간의 HIKEffectorSetState pEffectorSetState에서 이펙터 pEffectorId의 변환 매트릭스 및 IK 제약 조건을 혼합합니다.

각 세트의 값 간 혼합이 pReachTArraypReachRArray 매개변수에서 제어됩니다. 이러한 값이 클수록, 해당 변환 매트릭스 및 IK 제약 조건 값에 대한 가중치가 최종 솔루션에 더 많이 적용됩니다.

매개변수
pEffectorSetStatepEffectorId가 포함된 HIKEffectorSetState
pEffectorId혼합할 이펙터의 고유 ID
pXFormArray이펙터에 대해 혼합할 다른 변환 매트릭스가 포함된 배열
pIKPivotArray이펙터에 대해 혼합할 IK 피벗의 배열. 이 배열의 값을 0.0f로 설정하여 IK 피벗이 없는 이펙터에 대한 변환 매트릭스 및 IK 제약 조건 값을 혼합할 수 있습니다.
pReachTArray이펙터에 제공된 변환 값의 상대 가중치를 제어하는 배열
pReachRArray이펙터에 제공된 방향 값의 상대 가중치를 제어하는 배열
pPivotCount변환 매트릭스 및 IK 제약 조건 값의 전체 세트 수(예: pXFormArray, pIKPivotArray, pReachTArraypReachRArray 매개변수의 길이)

이 함수는 배정밀도 숫자를 내부적으로 부동 소수점 숫자로 변환합니다. 부동 소수점 값을 사용할 수 없는 경우에만 사용하기 위한 것입니다. 최상의 성능을 위해 가능한 경우 HIKSetEffectorPivotStateTQSfv() 함수를 사용합니다.

void HIKBlendEffectorPivotsTQSdv ( HIKEffectorSetState pEffectorSetState,
int  pEffectorId,
double(*)  pT[4],
double(*)  pQ[4],
double(*)  pS[4],
double(*)  pIKPivotArray[4],
double *  pReachTArray,
double *  pReachRArray,
int  pPivotCount 
)

별도의 배열에서 각각 제공되는 여러 값 간의 HIKEffectorSetState pEffectorSetState에서 이펙터 pEffectorId의 변환(T), 쿼터니언 회전(Q), 배율 조정(S) 및 IK 제약 조건을 혼합합니다.

각 세트의 값 간 혼합이 pReachTArraypReachRArray 매개변수에서 제어됩니다. 이러한 값이 클수록, 해당 TQS 및 IK 제약 조건 값 세트에 대한 가중치가 최종 솔루션에 더 많이 적용됩니다.

매개변수
pEffectorSetStatepEffectorId가 포함된 HIKEffectorSetState
pEffectorId혼합할 이펙터의 고유 ID
pT이펙터에 대해 혼합할 다른 변환 값이 포함된 배열
pQ이펙터에 대해 혼합할 다른 회전 값이 포함된 쿼터니언의 배열
pS이펙터에 대해 혼합할 다른 배율 조정 값이 포함된 배열
pIKPivotArray이펙터에 대해 혼합할 IK 피벗의 배열. 이 배열의 값을 0.0f로 설정하여 IK 피벗이 없는 이펙터에 대한 TQS 및 IK 제약 조건 값을 혼합할 수 있습니다.
pReachTArray이펙터에 제공된 변환 값의 상대 가중치를 제어하는 배열
pReachRArray이펙터에 제공된 방향 값의 상대 가중치를 제어하는 배열
pPivotCountTQS 및 IK 제약 조건 값의 전체 세트 수(예: pT, pQ, pT, pIKPivotArray, pReachTArraypReachRArray 매개변수의 길이)

이 함수는 배정밀도 숫자를 내부적으로 부동 소수점 숫자로 변환합니다. 부동 소수점 값을 사용할 수 없는 경우에만 사용하기 위한 것입니다. 최상의 성능을 위해 가능한 경우 HIKSetEffectorPivotStateTQSfv() 함수를 사용합니다.

void HIKBlendState ( const HIKCharacter pCharacter,
HIKCharacterState pStateOut,
HIKCharacterState const *  pStateIn1,
HIKCharacterState const *  pStateIn2,
float  blendFactor 
)

HIKCharacterState pStateIn1HIKCharacterState pStateIn2 간에 선형 혼합을 수행합니다.

매개변수
pCharacterHIKCharacter - 혼합을 수행합니다.
[out]pStateOutHIKCharacterState - 혼합된 포즈가 포함되어 있습니다.
pStateIn1HIKCharacterState 1.
pStateIn2HIKCharacterState 2.
blendFactor혼합 요소. 이 매개변수의 값은 0과 1사이에 있어야 하며, 낮은 값은 HIKCharacterState 1의 우선 순위를 결정하고, 높은 값으로 HIKCharacterState 2의 우선 순위를 결정합니다. 값이 0.5이면 두 상태를 동일하게 혼합합니다.
void HIKCharacterStateCopy ( HIKCharacterState pStateOut,
const HIKCharacterState pStateIn 
)

HIKCharacterStatepStateIn에서 pStateOut으로 복사합니다.

매개변수
[out]pStateOut출력 HIKCharacterState
pStateIn입력 HIKCharacterState
int HIKEffectorIdFromEffectorName ( const char *  pName)

설명을 포함하는 이름에서 이펙터 ID를 검색합니다. 이는 FBX와 HIK 간을 매핑하는 유틸리티 함수입니다.

매개변수
pName이펙터에 대한 설명이 포함된 이름. HIKEffectorNameFromEffectorId()에서 반환하는 값과 일치해야 합니다.
반환
지정된 이름과 연관된 이펙터 ID. 가능한 값은 HIKEffectorId 열거를 참조하십시오.
const char* HIKEffectorNameFromEffectorId ( int  pEffectorId)

이펙터 pEffectorId에 대한 설명이 포함된 이름을 검색합니다. 이는 FBX와 HIK 간을 매핑하는 유틸리티 함수입니다.

매개변수
pEffectorId이펙터의 고유 ID. 가능한 값은 HIKEffectorId 열거를 참조하십시오.
반환
지정된 이펙터 ID와 연관된 이름.
void HIKEffectorStatePostMultdv ( HIKEffectorSetState pEffectorSetState,
int  pEffectorIndex,
const double  pXForm[16],
int  pInverse 
)

이펙터 pEffectorIndex의 현재 변환, 회전 및 배율 조정을 pXForm과 사후에 곱합니다.

매개변수
pEffectorSetStateHIKEffectorSetState.
pEffectorIndex변환 매트릭스를 사후에 곱할 이펙터의 인덱스. 가능한 값은 HIKEffectorId 열거를 참조하십시오.
pXForm사후에 곱할 변환 매트릭스.
pInverse1로 설정된 경우 역 사후 곱하기가 수행됩니다.
void HIKEffectorStatePostMultfv ( HIKEffectorSetState pEffectorSetState,
int  pEffectorIndex,
const float  pXForm[16],
int  pInverse 
)

이펙터 pEffectorIndex의 현재 변환, 회전 및 배율 조정을 pXForm과 사후에 곱합니다.

매개변수
pEffectorSetStateHIKEffectorSetState.
pEffectorIndex변환 매트릭스를 사후에 곱할 이펙터의 인덱스. 가능한 값은 HIKEffectorId 열거를 참조하십시오.
pXForm사후에 곱할 변환 매트릭스.
pInverse1로 설정된 경우 역 사후 곱하기가 수행됩니다.
void HIKEffectorStatePostMultTQSdv ( HIKEffectorSetState pEffectorSetState,
int  pEffectorIndex,
const double  pT[4],
const double  pQ[4],
const double  pS[4],
int  pInverse 
)

이펙터 pEffectorIndex의 현재 변환, 회전 및 배율 조정을 pT, pQ 및 pS와 사후에 곱합니다.

매개변수
pEffectorSetStateHIKEffectorSetState.
pEffectorIndex변환 매트릭스를 사후에 곱할 이펙터의 인덱스. 가능한 값은 HIKEffectorId 열거를 참조하십시오.
pT사후에 곱할 전역 변환
pQ사후에 곱할 전역 회전
pS사후에 곱할 전역 배율 조정
pInverse1로 설정된 경우 역 사후 곱하기가 수행됩니다.
void HIKEffectorStatePostMultTQSfv ( HIKEffectorSetState pEffectorSetState,
int  pEffectorIndex,
const float  pT[4],
const float  pQ[4],
const float  pS[4],
int  pInverse 
)

이펙터 pEffectorIndex의 현재 변환, 회전 및 배율 조정을 pT, pQ 및 pS와 사후에 곱합니다.

매개변수
pEffectorSetStateHIKEffectorSetState.
pEffectorIndex변환 매트릭스를 사후에 곱할 이펙터의 인덱스. 가능한 값은 HIKEffectorId 열거를 참조하십시오.
pT사후에 곱할 전역 변환
pQ사후에 곱할 전역 회전
pS사후에 곱할 전역 배율 조정
pInverse1로 설정된 경우 역 사후 곱하기가 수행됩니다.
void HIKEulerFromQuat ( const float  quat[4],
float  euler[4] 
)

쿼터니언에서 오일러 각도를 계산합니다(기본 XYZ 순서).

void HIKGetCharacterSpaceEffectorStateFromCharacterdv ( int  pEffectorIndex,
const HIKCharacter pCharacter,
const HIKCharacterState pCharacterState,
const HIKPropertySetState pPropertyState,
double  pXForm[16] 
)

HIKCharacterState pCharacterState에서 캐릭터 pCharacter에 대해 이펙터 pEffectorIndex에 대한 변환 매트릭스를 검색하고 캐릭터의 캐릭터화 포즈(기본 T 자세)에 포함된 회전 및 배율 조정 오프셋을 이펙터의 최종 회전에 적용합니다.

매개변수
pEffectorIndex변환 매트릭스를 검색할 이펙터의 고유 ID. 가능한 값은 HIKEffectorId 열거를 참조하십시오.
pCharacterHIKCharacter - 쿼리합니다.
pCharacterStateHIKCharacterState - 이펙터 배치를 검색합니다.
pPropertyStateHIKPropertySetState - 캐릭터의 모든 속성이 포함되어 있습니다.
[out]pXForm이펙터에 대한 전역 공간의 변환 매트릭스를 저장합니다(4x4열 주요 매트릭스).

이 함수는 배정밀도 숫자를 내부적으로 부동 소수점 숫자로 변환합니다. 부동 소수점 값을 사용할 수 없는 경우에만 사용하기 위한 것입니다. 최상의 성능을 위해 가능한 경우 HIKSetEffectorPivotStateTQSfv() 함수를 사용합니다.

void HIKGetCharacterSpaceEffectorStateFromCharacterTQSdv ( int  pEffectorIndex,
const HIKCharacter pCharacter,
const HIKCharacterState pCharacterState,
const HIKPropertySetState pPropertyState,
double  pT[4],
double  pQ[4],
double  pS[4] 
)

HIKCharacterState pCharacterState에서 캐릭터 pCharacter에 대해 이펙터 pEffectorIndex에 대한 변환(T), 쿼터니언 회전(Q) 및 배율 조정(S)을 검색하고 캐릭터의 캐릭터화 포즈(기본 T 자세)에 포함된 회전 및 배율 조정 오프셋을 이펙터의 최종 회전에 적용합니다.

매개변수
pEffectorIndexTQS 값을 검색할 이펙터의 고유 ID. 가능한 값은 HIKEffectorId 열거를 참조하십시오.
pCharacterHIKCharacter - 쿼리합니다.
pCharacterStateHIKCharacterState - 이펙터 배치를 검색합니다.
pPropertyStateHIKPropertySetState - 캐릭터의 모든 속성이 포함되어 있습니다.
[out]pT변환 값을 저장합니다.
[out]pQ방향 값을 저장합니다.
[out]pS배율 조정 값을 저장합니다.

이 함수는 배정밀도 숫자를 내부적으로 부동 소수점 숫자로 변환합니다. 부동 소수점 값을 사용할 수 없는 경우에만 사용하기 위한 것입니다. 최상의 성능을 위해 가능한 경우 HIKSetEffectorPivotStateTQSfv() 함수를 사용합니다.

int HIKGetChildNodeCount ( const HIKCharacter pCharacter,
int  pParentNodeId 
)

부모 노드 pParentNodeId와 연관된 자식 노드의 수를 검색합니다.

매개변수
pCharacterHIKCharacter.
pParentNodeId부모 노드의 ID. 가능한 값은 HIKNodeId 열거를 참조하십시오.
반환
지정된 부모 노드에서 소유한 자식 노드의 수
int HIKGetChildNodeId ( const HIKCharacter pCharacter,
int  pParentNodeId,
int  pChildIndex 
)

부모 노드 pParentNodeId에 대한 인덱스 pChildIndex를 사용하여 자식 노드를 검색합니다.

매개변수
pCharacterHIKCharacter.
pParentNodeId부모 노드의 ID. 가능한 값은 HIKNodeId 열거를 참조하십시오.
pChildIndex자식의 인덱스. 0과 부모 노드에 대한 HIKGetChildNodeCount()에서 반환된 값 사이의 값이어야 합니다.
반환
자식 노드의 HIKNodeId
void HIKGetDOFFromLocalQfv ( const HIKCharacter pCharacter,
int  pNodeId,
const float  pQuat[4],
float  pEuler[4] 
)

DOF 구조(사전 회전, 회전 순서, ...)를 사용하여 로컬 쿼터니언에 해당하는 오일러 각도를 계산합니다.

void HIKGetLocalQFromDOFfv ( const HIKCharacter pCharacter,
int  pNodeId,
const float  pEuler[4],
float  pQuat[4] 
)

DOF 구조(사전 회전, 회전 순서, ...)를 사용하여 오일러 각도에서 로컬 쿼터니언을 계산합니다.

int HIKGetParentNodeId ( const HIKCharacter pCharacter,
int  pChildNodeId 
)

지정된 노드 pChildNodeId의 부모 노드를 검색합니다.

매개변수
pCharacterHIKCharacter.
pChildNodeId자식 노드의 ID. 가능한 값은 HIKNodeId 열거를 참조하십시오.
반환
부모 노드의 HIKNodeId
void HIKMirrorState ( HIKCharacter pCharacter,
HIKCharacterState pMirrorState,
HIKCharacterState pFromState,
HIKCharacter pFromCharacter,
double  pMirrorGQ[4] 
)

HIKCharacterState pFromState에 포함된 포즈를 pMirrorGQ에 의해 방향이 지정된 평면에 반사합니다.

매개변수
pCharacter반사된 HIKCharacterState를 사용하는 HIKCharacter
[out]pMirrorStatepFromState에서 반사된 포즈가 포함된 HIKCharacterState
pFromState반사될 HIKCharacterState
pFromCharacterpFromState에 해당하는 HIKCharacter
pMirrorGQ쿼터니언으로 표현된 거울 평면의 방향
int HIKNodeIdFromNodeName ( const char *  pName)

설명을 포함하는 이름에서 노드 ID를 검색합니다. 이는 FBX와 HIK 간을 매핑하는 유틸리티 함수입니다.

매개변수
pName노드에 대한 설명이 포함된 이름. HIKNodeNameFromNodeId()에서 반환하는 값과 일치해야 합니다.
반환
지정된 이름과 연관된 노드 ID. 가능한 값은 HIKNodeId 열거를 참조하십시오.
const char* HIKNodeNameFromNodeId ( int  pNodeId)

노드 pNodeId에 대한 설명이 포함된 이름을 검색합니다. 이는 FBX와 HIK 간을 매핑하는 유틸리티 함수입니다.

매개변수
pNodeId노드의 고유 ID. 가능한 값은 HIKNodeId 열거를 참조하십시오.
반환
지정된 노드 ID와 연관된 이름
void HIKNodeStatePreMultTQSdv ( const HIKCharacter pCharacter,
HIKCharacterState pCharacterState,
int  pNodeId,
const double  pT[4],
const double  pQ[4],
const double  pS[4],
int  pInverse 
)

노드 pNodeId의 현재 변환, 회전 및 배율 조정을 pT, pQ 및 pS와 사전에 곱합니다.

매개변수
pCharacterHIKCharacter - 수정됩니다.
pCharacterStateHIKCharacterState - 사전 회전에서 수정할 포즈가 포함되어 있습니다.
pNodeId변환 매트릭스를 사전에 곱할 노드의 인덱스. 가능한 값은 HIKNodeId 열거를 참조하십시오.
pT사전에 곱할 전역 변환
pQ사전에 곱할 전역 회전
pS사전에 곱할 전역 배율 조정
pInverse1로 설정된 경우 역 사전 곱하기가 수행됩니다.
void HIKNodeStatePreMultTQSfv ( const HIKCharacter pCharacter,
HIKCharacterState pCharacterState,
int  pNodeId,
const float  pT[4],
const float  pQ[4],
const float  pS[4],
int  pInverse 
)

노드 pNodeId의 현재 변환, 회전 및 배율 조정을 pT, pQ 및 pS와 사전에 곱합니다.

매개변수
pCharacterHIKCharacter - 수정됩니다.
pCharacterStateHIKCharacterState - 사전 회전에서 수정할 포즈가 포함되어 있습니다.
pNodeId변환 매트릭스를 사전에 곱할 노드의 인덱스. 가능한 값은 HIKNodeId 열거를 참조하십시오.
pT사전에 곱할 전역 변환
pQ사전에 곱할 전역 회전
pS사전에 곱할 전역 배율 조정
pInverse1로 설정된 경우 역 사전 곱하기가 수행됩니다.
void HIKNodeStatePreMultTQSUpdv ( const HIKCharacter pCharacter,
HIKCharacterState pCharacterState,
const double  pT[4],
const double  pQ[4],
const double  pS[4],
int  pInverse 
)

HIKCharacterState에서 모든 노드의 현재 변환, 회전 및 배율 조정을 pT, pQ 및 pS와 사전에 곱합니다.

매개변수
pCharacterHIKCharacter - 수정됩니다.
pCharacterStateHIKCharacterState - 사전 회전에서 수정할 포즈가 포함되어 있습니다.
pT사전에 곱할 전역 변환
pQ사전에 곱할 전역 회전
pS사전에 곱할 전역 배율 조정
pInverse1로 설정된 경우 역 사전 곱하기가 수행됩니다.
void HIKNodeStatePreMultTQSUpfv ( const HIKCharacter pCharacter,
HIKCharacterState pCharacterState,
const float  pT[4],
const float  pQ[4],
const float  pS[4],
int  pInverse 
)

HIKCharacterState에서 모든 노드의 현재 변환, 회전 및 배율 조정을 pT, pQ 및 pS와 사전에 곱합니다.

매개변수
pCharacterHIKCharacter - 수정됩니다.
pCharacterStateHIKCharacterState - 사전 회전에서 수정할 포즈가 포함되어 있습니다.
pT사전에 곱할 전역 변환
pQ사전에 곱할 전역 회전
pS사전에 곱할 전역 배율 조정
pInverse1로 설정된 경우 역 사전 곱하기가 수행됩니다.
void HIKPasteState ( HIKCharacter pCharacter,
HIKCharacterState pOutputState,
HIKCharacterState pCurrentState,
HIKCharacter pFromCharacter,
HIKCharacterState pFromState,
HIKPropertySetState pFilterSet,
HIKPropertySetState pFromFilterSet,
double  pHipsOffsetGX[16] 
)

HIKCharacter pFromCharacter에 대한 HIKCharacterState pFromState를 복사하여 다른 HIKCharacter에서 사용할 pOutputState로 붙여넣습니다.

매개변수
pCharacter붙여넣은 HIKCharacterState를 사용하는 HIKCharacter
[out]pOutputStatepFromState에서 붙여넣은 포즈가 포함된 HIKCharacterState
pCurrentStatepCharacter의 현재 포즈
pFromCharacterpFromState에 해당하는 HIKCharacter
pFromState붙여넣을 HIKCharacterState
pFilterSetpCharacter에 해당하는 HIKPropertySetState
pFromFilterSetpFromCharacter에 해당하는 HIKPropertySetState
pHipsOffsetGX엉덩이에 적용할 오프셋(있는 경우, 전역 공간으로 표현됨)
void HIKQTransform ( const float  quat[4],
const float  p[4],
float  q[4] 
)

쿼터니언에서 변환된 점 결과를 계산합니다.

void HIKRelaxState ( const HIKCharacter pCharacter,
HIKCharacterState pState,
float  pX,
float  pY,
float  pZ 
)

HIKCharacterState pState에 포함된 포즈를 캐릭터에 대해 내부적으로 생성된 기본 "릴랙스 포즈"와 혼합합니다.

이 함수는 HIKCharacter pCharacter:에 대한 "릴랙스 포즈"(모든 팔 다리가 최소 및 최대 범위 사이의 중간에 회전하는 포즈)를 생성합니다. 그런 다음 이 릴랙스 포즈가 pState에서 제공된 포즈와 혼합됩니다.

각 축을 따라 혼합의 상대 가중치가 pX, pYpZ에서 제어됩니다. 이러한 매개변수의 값이 0이면 pState에 대한 혼합에 전체적으로 가중치를 적용합니다. 값이 1.0f이면 릴랙스 포즈에 대한 혼합에 전체적으로 가중치를 적용합니다. 그 사이의 값은 pState와 릴랙스 포즈 사이에서 결과 위치를 보간합니다.

매개변수
pCharacterpState에 해당하는 HIKCharacter
[in,out]pState릴랙스할 포즈가 포함된 HIKCharacterState
pXpState와 릴랙스 포즈 간 혼합 시 X축에 대한 상대 가중치
pYpState와 릴랙스 포즈 간 혼합 시 Y축에 대한 상대 가중치
pZpState와 릴랙스 포즈 간 혼합 시 Z축에 대한 상대 가중치
void HIKSetEffectorPullResistFromPropertyState ( HIKEffectorSetState pEffectorSetState,
const HIKPropertySetState pPropertySetState 
)

HIKPropertySetState pPropertySetState에서 HIKEffectorSetState pEffectorSetState로 당기기 및 저항 속성을 변환합니다.

매개변수
pEffectorSetStateHIKEffectorSetState.
pPropertySetStateHIKPropertySetState.