人口爆炸
--人群的动画制作
一种新的人群动画(制作)技术能使研究者们实时把密集人群的虚拟环境形象化……
人群(动画)是虚拟现实开发者的一大恶梦。没有图像质量和实时的相互作用,用现今的商业工具来渲染一个场景中大量的独立人群几乎是不可能的。最主要的难题就是要使他们形象化并为其设置动画。目前(研究者)面临的一个挑战就是许多城镇和都市的极为详细的几何模型的外观需要一些可信的虚拟居民来加强它们的真实性。为此目的,伦敦大学计算机科学系的图形研究员Franco Tecchia、Yiorgos Chrysanthou和Celine Loscos正在用他们为创建人口密集的城市环境开发的一个实时系统设计一个虚拟的人口爆炸。他们用基于图像的渲染来保持图像质量,并用基于硬件的冲突检出来避免数码合成人员之间,以及与环境中的物体之间的相互碰撞。
对用于大部分虚拟环境中的传统的多边形渲染方法来讲,基于图像的渲染的方法是个可选之策。Tecchia说道:"按照以往的方法,为达到良好的图像质量,每个具体模型需要数千个多边形。所以,为了实时运用,渲染一个群体需要大大加强CPU。"相反,基于图像渲染的方法主要依靠每个角色的简单的几何图像,这样使渲染程序简单化。
新的系统只要求每个人有一个多边形,用一个预先计算好的纹理来绘制贴图,从不同的视觉角度描绘人群。万分感谢近些年来廉价计算机上的专用的纹理内存已达到幂增长,系统能储存大量人体特征的不同的图画,当他们正执行一个行走动画时,系统就会抽取样品。
图片如下:
新的人群渲染系统的第一步就是创建大量的样本图画。首先,研究者们创造了8个从Y轴确定的高度上的16个不同视觉点观察到的图像。然后把它们进行镜面成像处理,创建32个不同的相距11.25度的图像,并作为纹理贴图存储起来。通过把在一个有正确方位单一多边形上的图像传递到摄像机,系统为每个人都创建了一个视觉图像。为了每个结构,系统分析了每个人与视觉点的关系以此来挑选适当的图像。为了视觉上描绘已设置动画的外形,系统在纹理存储器里为相同的模型储存了许多从一个动画的不同的结构帧取下来的快照,并在每个结构上挑选了不同的纹理。
这种方法的弊端就在于需要大量的纹理内存,Tecchia说:"我们发现容量为16GB的专用纹理存储器不能满足得体的图像质量的要求。现在,我们正使用的是64GB的纹理存储器,但总的来说越大的越好。"为了降低存储器的需求,系统利用虚拟环境的某些制约因素,在大量必要的图像中允许有一个减量。例如,在有许多人群的场景中,大部分的人都离视觉点较远。而且,每个人都有他(她)自己的运动方向,但是,可能发生的旋转通常是由Y轴限制的。Tecchia最后补充道:"我们很少从下面观察到许多人的一个画面,因此,我们可以从下面来抽取这些画面的样品。"
当从远距离观察到的场景中聚居数千个设置好动画的个人时,基于图像的方法是成功的。当视觉点移近时,图像质量就会受损害。Tecchia说:"由于代替真实几何体的替代者的扁平特性,当摄像机移近人群时,人工图像制品就会趋于明显。"同样,如果注意力集中在一个离视觉点非常近的单一个体上,在两个不同的基于图像的代表物交换的过程中有时会出现间歇震荡的效果。
系统第二个重要的成分就是它的冲突检出能力。因为大量的运动实体以及静态模型渐增的复杂性,所以,应用程序要求一个快速的并且可升级的运算法则。为了处理这个,系统把环境空间划分为许多不连续的部分。通过用摄像机从上至下对静态模型进行垂直线的渲染,以及读取Z缓冲器,系统创建了一个高度贴图。环境中每个点上高度的不连续的图像作为一个阵列保留在主要的存储器内。
图片如下:
"通过把每个个体的位置贴到这个阵列上,以及把个体的高度与高度贴图上相应值相比较,我们能对碰撞进行测验,"Tecchia说,"如果它们两者的差别超出最低极限,那就意味着从实际的人体模型的位置爬上爬下这必要的一步是非常重要的,我们把物体分类为'无法攀登的(个体)',迫使人体模型改变方向。另外,我们让人体模型朝新的方向移动,并用储存在高度贴图里的数值来更新它的高度。"
第二类贴图叫碰撞贴图,它用来检测人体模型之间的碰撞,并能避免人体模型之间挨得太近。"可允许的"接近是由贴图象素大小来决定的。最初,贴图中所有象素的值设为零。带有零值的象素表明空间位置是自由的。带有大于零的数值的象素表示空间位置被占据或个人之间靠得太近。运算法则能找到每个人体模型的贴图里的位置,以及围绕它周围的8处位置,并增大他们的数值。当一个人体模型要移动时,系统将抽取目的地的样品。如果目的地已被占领,人体模型就不得不移向别处。
研究人员的目的就是创建一个能在廉价的图形计算机上执行的系统。原始的系统是在一个标准的配置有一个350MHZ PII处理器,250MB内存和一个带有32MB视频内存的OpenGL-compliant视频卡的Intel工作站上开发出来的。Tecchia说:"通过在模拟过程中限制纹理变化的数量,我们竭力增大渲染此类建筑的效率,因为这个操作非常的费时。"为达到此目的,研究人员把一个物体的所有不同的视觉图像聚合成一个单一的纹理。为创建一个伦敦中心的城镇模型,每个图像都有一个64×64象素的分辨率。因此,一个1024-×-512象素纹理能容纳所有的图像。他说:"就图像质量和内存需求来讲,我们发现这个将是最好的解决办法。"
为了精练系统使其运用更广泛,研究人员正在寻找方法把涉及到设置好纹理贴图的物体的平面的人工图像制品减到最少。他们也正在研究技巧来减少由创建和管理图像样本引起的错误。Tecchia说:"在一个动画序列中,仅仅一个象素的错误就能产生恼人的人工制品。"研究人员也正盼望着开发硬件来支持图像扭曲,Tecchia说:"这样就能解决几乎所有的我们正经历的人工制品问题。"
在各种各样的最适合于新的技术的应用程序中,游戏开发居于榜首。Tecchia说:"游戏公司对能够实时渲染一起活动的人群非常感兴趣。"建筑设计与城市规划和模拟应用程序都朝向利益这一方。
有关人群动画系统更多的信息可参考网站:http://WWW.cs.ucl.ac.uk.
转自火星时代