HumanIK 오브젝트 저장 및 로드

HumanIK는 디스크의 파일에 오브젝트를 저장하고 해당 오브젝트를 저장된 파일에서 메모리로 복원하기 위한 함수 세트를 제공합니다. 게임 중 런타임 시 이러한 함수를 호출할 필요는 없겠지만, HumanIK 사용 중에 문제가 발생하는 경우 이러한 파일은 Autodesk지원부에 정보를 제공하는 효율적이고 효과적인 방법이 될 수 있습니다.

HumanIK에 제공된 몇 가지 샘플에서 이러한 함수를 내부적으로 사용합니다. 예를 들어 MayaHIK 샘플을 사용하면 저장된 파일에서 HumanIK 오브젝트를 로드하여 HIKCharacter가 유지한 캐릭터화 포즈 또는 HIKCharacterState에 포함된 포즈를 시각화하는 데 도움이 될 수 있습니다.

오브젝트를 저장하고 로드하기 위한 모든 함수가 hikdump.h 파일에서 인라인으로 구현됩니다. 사용자는 자체 개발 환경에 맞게 파일 및 메모리 관리에 대한 방법을 자유롭게 다시 설계할 수 있습니다.

지원되는 오브젝트

아래 표에 나열된 함수를 사용하여 다음 오브젝트 유형을 저장하고 로드할 수 있습니다.

메모리 할당

이러한 모든 파일 로딩 함수의 기본 구현은 새 오브젝트에 메모리를 직접 할당하는 malloc 함수를 호출합니다. 이러한 파일 로딩 메서드에서 만든 오브젝트 사용이 완료되면 정리에 설명된 함수를 사용하여 해당 오브젝트를 삭제해야 합니다.

플랫폼 간 지원

위에 설명한 파일 관리 함수는 필요에 따라 투명하게 데이터 파일의 엔디언(Endianness)을 교환합니다. big-endian 플랫폼의 파일에 오브젝트를 저장하면 Windows 시스템과 같은 little-endian 플랫폼에서 해당 파일을 로드할 수 있습니다. 반대의 경우도 마찬가지입니다.