전체 몸체 IK

모듈 설명

이 섹션에서는 전체 몸체 IK 해석을 수행하는 데 사용되는 함수를 설명합니다.

캐릭터에 대해 전체 몸체 IK를 사용하려면 캐릭터를 정의하는 HIKCharacter 오브젝트를 이미 만들었어야 합니다. 게임에서 캐릭터의 현재 포즈를 일치시키려면 캐릭터에 대해 HIKCharacterState를 만들고 HIKCharacterState에서 각 노드에 대한 변환 매트릭스를 설정해야 합니다. 캐릭터의 몸체에 대한 IK 목표점, IK 솔버가 IK 목표점의 균형을 조정하는 방법을 제어하는 제약 조건(변환 도달, 회전 도달, 당기기 및 저항)의 값 및 IK 솔버가 수행할 해결 단계를 정의하는 HIKEffectorSetState를 만들어야 합니다. 마지막으로 솔버에 대해 선택적 구성 매개변수 세트를 정의하는 속성 세트 상태를 만들어야 합니다. 그런 다음 해석을 수행할 HIKSolveForEffectorSet() 함수에 이러한 모든 오브젝트를 전달해야 합니다. 솔버가 해당 결과를 사용자가 전달한 동일한 HIKCharacterState에 저장합니다.

모듈

 Low-LoD Full-Body IK
 이 페이지는 낮은 정밀도 레벨을 사용하여 캐릭터에 대해 전체 몸체 IK 해석을 수행하는 데 사용되는 함수에 대해 자세히 설명합니다.
 

함수

void HIKSolveForEffectorSet (const HIKCharacter *pCharacter, HIKCharacterState *pCharacterState, HIKEffectorSetState *pEffectorSetState, const HIKPropertySetState *pPropertyState)
 pCharacterHIKEffectorSetState를 정의합니다. 및 초기 pEffectorSetState캐릭터의 포즈를 정의합니다.를 사용하여 캐릭터 pCharacterState를 해석하고 결과를 pCharacterState에 저장합니다. 자세한 내용...
 
void HIKSolveForEffectorSetArmsAndLegs (const HIKCharacter *pCharacter, HIKCharacterState *pCharacterState, HIKEffectorSetState *pEffectorSetState, const HIKPropertySetState *pPropertyState)
 캐릭터 pCharacter에 대한 팔, 다리 및 어깨 IK 솔버를 호출합니다. 자세한 내용...
 
void HIKSolveForEffectorSetBegin (const HIKCharacter *pCharacter, HIKCharacterState *pCharacterState, HIKEffectorSetState *pEffectorSetState, const HIKPropertySetState *pPropertyState)
 캐릭터 pCharacter에 대한 IK 솔브를 초기화합니다. 자세한 내용...
 
void HIKSolveForEffectorSetBodyPull (const HIKCharacter *pCharacter, HIKCharacterState *pCharacterState, HIKEffectorSetState *pEffectorSetState, const HIKPropertySetState *pPropertyState)
 캐릭터 pCharacter에 대한 당기기 솔버를 호출합니다. 자세한 내용...
 
void HIKSolveForEffectorSetFingersAndToes (const HIKCharacter *pCharacter, HIKCharacterState *pCharacterState, HIKEffectorSetState *pEffectorSetState, const HIKPropertySetState *pPropertyState)
 캐릭터 pCharacter에 대한 손가락 및 발가락 IK 솔버를 호출합니다. 자세한 내용...
 
void HIKSolveForEffectorSetFloorContact (const HIKCharacter *pCharacter, HIKCharacterState *pCharacterState, HIKEffectorSetState *pEffectorSetState, const HIKPropertySetState *pPropertyState)
 캐릭터 pCharacter에 대한 바닥 솔버를 호출합니다. 자세한 내용...
 
void HIKSolveForEffectorSetFloorContactApprox (const HIKCharacter *pCharacter, HIKCharacterState *pCharacterState, HIKEffectorSetState *pEffectorSetState, const HIKPropertySetState *pPropertyState)
 캐릭터 pCharacter에 대한 바닥 접점 근사화 솔버를 호출합니다. 자세한 내용...
 
void HIKSolveForEffectorSetHeadAndNeck (const HIKCharacter *pCharacter, HIKCharacterState *pCharacterState, HIKEffectorSetState *pEffectorSetState, const HIKPropertySetState *pPropertyState)
 캐릭터 pCharacter에 대한 머리 및 목 IK 솔버를 호출합니다. 자세한 내용...
 
void HIKSolveForEffectorSetHipsTranslation (const HIKCharacter *pCharacter, HIKCharacterState *pCharacterState, HIKEffectorSetState *pEffectorSetState, const HIKPropertySetState *pPropertyState)
 캐릭터 pCharacter에 대한 특정 엉덩이 변환 솔버를 호출합니다. 자세한 내용...
 
void HIKSolveForEffectorSetModifiers (const HIKCharacter *pCharacter, HIKCharacterState *pCharacterState, HIKEffectorSetState *pEffectorSetState, const HIKPropertySetState *pPropertyState)
 캐릭터 pCharacter에 대해 미러 및 잠금 수정자를 호출합니다. 자세한 내용...
 
void HIKSolveForEffectorSetRollExtraction (const HIKCharacter *pCharacter, HIKCharacterState *pCharacterState, HIKEffectorSetState *pEffectorSetState, const HIKPropertySetState *pPropertyState)
 캐릭터 pCharacter에 대한 롤 추출 솔버를 호출합니다. 자세한 내용...
 

함수 설명서

void HIKSolveForEffectorSet ( const HIKCharacter pCharacter,
HIKCharacterState pCharacterState,
HIKEffectorSetState pEffectorSetState,
const HIKPropertySetState pPropertyState 
)

HIKEffectorSetState pEffectorSetState 및 초기 HIKCharacterStatepCharacterState를 사용하여 캐릭터 pCharacter를 해석하고 결과를 pCharacterState에 저장합니다.

HIKSolveForEffectorSet() 함수에서 다음 함수를 순서대로 호출합니다.

HIKEffectorSetState pEffectorSetState에서 해석 단계를 설정하는 HIKSetIKSolvingStep() 함수를 호출하여 솔버의 다른 부분을 사용하거나 사용하지 않을 수 있습니다.

이 함수에 대한 여러 가지 호출에 동일한 HIKEffectorSetState를 다시 사용하여 수정해야 할 이펙터에 대해서만 위치, 회전 및 IK 제약 조건을 변경할 수 있습니다.

0보다 큰 변환 도달 또는 회전 도달 값을 가진 이펙터만 고려합니다.

매개변수
pCharacter해석할 캐릭터
pEffectorSetStateHIKEffectorSetState - IK 목표점 및 IK 제약 조건 값이 포함되어 있습니다.
[in,out]pCharacterStateHIKCharacterState - 캐릭터에 대한 초기 FK 포즈가 포함되어 있으며 IK 솔루션에 영향을 줄 수 있습니다.
pPropertyStateHIKPropertySetState - 캐릭터의 모든 속성이 포함되어 있습니다.
예제:
datadescriptionscattersqt.hdatadescriptiontqs.h.
void HIKSolveForEffectorSetArmsAndLegs ( const HIKCharacter pCharacter,
HIKCharacterState pCharacterState,
HIKEffectorSetState pEffectorSetState,
const HIKPropertySetState pPropertyState 
)

캐릭터 pCharacter에 대한 팔, 다리 및 어깨 IK 솔버를 호출합니다.

매개변수
pCharacter해석할 캐릭터
pEffectorSetStateHIKEffectorSetState - IK 목표점 및 IK 제약 조건 값이 포함되어 있습니다.
[in,out]pCharacterStateHIKCharacterState - 캐릭터에 대한 초기 FK 포즈가 포함되어 있으며 IK 솔루션에 영향을 줄 수 있습니다.
pPropertyStateHIKPropertySetState - 캐릭터의 모든 속성이 포함되어 있습니다.
void HIKSolveForEffectorSetBegin ( const HIKCharacter pCharacter,
HIKCharacterState pCharacterState,
HIKEffectorSetState pEffectorSetState,
const HIKPropertySetState pPropertyState 
)

캐릭터 pCharacter에 대한 IK 솔브를 초기화합니다.

전역 HIKSolveForEffectorSet() 함수를 사용하지 않는 경우 HIKSolveForEffectorSetBegin() 호출을 사용하여 각 IK 솔브를 시작해야 합니다. 이를 수행한 후 다음 목록에서 하나 이상의 함수를 호출할 수 있습니다.

매개변수
pCharacter준비할 캐릭터
pEffectorSetStateHIKEffectorSetState - IK 목표점 및 IK 제약 조건 값이 포함되어 있습니다.
[in,out]pCharacterStateHIKCharacterState - 캐릭터에 대한 초기 FK 포즈가 포함되어 있으며 IK 솔루션에 영향을 줄 수 있습니다.
pPropertyStateHIKPropertySetState - 캐릭터의 모든 속성이 포함되어 있습니다.
void HIKSolveForEffectorSetBodyPull ( const HIKCharacter pCharacter,
HIKCharacterState pCharacterState,
HIKEffectorSetState pEffectorSetState,
const HIKPropertySetState pPropertyState 
)

캐릭터 pCharacter에 대한 당기기 솔버를 호출합니다.

매개변수
pCharacter해석할 캐릭터
pEffectorSetStateHIKEffectorSetState - IK 목표점 및 IK 제약 조건 값이 포함되어 있습니다.
[in,out]pCharacterStateHIKCharacterState - 캐릭터에 대한 초기 FK 포즈가 포함되어 있으며 IK 솔루션에 영향을 줄 수 있습니다.
pPropertyStateHIKPropertySetState - 캐릭터의 모든 속성이 포함되어 있습니다.
void HIKSolveForEffectorSetFingersAndToes ( const HIKCharacter pCharacter,
HIKCharacterState pCharacterState,
HIKEffectorSetState pEffectorSetState,
const HIKPropertySetState pPropertyState 
)

캐릭터 pCharacter에 대한 손가락 및 발가락 IK 솔버를 호출합니다.

매개변수
pCharacter해석할 캐릭터
pEffectorSetStateHIKEffectorSetState - IK 목표점 및 IK 제약 조건 값이 포함되어 있습니다.
[in,out]pCharacterStateHIKCharacterState - 캐릭터에 대한 초기 FK 포즈가 포함되어 있으며 IK 솔루션에 영향을 줄 수 있습니다.
pPropertyStateHIKPropertySetState - 캐릭터의 모든 속성이 포함되어 있습니다.
void HIKSolveForEffectorSetFloorContact ( const HIKCharacter pCharacter,
HIKCharacterState pCharacterState,
HIKEffectorSetState pEffectorSetState,
const HIKPropertySetState pPropertyState 
)

캐릭터 pCharacter에 대한 바닥 솔버를 호출합니다.

이 솔버는 바닥 위치 위로 손목, 발목, 손가락 및 발가락을 이동합니다. 바닥 접점은 속성 상태 pPropertyState로 사용되어야 합니다.

매개변수
pCharacter해석할 캐릭터
pEffectorSetStateHIKEffectorSetState - IK 목표점 및 IK 제약 조건 값이 포함되어 있습니다.
[in,out]pCharacterStateHIKCharacterState - 캐릭터에 대한 초기 FK 포즈가 포함되어 있으며 IK 솔루션에 영향을 줄 수 있습니다.
pPropertyStateHIKPropertySetState - 캐릭터의 모든 속성이 포함되어 있습니다.
void HIKSolveForEffectorSetFloorContactApprox ( const HIKCharacter pCharacter,
HIKCharacterState pCharacterState,
HIKEffectorSetState pEffectorSetState,
const HIKPropertySetState pPropertyState 
)

캐릭터 pCharacter에 대한 바닥 접점 근사화 솔버를 호출합니다.

바닥 접점이 HIKPropertySetState pPropertyState에서 사용되는 경우 이 솔버가 손목 및 발목을 이동하여 바닥 위치 위로 근사화합니다.

바닥 아래로 발과 손을 당기지 않도록 하려면 이 함수를 당기기 솔버 이전에 호출해야 합니다.

매개변수
pCharacter해석할 캐릭터
pEffectorSetStateHIKEffectorSetState - IK 목표점 및 IK 제약 조건 값이 포함되어 있습니다.
[in,out]pCharacterStateHIKCharacterState - 캐릭터에 대한 초기 FK 포즈가 포함되어 있으며 IK 솔루션에 영향을 줄 수 있습니다.
pPropertyStateHIKPropertySetState - 캐릭터의 모든 속성이 포함되어 있습니다.
void HIKSolveForEffectorSetHeadAndNeck ( const HIKCharacter pCharacter,
HIKCharacterState pCharacterState,
HIKEffectorSetState pEffectorSetState,
const HIKPropertySetState pPropertyState 
)

캐릭터 pCharacter에 대한 머리 및 목 IK 솔버를 호출합니다.

매개변수
pCharacter해석할 캐릭터
pEffectorSetStateHIKEffectorSetState - IK 목표점 및 IK 제약 조건 값이 포함되어 있습니다.
[in,out]pCharacterStateHIKCharacterState - 캐릭터에 대한 초기 FK 포즈가 포함되어 있으며 IK 솔루션에 영향을 줄 수 있습니다.
pPropertyStateHIKPropertySetState - 캐릭터의 모든 속성이 포함되어 있습니다.
void HIKSolveForEffectorSetHipsTranslation ( const HIKCharacter pCharacter,
HIKCharacterState pCharacterState,
HIKEffectorSetState pEffectorSetState,
const HIKPropertySetState pPropertyState 
)

캐릭터 pCharacter에 대한 특정 엉덩이 변환 솔버를 호출합니다.

매개변수
pCharacter해석할 캐릭터
pEffectorSetStateHIKEffectorSetState - IK 목표점 및 IK 제약 조건 값이 포함되어 있습니다.
[in,out]pCharacterStateHIKCharacterState - 캐릭터에 대한 초기 FK 포즈가 포함되어 있으며 IK 솔루션에 영향을 줄 수 있습니다.
pPropertyStateHIKPropertySetState - 캐릭터의 모든 속성이 포함되어 있습니다.
void HIKSolveForEffectorSetModifiers ( const HIKCharacter pCharacter,
HIKCharacterState pCharacterState,
HIKEffectorSetState pEffectorSetState,
const HIKPropertySetState pPropertyState 
)

캐릭터 pCharacter에 대해 미러 및 잠금 수정자를 호출합니다.

매개변수
pCharacter해석할 캐릭터
pEffectorSetStateHIKEffectorSetState - IK 목표점 및 IK 제약 조건 값이 포함되어 있습니다.
[in,out]pCharacterStateHIKCharacterState - 캐릭터에 대한 초기 FK 포즈가 포함되어 있으며 IK 솔루션에 영향을 줄 수 있습니다.
pPropertyStateHIKPropertySetState - 캐릭터의 모든 속성이 포함되어 있습니다.
void HIKSolveForEffectorSetRollExtraction ( const HIKCharacter pCharacter,
HIKCharacterState pCharacterState,
HIKEffectorSetState pEffectorSetState,
const HIKPropertySetState pPropertyState 
)

캐릭터 pCharacter에 대한 롤 추출 솔버를 호출합니다.

매개변수
pCharacter해석할 캐릭터
pEffectorSetStateHIKEffectorSetState - IK 목표점 및 IK 제약 조건 값이 포함되어 있습니다.
[in,out]pCharacterStateHIKCharacterState - 캐릭터에 대한 초기 FK 포즈가 포함되어 있으며 IK 솔루션에 영향을 줄 수 있습니다.
pPropertyStateHIKPropertySetState - 캐릭터의 모든 속성이 포함되어 있습니다.