本文整理汇总了C++中ISkeletonPose::GetIPoseBlenderLook方法的典型用法代码示例。如果您正苦于以下问题:C++ ISkeletonPose::GetIPoseBlenderLook方法的具体用法?C++ ISkeletonPose::GetIPoseBlenderLook怎么用?C++ ISkeletonPose::GetIPoseBlenderLook使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ISkeletonPose
的用法示例。
在下文中一共展示了ISkeletonPose::GetIPoseBlenderLook方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: InitialisePoseBlenderLook
void CProceduralContextLook::InitialisePoseBlenderLook()
{
CRY_ASSERT( m_entity );
const int slot = 0;
ICharacterInstance* pCharacterInstance = m_entity->GetCharacter( slot );
if ( pCharacterInstance == NULL )
{
return;
}
ISkeletonPose* pSkeletonPose = pCharacterInstance->GetISkeletonPose();
if ( pSkeletonPose == NULL )
{
return;
}
m_pPoseBlenderLook = pSkeletonPose->GetIPoseBlenderLook();
if ( m_pPoseBlenderLook )
{
float polarCoordinatesSmoothTimeSeconds = 0.1f;
float polarCoordinatesMaxYawDegreesPerSecond = 360.f;
float polarCoordinatesMaxPitchDegreesPerSecond = 360.f;
float fadeInSeconds = 0.25f;
float fadeOutSeconds = 0.25f;
float fadeOutMinDistance = 0.f;
IScriptTable* pScriptTable = m_entity->GetScriptTable();
if ( pScriptTable )
{
SmartScriptTable pProceduralContextLookTable;
pScriptTable->GetValue( "ProceduralContextLook", pProceduralContextLookTable );
if ( pProceduralContextLookTable )
{
pProceduralContextLookTable->GetValue( "polarCoordinatesSmoothTimeSeconds", polarCoordinatesSmoothTimeSeconds );
pProceduralContextLookTable->GetValue( "polarCoordinatesMaxYawDegreesPerSecond", polarCoordinatesMaxYawDegreesPerSecond );
pProceduralContextLookTable->GetValue( "polarCoordinatesMaxPitchDegreesPerSecond", polarCoordinatesMaxPitchDegreesPerSecond );
pProceduralContextLookTable->GetValue( "fadeInSeconds", fadeInSeconds );
pProceduralContextLookTable->GetValue( "fadeOutSeconds", fadeOutSeconds );
pProceduralContextLookTable->GetValue( "fadeOutMinDistance", fadeOutMinDistance );
}
}
m_pPoseBlenderLook->SetPolarCoordinatesSmoothTimeSeconds( polarCoordinatesSmoothTimeSeconds );
m_pPoseBlenderLook->SetPolarCoordinatesMaxRadiansPerSecond( Vec2( DEG2RAD( polarCoordinatesMaxYawDegreesPerSecond ), DEG2RAD( polarCoordinatesMaxPitchDegreesPerSecond ) ) );
m_pPoseBlenderLook->SetFadeInSpeed( fadeInSeconds );
m_pPoseBlenderLook->SetFadeOutSpeed( fadeOutSeconds );
m_pPoseBlenderLook->SetFadeOutMinDistance( fadeOutMinDistance );
m_pPoseBlenderLook->SetState( false );
}
}