论文部分内容阅读
三维动画是三维图形表现技术中的代表性技术,作为模拟真实和虚幻视觉世界的高级技术,在创作空间和表现力上具有其他同类技术不可比拟的优势,在户界面设计上应用三维动画可以在操作的趣味、美观方面很好的提升产品用户体验。根据某公司云影音智能机的用户系统需求,设计实现一套以三维动画为表现形式的窗口特效系统,包括总体框架和空间变形子系统,关键帧子系统。总体框架建立在Clutter图形系统和Clutter动画基础设施之上,以三角网格变形和纹理贴图技术生成窗口动画,两个子系统分别采用空间变形技术和关键帧技术作为动画实现手段。总体框架设计中,基于Clutter基础对象创建动画系统(Animation)和离屏纹理(Offscreen)。Animation封装Clutter动画基础设施,管理物体模型数据结构并执行三角面渲染,其实例对象实现具体空间变形和关键帧动画的核心计算。Offscreen实现动画对象的离屏渲染,并将渲染结果作为纹理传递给Animation。空间变形系统中,建立匹配的网格模型覆盖窗口,在渲染网格前,插入网格变形处理,网格空间变形由算法控制,设计人员可以在实现空间变形的子类中集中编写变形算法,其余工作由Animation管理。关键帧动画系统分为两种模式,第一种使用与空间变形系统相同网格生成办法,接受表示窗口位置、缩放和朝向的关键帧,关键帧使用向量定义;第二种使用离线建模工具制作的物体网格模型作为关键帧,采用第一幅关键帧文件提供的网格模型作为窗口网格,要求所有关键帧网格具有相同顶点数和拓扑结构,窗口的离线纹理作为贴图。创建一个插值器类封装关键帧之间的插值计算,给出一种基于Catmull-Rom样条线的插值器实现,并采用四元数技术表示窗口朝向。创建关键帧类型封装向量格式关键帧和网格文件关键帧,创建动画轨迹(AnimationTrack)管理关键帧序列和插值器调用。