结合本书的大规模角色变形方法、角色驱动方法和角色快速绘制方法,可以实现大规模运动角色的仿真,该仿真过程由三部分组成,分别是角色动作驱动、角色模型变形和角色快速绘制,其中角色动作驱动和角色图像变形共同实现单个运动角色的仿真,通过角色快速绘制技术,将单个角色的仿真方法应用于大规模角色的仿真。图7-1所示为大规模角色群组仿真流程图。
角色动作驱动部分根据预先设定的动作计算场景中各运动角色的当前动作状态,该部分使用基于视频的动作驱动方法更新角色动作状态。动作驱动过程中,加载动作数据,在运动过程中改变每个关节点的旋转角,根据骨骼框架信息计算各关节点的新位置,实现虚拟角色的动作驱动。
图7-1 大规模角色群组仿真流程图
角色变形部分负责根据运动角色的当前动作状态计算其变形结果。该部分使用基于自适应网格的图像变形计算,在角色变形过程中,根据动作驱动步骤中获得的各关节点新位置,更新各关节点的自适应网格,获得对应于该动作状态的角色变形结果。
角色快速绘制部分结合Billboard技术和动态纹理技术快速绘制运动角色,渲染到纹理技术将运动角色的当前变形结果渲染为可以内容实时更新的动态纹理;最终获得大规模运动角色的动态场景。
基于本书的思想与方法,现已经在PC上实现了一个基于动态纹理的大规模运动角色快速绘制演示程序。本章实验的硬件配置为Intel P43.0G CPU,1GB内存,nVidia GeForce FX6600128M显卡,软件环境为Windows XP操作系统,编程环境为Microsoft Visual Studio 2005,3D开发环境为OpenGL。(www.xing528.com)
本节的实验使用的角色选为Girl角色,在实验过程中,实现该角色的运动场景绘制。通过实验结果及数据的分析,验证本书提出的角色群组仿真方法的有效性。
本节的实验主要包含如下几部分:
(1)验证通过动态纹理技术实现大规模运动角色快速绘制方法的可行性。本书提出使用结合动态纹理技术和Billboard技术的方法,实现大量角色的快速绘制,并结合本书提出的运动角色变形方法和角色动作驱动方法,共同完成大规模运动角色的实时仿真。通过演示系统的绘制结果,说明该方法的可行性和有效性。
(2)获得动态场景仿真速度与运动角色数量的关系。本章提出的快速绘制方法及角色变形方法,主要是针对于大量角色的快速仿真应用,因此分别使用这些方法所实现的动态场景中,能实时仿真的运动角色的数量是一个重要的衡量标准。通过分别统计不同角色数量下的各步骤执行时间,获得运动角色数量与仿真速度的关系,并同时验证图形硬件加速的有效性。
(3)获得动态场景仿真运行时间与角色种类数的关系。本书提出的大规模运动角色快速绘制方法得益于两个方面:一方面是基于Billboard绘制的快速性和角色变形算法的快速性,另一方面是在实际绘制过程中使用了纹理复用技术,使用同一个纹理内容进行绘制类似的角色。场景中不同角色的种类数直接影响场景中的多样性,并引起角色变形过程的运行时间变化。通过分别统计不同变形角色种类数下的运行时间,说明角色种类数对执行时间的影响。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。