第三章 第三节 动画对象

动画对象

把物体的运动关联起来就是动画处理。动画对象有一个或者多个动画作为对象定义的一部分和动画对象存储在一起。一个动画可以看做是子对象相对于物体主对象位置变化的一个基于时间的序列。例如人体的动画有奔跑、跳跃、蹲下、战斗等等。动画的速度通常以每秒多少帧来定义。给定一个速度和动画持续的时间,我们就能计算出给定的动画需要多少帧。我们也可以计算出两帧之间需要多少时间。调和(reconcile the values between the animation time step and the rendering time step)动画的速度和渲染器的速度很重要。如果两个速度值不一样,动画速度则依渲染器的速度而定,动画播放速度可能会变慢或者变快。此问题的解决方案叫做补间(The solution to this problem is called tweening)。

 

补间是在动画位置之间插值的处理。想象一下在每对顶点位置的直线上进行线性插值。人体动画通常基于骨骼系统。骨骼由人体网格(mesh)里不可见的骨架组成。每一个骨骼都是人体对象的一个子对象,一个或者多个骨骼影响指定的网格的顶点。使用这种方法,在动画中随着骨骼的位置变化网格便被操纵。此方法的另一个优点是定义一个动画所需要的数据量。我们不必要为动画每一帧里每一个顶点都定义位置,而是为动画的每一帧定义骨骼位置信息。随着动画的进行,运动的骨骼决定了当前渲染的帧的网格的每一个顶点的位置。此处理的一个例子是Microsoft提供的SDK里的SkinnedMesh例子。在这个处理中,此刻重要是我们必须决定动画的当前帧(或者计算出补间值)和网格的顶点位置。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值