대상 변경

모듈 설명

이 섹션에서는 애니메이션을 대상 변경하는 데 사용되는 함수를 설명합니다.

대상 변경은 캐릭터에 대해 사전에 기록된 애니메이션을 가져와 동일한 애니메이션을 사용하여 매우 다른 골격, 차원 또는 특징을 가질 수 있는 다른 대상 캐릭터의 움직임을 구동합니다. 대상 변경을 위해서는 소스 캐릭터, 현재 해당 위치(일반적으로 사전에 기록된 애니메이션에서 가져옴) 및 대상 캐릭터가 포함된 HIKCharacterState가 있어야 합니다. 대상 변경 솔버는 소스 캐릭터의 포즈를 흉내내는 대상 캐릭터에 대해 새 포즈를 만들고 이 포즈를 제공하는 HIKCharacterState에 저장합니다. 게임에서 이 포즈를 검색하고 대상 캐릭터에 다시 적용합니다.

또한 대상 변경 솔버의 작동을 제어하는 대상 캐릭터에 대해 다양한 캐릭터 속성을 지정할 수 있습니다. 예를 들어 대상 캐릭터 몸체의 다른 부분이 소스 캐릭터의 몸체 위치와 얼마나 가깝게 일치해야 하는 정도에 영향을 주는 도달 값을 제공할 수 있습니다. 이 단계는 대상 변경 프로세스 이후 IK 솔버에 대한 호출을 통해 수행됩니다.

모듈

 Low-LoD Retargeting
 이 페이지는 낮은 정밀도 레벨을 사용하여 캐릭터에 대해 대상 변경을 수행하는 데 사용되는 함수를 자세히 설명합니다.
 

함수

void HIKSolveForCharacter (const HIKCharacter *pDstCharacter, HIKCharacterState *pCharacterState, const HIKCharacter *pSrcCharacter, const HIKCharacterState *pSrcCharacterState, HIKEffectorSetState *pEffectorSetState, const HIKPropertySetState *pDstPropertyState, const HIKPropertySetState *pSrcPropertyState)
 pSrcCharacter캐릭터의 포즈를 정의합니다.에서 소스 캐릭터 pSrcCharacterState가 주어지고 대상 캐릭터 캐릭터의 포즈를 정의합니다.HIKCharacterStatepCharacterStatepDstCharacter를 계산합니다. 자세한 내용...
 
void HIKSolveForCharacterPrepareEffectorSet (const HIKCharacter *pDstCharacter, HIKCharacterState *pDstCharacterState, const HIKCharacter *pSrcCharacter, const HIKCharacterState *pSrcCharacterState, HIKEffectorSetState *pEffectorSetState, const HIKPropertySetState *pDstPropertyState, const HIKPropertySetState *pSrcPropertyState)
 소스 FK pEffectorSetState에서 IK pSrcCharacterState를 동기화하고 대상 캐릭터 pDstCharacter를 기준으로 IK를 조정합니다. 자세한 내용...
 
void HIKSolveForCharacterRetarget (const HIKCharacter *pDstCharacter, HIKCharacterState *pDstCharacterState, const HIKCharacter *pSrcCharacter, const HIKCharacterState *pSrcCharacterState, const HIKPropertySetState *pDstPropertyState)
 pSrcCharacterpDstCharacter 사이의 단순한 회전 매퍼 자세한 내용...
 

함수 설명서

void HIKSolveForCharacter ( const HIKCharacter pDstCharacter,
HIKCharacterState pCharacterState,
const HIKCharacter pSrcCharacter,
const HIKCharacterState pSrcCharacterState,
HIKEffectorSetState pEffectorSetState,
const HIKPropertySetState pDstPropertyState,
const HIKPropertySetState pSrcPropertyState 
)

HIKCharacterStatepSrcCharacterState에서 소스 캐릭터 pSrcCharacter가 주어지고 대상 캐릭터 pDstCharacter에 대해 HIKCharacterStatepCharacterState를 계산합니다.

이 함수는 다음 함수를 순서대로 호출합니다.

매개변수
pDstCharacter대상 캐릭터
[out]pCharacterStateHIKCharacterState - 대상 캐릭터용 최종 솔루션을 저장하는 데 이 HIKCharacterState가 사용됩니다.
pSrcCharacter소스 캐릭터
pSrcCharacterStateHIKCharacterState - 소스 캐릭터의 현재 포즈가 포함되어 있으며 대상 캐릭터에 적용됩니다.
pEffectorSetStateHIKEffectorSetState - 대상 변경 후 전체 몸체 IK 패스에 사용됩니다. 이 상태에 대해 적절한 해석 단계를 설정하십시오. HIKSetIKSolvingStep()을 참조하십시오.
pDstPropertyStateHIKPropertySetState - 대상 캐릭터에 대해 솔버에서 사용되는 모든 속성이 포함되어 있습니다.
pSrcPropertyStateHIKPropertySetState - 소스 캐릭터용 이 상태는 HIKEffectorSetState에서 HIKSolvingStepContact 해석 단계를 사용한 경우에만 사용됩니다. 그런 경우 속성 HIKFootBottomToAnkleId을 이 HIKPropertySetState에서 읽어 소스 캐릭터의 발목의 높이를 정의합니다. 이 값은 대상 캐릭터에 대해 생성된 포즈의 높이를 적용하는 데 사용됩니다.
void HIKSolveForCharacterPrepareEffectorSet ( const HIKCharacter pDstCharacter,
HIKCharacterState pDstCharacterState,
const HIKCharacter pSrcCharacter,
const HIKCharacterState pSrcCharacterState,
HIKEffectorSetState pEffectorSetState,
const HIKPropertySetState pDstPropertyState,
const HIKPropertySetState pSrcPropertyState 
)

소스 FK pSrcCharacterState에서 IK pEffectorSetState를 동기화하고 대상 캐릭터 pDstCharacter를 기준으로 IK를 조정합니다.

매개변수
pDstCharacter대상 캐릭터
[out]pDstCharacterStateHIKCharacterState - 대상 캐릭터용 최종 솔루션을 저장하는 데 이 HIKCharacterState가 사용됩니다.
pSrcCharacter소스 캐릭터
pSrcCharacterStateHIKCharacterState - 소스 캐릭터의 현재 포즈가 포함되어 있으며 대상 캐릭터에 적용됩니다.
[out]pEffectorSetStateHIKEffectorSetState - 대상 변경을 마무리하는 데 IK 솔버를 통해 패스를 제어하는 이 함수에서 설정됩니다.
pDstPropertyStateHIKPropertySetState - 대상 캐릭터에 대해 솔버에서 사용되는 모든 속성이 포함되어 있습니다.
pSrcPropertyStateHIKPropertySetState - 소스 캐릭터용 이 상태는 HIKEffectorSetState에서 HIKSolvingStepContact 해석 단계를 사용한 경우에만 사용됩니다. 그런 경우 속성 HIKFootBottomToAnkleId를 이 HIKPropertySetState에서 읽어 소스 캐릭터의 발목의 높이를 정의합니다. 이 값은 대상 캐릭터에 대해 생성된 포즈의 높이를 적용하는 데 사용됩니다.
void HIKSolveForCharacterRetarget ( const HIKCharacter pDstCharacter,
HIKCharacterState pDstCharacterState,
const HIKCharacter pSrcCharacter,
const HIKCharacterState pSrcCharacterState,
const HIKPropertySetState pDstPropertyState 
)

pSrcCharacterpDstCharacter 사이의 단순한 회전 매퍼

매개변수
pDstCharacter대상 캐릭터
[out]pDstCharacterStateHIKCharacterState - 대상 캐릭터용 최종 솔루션을 저장하는 데 이 HIKCharacterState가 사용됩니다.
pSrcCharacter소스 캐릭터
pSrcCharacterStateHIKCharacterState - 소스 캐릭터의 현재 포즈가 포함되어 있으며 대상 캐릭터에 적용됩니다.
pDstPropertyStateHIKPropertySetState - 대상 캐릭터에 대해 솔버에서 사용되는 모든 속성이 포함되어 있습니다.