本文整理汇总了C++中KeyFrame::setChannel方法的典型用法代码示例。如果您正苦于以下问题:C++ KeyFrame::setChannel方法的具体用法?C++ KeyFrame::setChannel怎么用?C++ KeyFrame::setChannel使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类KeyFrame
的用法示例。
在下文中一共展示了KeyFrame::setChannel方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: addPositionKey
void AnimExportUtil::addPositionKey( KeyFrameContainer& anim, const Matrix4x4& tm, float time )
{
KeyFrame key;
key.time = time;
key.interpolation = INTERP_TYPE;
key.setChannel( 0, tm(0,3) );
key.setChannel( 1, tm(1,3) );
key.setChannel( 2, tm(2,3) );
anim.insertKey( key );
}
示例2: addRotationKey
void AnimExportUtil::addRotationKey( KeyFrameContainer& anim, const Matrix4x4& tm, float time )
{
Matrix3x3 rotm = tm.rotation().orthonormalize();
Quaternion q( rotm );
KeyFrame key;
key.time = time;
key.interpolation = INTERP_TYPE;
key.setChannel( 0, q.x );
key.setChannel( 1, q.y );
key.setChannel( 2, q.z );
key.setChannel( 3, q.w );
anim.insertKey( key );
}
示例3: addScaleKey
void AnimExportUtil::addScaleKey( KeyFrameContainer& anim, const Matrix4x4& tm, float time )
{
KeyFrame key;
key.time = time;
key.interpolation = INTERP_TYPE;
for ( int i = 0 ; i < 3 ; ++i )
{
Vector3 axis = getAxis( tm, i );
float s = axis.dot( normalize0(axis) );
key.setChannel( i, s );
}
anim.insertKey( key );
}