ID3DXAnimationController动画控制器接口初步了解

ID3DXAnimationController* m_pAnimController;一个Track也就是一个AnimationSet。

HRESULT Init( LPCSTR pName, LPDIRECT3DDEVICE9 pDevice )

{

D3DXLoadMeshHierarchyFromX( pName, D3DXMESH_MANAGED,pDevice,&m_Alloc, NULL, &m_pFrameRoot, &m_pAnimController );SetupBoneMatrixPointers( m_pFrameRoot ) ;

return S_OK;}

这样之后m_pAnimController就可以开始工作了。

1、获得动画集数目:m_pAnimController->GetNumAnimationSets();

2、 获得给定索引的动画集:LPD3DXANIMATIONSET pAnimSet = NULL;m_pAnimController->GetAnimationSet( index, &pAnimSet );

3、获得动画集的名称:pAnimSet->GetName();

4、获取 当前动画总播放时间:double m_lfTotalFrameTime;m_lfTotalFrameTime = pAnimSet->GetPeriod();

5、通过名字得到动画集:LPD3DXANIMATIONSET pAnimSet = NULL;m_pAnimController->GetAnimationSetByName( pName, &pAnimSet );

6、改变动画集:DWORD dwNewTrack = 0;

m_pAnimController->SetTrackAnimationSet( dwNewTrack, pAnimSet );

m_pAnimController->SetTrackEnable( dwNewTrack, TRUE );

以下多动画集渲染

LPD3DXANIMATIONSET pAnimSet;for(DWORD i=0;i<<span style="font-family: Arial;">m_pAnimController->GetNumAnimationSets()</span>;i++){m_pAnimController->GetAnimationSet(i,&pAnimSet);DWORD test = 0;test = pAnimSet->GetPeriod();strcpy(strTempName,pAnimSet->GetName());if(strcmp(strAnimName,strTempName)==0) {m_pAnimController->SetTrackAnimationSet(0,pAnimSet); //设置m_pAnimController->ResetTime();//重置return true;}}

,也会有想更换的念头。旅行,正好提供了这样一个机会,

ID3DXAnimationController动画控制器接口初步了解

相关文章:

  • 【算法】直接插入排序C语言实现
  • 嵌入式 FAAC1.28 在海思HI3518C/HI3518A平台linux中的编译优化
  • Android 动画animation 深入分析
  • Mybatis极其(最)简(好)单(用)的一个分页插件
  • Ext JS Kitchen Sink [Learning by doing](2)ArrayGrid
  • 你感兴趣的文章:

    标签云:

    亚洲高清电影在线, 免费高清电影, 八戒影院夜间, 八戒电影最新大片, 出轨在线电影, 午夜电影院, 在线影院a1166, 在线电影院, 在线观看美剧下载, 日本爱情电影, 日韩高清电影在线, 电影天堂网, 直播盒子app, 聚合直播, 高清美剧, 高清美剧在线观看 EhViewer-E站, E站, E站绿色版, qqmulu.com, qq目录网, qq网站目录,