ID3DXAnimationController动画控制器相关函数解析

来源:互联网 发布:淘宝伴侣 编辑:程序博客网 时间:2024/06/09 22:55

1、介绍:该接口既有控制动画的功能,在动画中既有连接动画集和变换框架的作用。在整个时间里,该接口的方法能够混合多重动画和修改混合参数,以实现平滑过度和其他效果。该接口继承自IUnkonwn接口,因此ID3DXAnimationController也既有IUnkonwn接口的方法。

2、ID3DXAnimationController接口的方法有以下几个:

方法描述AdvanceTime

对于网格动画,通过一个数值,能够加速全局动画的时间.

CloneAnimationController

克隆或复制一个动画控制器.

GetAnimationSet

获得一个动画集.

GetAnimationSetByName

通过名字,得到动画集.

GetCurrentPriorityBlend

在当前运行时返回一个优先数.

GetCurrentTrackEvent

返回当前的一个运行轨迹.

GetEventDesc

得到一个动画事件的描述.

GetMaxNumAnimationOutputs

得到动画控制器能够支持的最大动画数输出.

GetMaxNumAnimationSets

获得动画控制器能够支持的最大动画集输出.

GetMaxNumEvents

获得动画控制器能够支持的最大事件数量.

GetMaxNumTracks

获得动画控制器能够支持的最大轨迹数量.

GetNumAnimationSets

返回目前在动画控制器中注册的动画集.

GetPriorityBlend

通过动画控制器得到当前的优先混合权重.

GetTime

获得全集动画时间.

GetTrackAnimationSet

从给出的轨迹中获得动画集.

GetTrackDesc

获得轨迹描述.

GetUpcomingPriorityBlend

在一个特殊事件之后,返回一个事件处理下一个优先混合事件调度。

GetUpcomingTrackEvent

在一个动画轨迹特殊事件之后,返回一个事件处理下一个事件调度。

KeyPriorityBlend

为指定的动画轨迹设置混合事件键。

KeyTrackEnable

设置一个事件键开启或禁用动画轨迹.

KeyTrackPosition

为一个动画轨迹设置事件键以改变局部时间.

KeyTrackSpeed

设置事件键以改变动画轨迹播放的速率。

KeyTrackWeight

设置事件键以改变动画轨迹的权重。这个权重被用作多重混合轨迹一起。

RegisterAnimationOutput

为动画控制器添加一个动画输出,注册一个缩放,旋转和平移变换。

RegisterAnimationSet

在动画控制器中添加一个动画集.

ResetTime

充值全集动画事件为0,将改变事件调度时保持原始调度,但在一个新的时间帧中。

SetPriorityBlend

设置一个给动画控制器使用的有限混合权重。

SetTrackAnimationSet

指定的轨迹中应用一个动画集。

SetTrackDesc

设置轨迹描述.

SetTrackEnable

在动画控制器中开启或禁用一个轨迹。.

SetTrackPosition

设置轨迹的局部动画时间。.

SetTrackPriority

为指定的动画轨迹设置优先混合权重。

SetTrackSpeed

设置轨迹速度,在轨迹播放过程中,这个轨迹速度类似于多重的被用作速度增大或减慢。 

SetTrackWeight

设置轨迹权重,这个权重用作如何混合多个在一起的轨迹。

UnkeyAllPriorityBlends

从动画控制器中移除所有的有限混合事件。

UnkeyAllTrackEvents

从指定动画轨迹中移除所有事件。

UnkeyEvent

从一个动画轨迹中移除一个指定的事件,防止事件的执行。

UnregisterAnimationSet

从动画控制器中移除一个动画集。

ValidateEvent

检查一个指定的事件是否合法,这个动画事件也没有完成。

3、注意,创建一个动画控制器可以使用:D3DXCreateAnimationController。

4、LPD3DXANIMATIONCONTROLLER被定义了指向ID3DXAnimationController 接口。

typedef interface ID3DXAnimationController ID3DXAnimationController;typedef interface ID3DXAnimationController *LPD3DXANIMATIONCONTROLLER;
5、D3DXEVENTHANDLE被定义做指向动画控制器事件的句柄。

typedef DWORD D3DXEVENTHANDLE;
6、LPD3DXEVENTHANDLE被定义做指向动画控制器事件的事件句柄指针。

typedef D3DXEVENTHANDLE *LPD3DXEVENTHANDLE;
7、必须文件

头文件:D3dx9anim.h

库文件:D3dx9.lib


第一次尝试翻译英文资料,由于英语水平的限制,难免出现一些描述有误的地方或者一些翻译不合理的地方。自己找了很多资料就是找不到中文方面的,找到的也是乱七八糟的,只能尝试自己翻译。

原文来自:https://msdn.microsoft.com/zh-cn/library/bb205626(v=vs.85).aspx

0 0