三维场景

2024-10-26

三维场景(共9篇)

三维场景 篇1

对于三维交互动画的制作,通常是建立在DirectX 3D和OpenGL等图形标准的基础上,通过DirectX 3D和Open GL等API函数库结合高级语言编程实现三维虚拟的交互操作。这对非专业人员来说是一件非常困难的。

Director MX是一套很好的多媒体开发工具,其自带的“行为程序库”能实现强大的交互功能。其内部集成的JavaScript,Lingo语言具有良好的重复使用能力[1]。在三维场景交互方面,Director MX加入了Shockwave 3D引擎,可以方便地导入3D模型,并利用软件本身提供的一套功能强大的工具包—3DBehaviors。通过该行为库轻松实现自由拖动、旋转模型,模型的缩放、透明,播放动画等。如果利用Director为Shockwave 3D加入的几百条控制Lingo,结合Director本身功能,能够基本实现各种三维场景的交互需求,并能避开OpenGL和复杂的程序编写。

下面就来介绍如何在Director MX中实现三维场景的交互。

1 使用3D演员

Shockwave 3D的应用范围很广,从简单的三维文字动画到交互式三维游戏环境,都可以通过它表现出来。但Shockwave 3D引擎只能浏览三维模型,虽然用户也可以通过Lingo来创建Shockwave 3D场景,不过要想创建复杂一些的场景就必须借助3DS MAX或MAYA等专业的三维软件。然后再将绘制好的三维模型转换为Shockwave 3D(扩展名为.w3d)的格式,这样Director MX才可以将它导入并成为3D演员。

下面主要讲一下使用3DSMAX的转换。首先利用3DSMAX完成三维造型,为其添加适当的材质纹理,然后选取菜单上的文件|导出命令,之后进入导出对话框,记住选取“Shockwave 3D场景导出”,如图1。

选取之后在“Shockwave3D场景导出选项”对话框中作适当的设置就可以了。这样就将模型转成Shockwave 3D格式文件,即.W3D文件,然后导入Director MX中就形成了3D演员。

2 利用3D行为实现三维场景交互

Director包含了二种不同类型的三维行为库:Trigger(触发器)和Action(动作)(如图2)。当程序运行时,使用者的某一动作(如单击鼠标左键)发生时,Trigger将向系统发出信号,从而引起指定的Action的执行(如旋转模型)。通过不同Action和Trigger的组合,就能很容易制作出很多3D互动效果。

下面制作一个按住鼠标左键就拖动模型旋转的动画。

首先将Shockwave 3D模型导入Director成为3D演员,然后将演员拖拽到Stage(舞台)中。将演员安排好后选取行为“Hold on Current Frame”,并将该行为拖到Score窗口的Frame1上。接着开始正式制作3D互动部分了。

选取3D类中的Actions里面的“Drag Model to Rotate”。放在Sprite1上的演员上面(如图3),接着会跳出“Parameters for'Drag Model to Rotate'”对话框,里面有关于旋转3D模型的设定。

设定好了之后还需要为该动作添加一个触发器(Trig ger)。在3D类中的Trigger里面找到“Mouse Left”行为。把Mouse Left这个行为拖拽到Score窗口中,放在Sprite1上的演员上面(如图4)。

接着会弹出“Parameters for'Mouse Left'”对话框,在里面可以指定要激活的Action,以及一些关于鼠标左键的设定。再选择一个行动群组以及其动作(Select a Group and its Action)下拉列表框中设定Rotate on X and Y(如图5),这样就可以在X和Y轴方向旋转模型了。

当然要想将模型放大、缩小或移动甚至变换摄像机,只要给模型添加不同的Action和Trigger就可以了[2]。

3 利用Lingo语句实现三维场景交互

利用Director的3D行为虽然可以很好控制3D模型,但交互性有些比较复杂的要求还是比较难以实现的。因此熟练地运用3DLingo语句可以更加灵活方便的控制3D模型。下面介绍几条简单实用的3DLingo控制语句。

在Stage窗口中添加一个按钮。打开按钮的Script窗口,输入以下脚本:

这段脚本表示事件名称为“on mouseUp”。即在这个按钮上按下鼠标左键时,就会执行上面这句程序。

sprite(1)是指分镜表中通道1中的角色,sprite(1).camera是指分镜表中通道一中的角色的摄像机,Translate是以某一固定的数值移动摄像机。在这句中指定的数值是(10,0,0),是指沿X轴移动10个像素,沿Y轴与Z轴移动0个像素,三个数字分别代表在三个轴上的改变量。回到Stage窗口,按下按钮摄像机向右移动,因此会看到模型向左移动了。

如果要旋转模型,可以输入:

member(1).model(1).rotate(0,20,0)

则表示旋转演员表中第一个演员中的第一个模型绕Y轴旋转20度。

如果要改变模型的外观(材质),可以输入:

这两句脚本是指在演员表的第一个演员中用演员表中第一个演员的图案建立一个名字叫做“rs”的新texture(材质、贴图),并把它赋给变量myTexture。第二句的意思是把模型1的shader(材质球)中的texture(材质、贴图)属性改变成变量myTexture所指定的值。

当然利用Lingo还可以设定灯光的颜色和方向、动画的播放、模型的运动等等,这里就不再赘述了。

4 结束语

3D场景交互是虚拟现实系统中必不可少的技术,灵活运用Director的3D行为和3DLingo语句可以简单有效地完成3D交互。用户还可以通过Havok这样的外挂程序轻松地完成3D对象的碰撞与检测,设定多边形等级,甚至物理性质设定。将这些功能运用在Shockwave 3D中,可以创造出逼真的动作和互动。

摘要:本文介绍了在Director MX中导入Shockwave 3D演员,并利用Director的3D行为和3DLingo语句轻松实现三维场景交互的方法。

关键词:Director MX,三维场景交互,行为,3DLingo

参考文献

[1]古成中,吴新跃.基于Director的交互式虚拟仿真系统[J].杭州:工程设计学报,2007(4):282.

[2]颜志翰,李雅玫.精通Director MX2004多媒体开发[M].北京:清华大学出版社,2005:256-281.

虚拟三维场景下渲染技术的研究 篇2

1 三维场景

1.1 三维的概念

三维是指在平面二维系中又加入了一个方向向量构成的空间系。

所谓三维,按大众理论来讲,只是人为规定的互相交错(垂直是一个很有特性的理解)的三个方向,用这个三维坐标,看起来可以把整个世界任意一点的位置确定下来。原来,三维是为了确定位置。

三维既是坐标轴的三个轴,即x轴、y轴、z轴,其中x表示左右空间,y表示上下空间,z表示前后空间,这样就形成了人的视觉立体感,三维动画就是由三维制作软件制作出来的立体动画,实现再发展的趋势。

所谓的三维空间是指我们所处的空间,可以理解为有前后--上下--左右 如果把时间当作一种物质存在的话再加上时间就是四维空间了。但是不难理解为,你可以在时间里任意往来 回到过去,只是应该理解为"刚才"和"现在"是不同的物质存在,可是你不可能回到"刚才"和"过去"。

三维是由二维组成的,二维即只存在两个方向的交错,将一个二维和一个一维叠合在一起就得到了三维。

三维具有立体性,但我们俗语常说的前后,左右,上下都只是相对于观察的视点来说。没有绝对的前后,左右,上下。

三维技术主要多运用于动漫产业,我国三维动画主要有《探索地球村》(据说是中国第一部三维动画),《魔比斯环》等。

1.2 三维地图

2004年11月,阿拉丁在全球创造性地提出三维仿真城市的概念,并推出全球首个三维仿真网络城市-E都市杭 州。公司从创办之日起,凭借全球领先的三维仿真技术和工艺、一流的创业团队和文化、巨额的风险资本注入,一直保持着高速发展。

通过三维实景模拟的表现方式,E都市网站无缝集成了城市电子地图、三维电子黄页、生活资讯、电子政务、同城电子商务、同城交友、虚拟社区等服务内容。该平台是以一种全新的人性化WEB界面表现,为城市百姓的生活、工作、旅游、出行参考、网上办事、网上创业等活动提供便捷的解决方案;为城市政府机关、事业单位、商家企业提供面向市民宣传互动的快速通道,从而更方便地实现电子政务、地图查询、黄页查询、电子商务、推广宣传等社会活动和经济活动。

E都市的建立和发展,开拓了全球WEBGIS行业应用的新方法和新思路,催生了一个新的技术领域,E都市模式已经成为事实的行业标准。作为中国目前最大的虚拟仿真电子地图,E都市为普通人提供最优秀的电子地图和本地搜索服务;为众多商家提供出了企业标注、地图广告、定位广告、商务地图、API地图租赁等多种产品服务;同时为3000多家合作网站提供了优质的三维位置地理信息服务。

2 渲染技术原理

渲染,英文为Render,也有的把它称为着色,但我更习惯把Shade称为着色,把Render称为渲染。因为Render和Shade值两个词在三维软件中是截然不同的两个概念,虽然它们的功能很相似,但却有不同。Shade是一种显示方案,一般出现在三维软件的主要窗口中,和三维模型的线框图一样起到辅助观察模型的作用。很明显,着色模式比线框模式更容易让我们理解模型的结构,但它只是简单的显示而已,数字图像中把它称为明暗着色法。在像Maya这样的高级三维软件中,还可以用Shade显示出简单的灯光效果、阴影效果和表面纹理效果,当然,高质量的着色效果是需要专业三维图形显示卡来支持的,它可以加速和优化三维图形的显示。但无论怎样优化,它都无法把显示出来的三维图形变成高质量的图像,这时因为Shade采用的是一种实时显示技术,硬件的速度限制它无法实时地反馈出场景中的反射、折射等光线追踪效果。而现实工作中我们往往要把模型或者场景输出成图像文件、视频信号或者电影胶片,这就必须经过Render程序。

2.1.1 渲染单元

渲染管线也称为渲染流水线,是显示芯片内部处理图形信号相互独立的的并行处理单元。在某种程度上可以把渲染管线比喻为工厂里面常见的各种生产流水线,工厂里的生产流水线是为了提高产品的生产能力和效率,而渲染管线则是提高显卡的工作能力和效率。

渲染管线的数量是决定显示芯片性能和档次的最重要的参数之一,在相同的显卡核心频率下,更多的渲染管线也就意味着更大的像素填充率和纹理填充率,从显卡的渲染管线数量上可以大致判断出显卡的性能高低档次。但显卡性能并不仅仅只是取决于渲染管线的数量,同时还取决于显示核心架构、渲染管线的的执行效率、顶点着色单元的数量以及显卡的核心频率和显存频率等等方面。一般来说在相同的显示核心架构下,渲染管线越多也就意味着性能越高,例如16×1架构的GeForce 6800GT其性能要强于12×1架构的GeForce 6800,就象工厂里的采用相同技术的2条生产流水线的生产能力和效率要强于1条生产流水线那样;而在不同的显示核心架构下,渲染管线的数量多就并不意味着性能更好,例如4×2架构的GeForce2 GTS其性能就不如2×2架构的GeForce4 MX440,就象工厂里的采用了先进技术的1条流水线的生产能力和效率反而还要强于只采用了老技术的2条生产流水线那样。

2.1.2 像素渲染

像素渲染可在功能上取代传统的多纹理阶段,它位于光栅化阶段之后。它从光栅器、顶点渲染器、应用程序、纹理贴图几处获取数据。像素渲染器的计算结果可以写入一个渲染目标,然后将该渲染目标设置为后续渲染的输入纹理,这种技术称为渲染到目标。像素渲染器通常输出一个float4类型的值。如果像素渲染器同时对几个渲染目标进行渲染,则最多可以输出4个float4值,这种技术称为多渲染目标。

2.1.3 顶点渲染

顶点渲染可在功能上取代传统的变换与光照阶段,它位于镶嵌阶段之后,剔除与裁剪阶段之前。镶嵌阶段结束后,便将一个顶点数据传递给顶点渲染器,顶点可能包含位置、纹理坐标、顶点颜色、法线等数据。顶点渲染器不能创建或删除顶点,它处理结束后至少要输出顶点中的位置数据。

2.1.4 渲染纹理

色彩是光的一种特性,我们通常看到的色彩是光作用于眼睛的结果。但光线照射到物体上的时候,物体会吸收一些光色,同时也会漫反射一些光色,这些漫反射出来的光色到达我们的的眼睛之后,就决定物体看起来是什么颜色,这种颜色在绘画中称为“固有色”。这些被漫反射出来的光色除了会影响我们的视觉之外,还会影响它周围的物体,这就是光能传递。当然,影响的范围不会像我们的视觉范围那么大,它要遵循光能衰减的原理。另外,有很多资料把RADIOSITY翻译成“热辐射”,其实这也蛮贴切的,因为物体在反射光色的时候,光色就是以辐射的形式发散出去的,所以,它周围的物体才会出现“染色”现象。

三维云场景的红外辐射仿真 篇3

只是在云建模中,大多只集中在可见光波段,而很少讨论红外波段,因此文中就主要针对不同类型的云进行建模,并且根据真实的红外云图到仿真后的三维红外天空,实现场景漫游,可以从不同视角进行观察,提高虚拟场景的逼真程度。

1 云的建模绘制

云类型是多种多样的。自然界存在很多种类型的云,按云的形态分类,云主要有3种类型:一大团的积云、一大片的层云和纤维状的卷云,因此对不同种类的云需要不同的建模与渲染方法。因此,根据不同类型云的形状特性,在研究前人工作成果的基础上,文中应用了一种较好的云建模和渲染方法,即用分形算法生成大片的层云背景,而用粒子系统来生成有明显立体感的云团,利用图形API(Direct X)进行开发仿真。

1.1 基于分形的层云仿真

层云属于低云族,云体均匀成层,常形成不规则的散片[1]。这样的云体与分形生成的图像有很多的相似性,因此在模拟大片层云背景时,可以利用分形算法。

分形算法是一种分形曲面的生成算法,为了叙述方便,以四边形(矩形)作为图形基元为例。这种方法通过对给出的角点数据进行线性插值,同时加上随机扰动,从而求出各边中点及面中心的位移量,再对该四边形域进行四分割,并重复以上过程而得。其算法步骤如下:(1)在矩形域的4个角点上,给出初始值(高度);(2)用线性插值公式,求出各边中点处的位移量(高度);(3)在各中点的位移量上,叠加一随机扰动值,该扰动量沿铅垂方向(向上为正,向下为负),求出各点的位移量;(4)再用线性插值法,求出矩形域面心处的位移量,即得该面中心的标高值。

以上为0级递归。用对分的方法将该矩形域一分为四,重复以上步骤(1)~(4),得到每个小的四边形域(矩形)的各边中点及面心处的位移量(标高值),即为1级递归,2级、3级、……、n级递归过程及计算方法与上类似。

图1便是利用分形生成的层云。

1.2 基于粒子系统的云团仿真

粒子系统是1983年由Reeves提出[2],并成功地模拟了火焰、水波、云彩等不规则模糊物体。粒子系统是由大量粒子结合在一起来表现模糊物体的系统,其基本思想是把模糊物体看成是由大量不规则、运动、随机分布的粒子组成的粒子集。对于各种不同的粒子,虽然形态运动轨迹有所不同,但都有其通用的属性单元[3],每个粒子具有一定的属性(包括外观、空间位置、运动、生存属性等),它们可以在不断运动和改变形状中,来表现景物总体外形特征和动态变化规律。

1.2.1 云团模型的构建

对于云这种具有自相似性的不规则物体,文中利用高斯分布来模拟云的形状,将云的粒子数在x,y,z这3个方向根据不同的高斯函数进行变换,最终得到一个云团的形状。

在建模过程中,对高斯函数进行了一定的改进。将云团的粒子直接当作粒子系统的粒子,具有上面描述的云粒子的数据信息。下面主要讨论如何使用高斯分布来确定云粒子的位置和半径。设云团的中心坐标为(Xc,Yc,Zc),云团半径R,其中中心坐标由随机函数得到,从而再生成大量云团时,可以更好地展现云在天空的随机分布,式(1)是一个云团中每一个云粒子的位置计算公式。

云的高斯分布建模图,如图2所示。

1.2.2 三维云的运动

云的运动主要分为自身内部的生成和消亡和有风引起的平流运动,文中只考虑后者。

被风吹着朝一个方向运动,新的转移规则引入了风的效应。其思想是朝风的方向移动所有变量,为简化起见,假设风朝着x轴或z轴吹。其他情况可以通过根据风的方向旋转模拟空间来处理。另外,风速可以更具需要加以改变。因此,风速被设定为每一个粒子坐标的函数。为了在粒子系统中加入风速,转移规则如下

初始时刻t=t0时,云的位置为(x0,y0,z0),则在t=t1时刻,云的位置为(x1,y0,z1),其中x1=x0+Δx=x0+f1(t-t0),z1=z0+Δz=z0+f2(t-t0)。

2 红外辐射的映射

2.1 云图绘制

背景的红外成像特性与3方面的因素有关,即背景模型、大气传输模型和传感器模型。根据背景红外成像特性建模的3个要素,一些研究者已经建立了云背景的红外成像特性模型,但过于复杂,不适合快速计算。因此本文根据真实的红外云图统计出云图的辐射值和直方图分布,从而可以较逼真的模拟红外天空云图[4]。

在通过对大量真实云图的统计,得到了真实云图图像辐射值的最大值和最小值,以及整个图像均值及方差。这种方法虽然简单,但是可以大体上描述云图的基本红外辐射分布,并且有利于快速运算。

这里只考虑长波情况下的红外云图,因为在长波情况下,可以将云近似看作为灰体,不考虑太阳辐射,只考虑自身辐射即可。为了将红外辐射场在三维云上实现可视化,一般来讲,红外场景生成程序大多将辐射数据量化到灰度图像。最直接、最常用的量化方法是线性量化方法。这里让Rmin和Rmax代表辐射场的最小和最大值。量化公式如下

Gi=Ιnt(R(x,y)-RminRmax-Rmin×255) (2)

其中Int()为取整函数,因此可以将辐射值量化到的整个灰度图上,绘制出灰度等级为255的红外辐射图。

2.2 晴空背景绘制

有了云图的红外辐射,文中还添加了晴空的红外辐射图,如图3所示。根据Modtran软件,在设定好不同位置和不同角度得到晴空的红外辐射量,这样可以使整个天空更准确。

3 结果及分析

文中基于分形和粒子系统对红外云层进行建模,成功的模拟了层云和积云,建立了云层模拟系统。整个系统的三维显示部分采用Direct 3D函数实现。Direct 3D可以完成高级的三维图形编程并实现多种特殊效果。所以很容易利用Direct 3D在PC上实现三维建模、大大减轻了三维显示部分的编程工作难度,生成的视景既有较好的真实性,又具有良好的实时性。本系统实现的效果在CPU为Core2 2.4 GHz,内存为2 GB,显卡为Intel(R) G33/G31的PC机上,当云粒子在2 000~8 000个的范围中时,帧频保持在130~80帧/秒之间,结果表明该仿真系统在云的绘制及场景漫游情况下都能达到实时效果,如图4和图5所示。

但是这种分别基于分形和粒子系统的三维红外天空建模,虽然可以很好的模拟天空中层云和积云的效果,但分形和粒子系统的不规则物体模拟是一项复杂的课题。文中模拟时只考虑了云的整体运动而没有考虑云的内部扩散,并且没有考虑到云对太阳光的实时散射的效果,只是用统计的方法得到云的自身相对辐射值还不够准确,因此,在以后的工作中可以考虑在这些因素的基础上建立模型,实现更逼真更准确的红外云图模拟。

摘要:为了模拟逼真而实时的红外三维天空云场景,把云团分为二维云和三维云,分别采用基于分形技术和基于粒子系统的技术进行仿真,再通过实测红外云图得到仿真云图的辐射值,同时实现三维天空背景的实时漫游。仿真结果表明,生成的三维云场景既有较好的真实感,又具有良好的实时性。

关键词:云,粒子系统,分形,Direct 3D

参考文献

[1]阮鲲,范茵,李汇军,等.基于中点偏移算法的云的模型设计[J].解放军理工大学学报:自然科学版,2003,4(1):99-102.

[2]Reeves T.Particle Systems-ATechnique for Modeling a Class of Fuzzy Objects[C].ACM Transanctions on Graphics,1983,2(2):91-108.

[3]吴继承,江南.虚拟现实中粒子系统的设计与应用[J].计算机仿真,2004,21(11):137-140.

[4]桑农,刘畅,吴家伟.云背景红外天空图像的统计模型与仿真[J].华中科技大学学报:自然科学版,2005,33(11):5-8.

[5]郭新军,金伟其,高稚允,等.云的红外辐射模型综述[J].光学技术,2003,29(3):84-86.

三维场景 篇4

三维动画场景设计的原则

三维动画是以基于三维软件平台而制作的虚拟三维空间,其动画形式也是模拟真实世界的动力学原理,拍摄方式根据现实的拍摄原理来进行三维模拟,所以三维动画的场景概念设计之后,需要使用三维软件进行制作,按照要表现的对象的形状尺寸建立模型以及场景,再根据要求设定模型的运动轨迹、虚拟摄影机的运动和其它动画参数,最后按要求为模型赋予特定的材质,并模拟光影。当这一切完成后就可以让电脑自动运算,生成最后的画面。场景设计就是根据动画编剧的需要,设计除角色之外所需求的所有可视空间,动画中所有场景的构成要素的具体造型、色彩、光影的设定。它展现的是角色的生活环境,包括具体的活动场所、道具陈设、自然环境、社会环境和历史环境。作为三维动画前期设定的一部分,还需重视和其他项目设计(如角色设计、道具设计、镜头设计、特效设计、后期制作)的配合。根据对三维动画及其场景设计的概念简述,笔者认为,三维动画场景设计必须遵行以下基本原则:

1.市场与文化艺术结合原则

设计的市场性是项目定位的问题,创作团队在动画项目文案之初已经深入研究过市场,但在场景设计的过程中,设计师却需要在文案或编辑规定的条件中挖掘更加符合市场,受市场欢迎的设计理念。不断的变换角度,更多的站在市场的角度来思考什么设计更加符合要求。在满足市场的条件下,设计师有责任对场景设计赋予艺术生命力,提升场景设计的文化内涵,建立更富文化艺术特色的设计语言。

2.定性与定量相结合

设计的定性主要在体现在作品的风格上,设计的定量主要指项目的投入条件。定量分析成为提高设计可靠性的有效手段。如三维场景设计项目投资和人力资源等定量情况影响甚至决定着场景设计的制作工艺程度:投资的大小决定设计项目的难易程度及制作规模,大的投资在设计的量及场面上有更高更复杂更细腻的要求;投资小的制作上需讲究精到,讲究制作流程上简易,尽可能在投资限制的情况下扬长避短,做出特点,突出亮点。

3.原创性与适用性相结合

原创性设计是没有标准和样板的开创性设计,是创造性的设计,但并非所有的场景设计都需要标新立异的原创,在很多的场景设计内容中,是属于适用性设计,也就是在已有的设计作品基础上进行新的功能、元素、装饰、形式上的改良。适用性设计要考虑观众或用户对市场上已有设计形成的共知,也要考虑对已有资源的充分利用。所以设计需要不断的靠原创性设计推陈出新,也要考虑适应于项目进行的、市场需求的、能提高效益与利润的设计。

方法论和场景概念设计

根据三维动画场景设计的原则,建立一套有效的,科学的设计方法,把方法论的思维模式应用在三维动画场景设计中,对于构建合理性的设计显得至关重要。方法论,是哲学术语,是关于方法的规律的理论,它以方法本身为研究对象,对方法的合理性、有效性、效率与效果进行系统的研究、讨论、分析。通俗而言,是人们认识世界、改造世界的一般方法,是人们用什么样的方式、方法来观察事物和处理问题。通常方法论和世界观二者并列而言,世界观主要解决 “是什么”的问题,而方法论主要解决“怎么办”的问题。而方法论大体可以分为四个层次:第一:各种技术手段、操作规程构成科学方法论的最低层次,属经验层次。表现在三维动画场景设计中就是如何画出来或者用三维软件制作出效果来,严格来说,还不是设计的真正含义;第二:反映各学科中的一些具体方法,属于各学科本身的研究对象。表现在三维动画场景设计中就是能够根据三维动画的特点顺利的进行设计,属于设计的一般要求;第三:科学研究中的一般方法,就是从各学科中总结概括出来,并非某一学科所特有的,而是从各门学科中共同适用的方法,如系统方法、控制方法和信息分析方法。表现在三维动画场景设计中就是达到精准、优秀的设计体验;第四:上升为哲学思维,普遍适应于自然科学、社会科学和思维科学,是一切科学最普遍的方法。表现在三维动画场景设计中就是建立了自身的设计语言并形成了特有的动画文化面貌。而通常所说的方法论即“十大科学方法论”,主要包含:信息论、系统论、控制论、优化论、对应论、智能论、寿命论、模糊论、离散论、突变论。以上方法偏重科学技术与工程设计,偏重理论性与科学性、逻辑性,在其理论基础上添加或嫁接艺术手段可以充实和发展为场景设计方法,以下是笔者列举一些在三维动画场景设计中常涉及的方法论探究:

1.信息论方法

信息是指具有固定内容的消息,是一种确定事物程度的标记。不同结构产生不同信息,信息论是以数字统计的方法来研究信息的度量、传递和变换的科学。狭义上是应用数据统计的方法来研究信息处理和信息传递的科学。信息论方法对三维动画场景设计而言,必须延伸为广义上除了一般狭义的信息概念,还包含了所有以信息数据有关的领域,如自然科学、社会学、心理学、民俗学、文学等等学科的相互渗透、融会贯通。掌握信息论方法,可以让设计定位更为精准,而信息内容也同时提供出清晰的设计素材,素材是保障设计可信度的重要手段,信息就是创作的依据和源泉。

2.功能论方法

功能论设计方法是从对象系统整体的功能认识开始,用抽象的方法分析总的功能,然后逐步实现细节功能,逐步使模糊的结构关系明确化。功能论以实用功能和价值功能为出发点,以实现预期的目标为目的,对消费者、项目本身、市场、社会环境等设计的各层面进行调查和分析,然后抽象出系统的的整体功能结构,并从价值工程、易用性和系统分析等方面进行具体设计。三维动画场景设计功能论方法研究的具体包含功能定义、功能分类、功能整理。功能的定义是对构成场景的要素和功能的效果进行定位并下定义。通过功能的定义,确定场景的功能并选择实现的方式;功能整理就是要把功能因素进行排序,列出主次,抓住关键并适当调整,这也是场景设计中最为常用和有效的方法。

3.智能论方法

当前新技术革命浪潮的磅礴之势,向一切科学领域与传统观念提出了挑战。 新技术革命实质上是一场智力与能力的综合革命。智力与能力的有机结合,称作智能,“智”以认识、思维为主,“能”以实践、创造为主。运用智能理论以得到认识、改造、设计各种系统的方法,称作智能论方法。三维动画场景设计中智能论方法是利用人工智能的科技原理,利用现有的智能技术使项目场景智能化、人性化。如计算机智能、信息控制、辅助设计等等。智能论方法能提升场景设计的管理、场景设计的实现方式,拓展场景的可展示媒介,在整体项目中越来越显示其优越的性能。毫无疑问的是,这也是三维动画区别与传统的二维动画及定格动画的根本之处,动画电影与电视节目形态的传统定义被一次次颠覆也是因为科技革新。

4.优化论方法

设计方法是设计世界观的表现,也是设计目的和动机的反应,而世界观有科学与非科学之分,目的和动机也有正确与不正确之分,这势必导致设计方法是否是优化的问题。在三维动画场景设计中,优化论方法指的是针对三维动画场景设计项目选择最佳的设计方式,调节设计任务,合理安排人力设备和物流系统,达到最好的经济效应,保证设计任务要求高速度、高质量的完成。

5.系统论方法

所谓系统,就是由许多元素所构成的相互间具有的有机联系,并具有特定功能的一个载体。三维动画场景设计的研究或处理都是一个有机的整体系统,分析和调整场景系统结构、研究和协调场景项目系统、设计要素、工作环境三者的相互关系和规律,优化系统的整体功能。这尤其在规模巨大、关系复杂、参数众多的复杂场景设计中,系统分析往往能让设计者纵观全局,在运筹帷幄之中展开思维。

6.美学论方法

运用美学论方法是指为设计提供美学观念,将有助于对设计项目本体和艺术审美价值的把握,有助于发现艺术话语转型和美学价值定位的潜在规律,通过美的形式法则如:对称与均衡、尺度与比例、节奏与韵律、对比与协调等赋予场景设计以和谐的样式,并通过形态语言以视觉传达的方式呈现,更为关键的是艺术感性想象思维和创造性思维能极大的开拓三维动画场景设计的视界。

总结

瑞士V.Hubka博士认为:“设计方法学是研究解决设计问题的进程的一般理论,包括一般设计战略及用于设计工作各个具体部分的战术方法”。笔者认为,在工业设计和环境艺术设计领域,国内外对设计本质以及方法学的研究已进入初步实用阶段,并建立在一定规模的设计实践上的,而作为动画场景设计,尤其是随着计算机技术的渗入而崛起的三维动画领域里,往往容易游走于纯美学思维范畴,对方法论在三维动画场景设计的应用理解上需要一定时间的消化、理解和再实践,最终才能形成我们自己的一套方法学观念。关于设计方法论目前在不同国家或地区都存在差别,瑞士V.Hubka博士具有一定的代表性,除去笔者浅谈到的“信息论”、“功能论”、“智能论”、“优化论”、“系统论”、“美学论”六点,还有更多管理上的方法事实上和三维动画场景设计有着强烈的联系,比如:进程总模块、进程规划、进程工作原则,及工作方法等。对于从事三维动画场景设计或者相关教育者来说只有在方法论的指导下才能应付从简单到复杂的各类功能需求,才能创造出好的科学的合理的设计程度和计划,从而避免经验主义及纯美学理念影响三维动画场景设计的老路。笔者认为这个过程就是方法论在三维动画场景设计实践中的具体体现。

(作者单位:江西师范大学 江西省动漫创意与数字娱乐重点实验室)

三维场景 篇5

1 Creator软件

Creator软件在三维实时场景的构建中扮演着重要的角色, 这一软件与其他机械CAD等软件有很大的区别, 是美国Multigen公司最新推出的实时仿真建模软件, 最终考虑目的的如何解决以实时性为前提, 生成较为逼真的场景。这一软件具备的建模功能强大, 比如多边形筛选、绘图优先等都能使Openflight数据格式成为当前三维领域中最流行的图像生成格式, 这一软件生成的数据格式已经成为该行业的生产标准。所谓的Openflight数据格式, 它是Multigen Creator软件的基础, 其逻辑化层次场景描述数据库能够使图像发生器在任一时间、地点、任意方式都能以超高的精准度、可靠地促进三维场景的形成[1]。

相较于Maya和3DS Max这两种软件, Creator的侧重点在于管理模型数据, 在三维造型功能方面较为薄弱, 但是有较快的绘图速度, 便于浏览, 有较强的灵活性, 此外Creator软件的兼容性较大, 能与较多至关重要的VR环境相互兼容, 这种兼容的功能使Creator软件在与其他软件进行联合使用时, 可以让各软件的长处都能得到充分的发挥, 帮助提高工作效率, 减少工作时间。

凭借Creator软件制作出的三维场景既详细又让人浮想联翩, 搭配上合适的材料、颜色、照明度等能够让画面更加具有真实感, 更加符合人的视觉效果和心理感受。一般而言, 对三维场景进行处理的时候会遇见两个较大的问题:场景文件的载入耗时较大;无论PC机性能有多高, 场景的变化都相当繁重, 更加浪费时间, 应用Creator软件可以从建模、渲染速度和算法等多个方面改进技术, 使得最终的效果更加理想而完美。Creater软件可以应用在多个地方, 尤其在三维城市的建设中应用更大, 下面就将以三维城市的应用展开详细的介绍。

2 Creator应用于虚拟城市三维建模和实体建模

2.1 Creator应用于虚拟城市三维建模的技术步骤[2]

(1) 选定模型位置。将Auto CAD设置成.dwg的格式, 并划分成多个小区域, 最后将这些小区域导入到Creator软件中。这一过程的具体注意点是选定地图的尺寸一定要与实际城区之间距离相吻合。

(2) 模型纹理的制作。制作纹理需要采用Photo Shop软件, 只需将数码建筑物照片导入Photo Shop中即可, 这一过程非常简单, 最后要将纹理保存为.bmp或.rgb格式, 图片的像素大小为2a×2b (其中a, b取值在1和10之间) , 这样其纹理才不会变形, 甚至丢失。

(3) 完善模型数据。可以利用Creator和3DS Max这两类软件在以上环节中准备好的数据和纹理的基础上进行建构模型, 最后将完成的模型以.fit的格式进行保存。

(4) 已建模型数据进行整理。该步骤包括模型的导入、数据库层次结构的组织、模型的简化等。

(5) 创建城市三维场景。利用二次开发软件进行编程, 建立虚拟城市三维场景。

2.2 实体建模

在对实际物体进行建模时有一个非常重要的注意点, 首先应进行全局建模, 采用上面列出的建模的步骤将底图和大致区域先建构完成, 待这一部分完建模完成后, 再进行局部区域的建模, 比如建筑物上的标志、特定区域的广告牌等, 必须逐个完成细节部分。最后将建构完成的模型利用Texture工具进行映射纹理, 这一环节相当重要, 可以直接影响到模型的质量。

3 Creator优化设计

3.1 运用可见性判定和消隐算法优化场景数据

一个人的视线方向会不断转换, 视角也有一定的局限, 并且在观看事物的同时, 会有相关物体遮挡视线的情况发生, 因此, 人肉眼观看到的场景通常只是三维场景中的一小部分。在对城市进行三维仿真设计的同时, 必须充分利用到相关的资源, 以物体空间固有存在相关性来减小绘图时的深度。三维场景是可以经过可见性判定的, 并且能够通过剪裁来调整观看到的图像。具体操作步骤是:首先在电脑上检索可视化数据库, 对部分资料展开检索工作, 通过对坐标进行转换和透视投影技术使图像可以在屏幕上显示出来, 并将图像超出屏幕的部分进行裁剪, 使其更具视觉感染力。

因为视野观看度的问题, 产生不同的视角, 因此在三维空间内物体的向前面才能被人眼看见, 背离面是看不到的, 另外, 在三维空间内, 通常将那些被遮挡或部分图案被遮挡的部分称之为蕴藏面, 而所谓的消隐技术就是对这些蕴藏面和背离面进行消除, 使得不透明或可视性不高的物体都能显示出真实感人的图像, 使画面呈现出最佳的视觉效果, 吸引住人的眼球。

消隐算法的方式有两种:物体空间算法和图像空间算法。一般将在对物体的空间进行描述时, 先依据物体间存在的几何关系计算出可见的部分, 再去消除没有呈现出的部分这一方法称之为物体空间算法;图像空间算法是指物体转化到显示屏的图像空间后, 用屏幕上的每个像素, 检查所有的平面, 以确定离观察者最近的那一面。

3.2 优化渲染速度

在建构三维实时场景的过程中, 可以通过对渲染速度进行优化来使模型的设计更加快捷, 而优化渲染速度主要有以下3种方式:

(1) 使用压缩纹理和子纹理映射

在一定情况下, Creator软件的建模过程中, 可以使用压缩过的纹理格式, 来减小纹理文件的大小, 从而加快系统的运行速度。子纹理映射则是指将同一个纹理的不同区域映射到不同的模型对象上。具体操作方法如下:通过Photo Shop等软件将若干个小纹理合并成一个大纹理, 并保证其图像在两个方向上的尺寸是2的整数次幂, 以便提高其内存的利用效率, 减少纹理数量, 最终使实时系统的运行速度有效加快。

(2) Vsimplify插件的利用

Creator软件提供了一款自动减少多边形的工具———Vsimplify插件, 这种插件的工作方式是利用三角化算法来对选定模型对象进行优化, 将指定的属性进行保留来减少多边形的数量。这款插件显示的位置通常是在细节层次的菜单下面, 具体操作方式是打开插件对话框, 通过选择不同的三角形保留比率、折痕角和边界角极限等固有参数来对所选定的模型对象进行相应的简化, 最终优化其场景数据。

(3) 细节层次模型

细节层次技术的诞生为在仿真建模过程中对模型的真实性和系统的实时性两者的矛盾的最终处理提供了较好的解决方法。具体操作方法如下:由于视角的变化, 视觉观察点到所选定对象的距离不相同, 因此将数据库调制成各不一样的细节层次。远距离选用简单模型, 细节不必显示, 近距离选用模型复杂一些, 细节部分必须能够明显显示出来。采用这样的方式, 可以使模型的真实性和系统的实时性两者之间交换产生的数据量相应减少, 加快了系统间的交换速度, 更促进了系统间的相互交换。

采用细节层次这一技术可以对统一模型的不同细节程度进行调整, 从而出现不同的呈现形式, 这里必须注意的一点是在不同细节层次的变换过程中会出现一种突变现象———呈现出的画面不连贯, 而使用Creator软件技术能够使这一突变现象消失, 让不同细节层次能够进行较为平滑的过渡, 从而让人获得视觉上的最佳享受。

除以上Creator优化技术之外, 还可以通过对建模技术进行优化来改变场景的数据等对三维场景进行优化设计, 以便能够设计出更为仿真的视觉效果, 通过多种优化技术进行综合运用, 按照Creator设计的具体步骤和操作方法模拟出来的最具真实感的系统。

4 结语

利用Creator软件创建的实时三维场景, 更加符合人们的视觉效果和直观感受, 更能深入人心, 因此, 目前在三维场景中起到的作用才会越来越大, 但是想要创建一个完整的三维实时场景, 并不简单依靠对该项软件的使用, 还需要考虑其他种种因素, 并进行综合分析, 将多种优化技术合理使用, 才能使呈现的效果达到最佳水准。

摘要:随着计算机技术的不断发展和飞速运行, 三维场景以其独到的优势越来越深入人心, 受到观众的追捧, 因此Creator软件应运而生, 为三维实时场景的设计带来更多的便利。以Creator的三维城市建模的设计步骤和多种优化方式展开研究。

关键词:Creator软件,三维实时场景,建模,渲染速度

参考文献

[1]陈永华, 王德成, 陈燕.基于Creator的三维场景优化技术的应用.微计算机信息, 2007.

三维场景 篇6

基于图像和视频的3D实景表示与重构技术 (ImagebasedModelingandRendering, IBMR) 是目前虚拟环境与对象高效建模的一种有效方法, 是计算机图形学、计算机视觉、图像处理和摄影测量学等多门学科交叉的成果。随着计算机技术及网络技术的迅速发展, 对物体或景物三维模型的需求越来越多。基于图像序列的三维重建方法具有成本低廉、操作简单、真实感高等优点, 已成为计算机图形学和计算机视觉等领域研究的热点之一。利用单个摄像机和对象之间的相对运动, 以及有相对运动的条件下拍摄的连续几幅图像, 就可以比较精确地恢复出对象的三维表面形状。

国际上IBMR的研究工作始于20世纪90年代初, 并立即成为学术界的研究热点。国内计算机图形学界和计算机视觉界随后在20世纪90年代中后期展开了对IBMR的系统研究, 理论研究成果丰富。有基于图像序列的建筑物模型重建技术, 开发了基于图像建模的原型系统——SIBM (Super Image Based Modeling) , 首先利用单幅图像重建该图像对应部分的三维场景模型, 然后根据各图像之间的关系, 将这些独立的场景模型合并为一个完整的模型。该系统要求输入一个场景的完整图像序列, 才能恢复出场景中建筑物的完整模型, 在相机标定方面使用了只有相机焦距未知的简化模型, 单幅图像重建采用的算法只能重建平面和简单的曲面, 而且重建过程中需要人工干预。有基于多幅图像的场景交互建模系统, 该系统是以普通相机自由运动拍摄到的多幅非广角照片作为输入, 采用按照几何空间层次分级重建方法, 并利用场景中存在的几何约束信息对重建结果进行优化。但是, 需要手工交互在输入图像上选取特征点, 并指出它们之间的对应关系, 以实时对所有图像的投影矩阵以及重建特征点进行更新。有基于单幅或者多幅未标定图像的渐进交互式三维建模方法, 研究和实现了基于多角度图像的三维建模系统Relievo, 该系统使用了基于预定义体素的方法, 并融入离散点方法的思想, 在大致形状的基础上, 由用户添加或者修改投影约束与空间约束, 并施加拓扑修改, 逐步实现照相机定标, 粗糙模型的求精, 并最终完成具有任何几何及拓扑物体的重建。该方法的优点在于利用了模型本身的约束关系, 缺点是需要预先构建参数化模型, 这就限制了可恢复目标模型的几何类型。

从国内外关于从图像重建三维场景或物体的研究来看, 大多数三维场景的研究存在一定的局限性, 利用时间和空间上具有较大自由度的图像重建场景的技术涉及较少。解决这一问题的关键是如何组织大量的、针对同一场景的无序图像, 在复杂的特征空间及多连通图中寻找最优的匹配;怎样计算无序多图像的摄像机参数组, 从而完成三维场景重构。

对于三维场景重构的实现, 本文考虑基于分层实现的方式来进行研究。对于得到的关于同一场景的多幅图像, 首先是建立图像对之间的特征点匹配, 通过选择合适的相关图像建立参考坐标系来计算图像间的基本矩阵;第二步是从基本矩阵得到射影重构下的摄像机矩阵来建立相应的射影重构;然后提升到欧式重构;从而最终实现三维场景重构。具体来说, 对于得到的关于同一场景的多幅图像, 提取图像的特征点, 然后利用图像间的外极线约束, 实现图像对间的特征点匹配。从图像中选择匹配点数目较多且图像的基线较宽的两幅图像建立参考坐标系, 计算图像间的基本矩阵, 从基本矩阵得到射影重构下的摄像机矩阵。然后利用绝对对偶二次曲面, 提升到欧式重构。并使用全局优化, 来优化计算结果[6]。

算法构成:由基本矩阵的估计, 射影重构的计算, 欧式重构提升, 全局优化组成。主要是根据基本矩阵计算射影重构, 在射影重构的基础上利用绝对对偶二次曲面, 得到欧式重构, 使用全局优化来优化结果。

1整个算法的流程如下:

Step1 对图像序列进行特征点匹配;

Step2 建立初始结构和运动:

Step2.1 选择适合重构的两幅图,

Step2.2 使用RACSAC算法计算基本矩阵,

Step2.3 建立初始坐标系,

Step2.4 恢复初始结构;

Step3 对于每一幅其他的视图:

Step3.1 利用摄像机与初始结构间的对应关系计算摄像机矩阵,

Step3.1 更新存在的结构,

Step3.3 初始化新的空间点;

Step4 使用Bundle Adjustment优化结构和运动估计;

Step5 使用绝对对偶二次曲面自标定:

Step5.1 使用线性方法估计摄像机焦距 (假设倾斜因子为0, 主点在图像的中央) ,

Step5.2 使用非线性方法优化结果;

Step6 提升射影重构到度量重构。

2基本理论及算法描述

2.1射影重建算法

设3D中的一组点Xj被矩阵为Pi的一组摄像机拍摄。用Xji标记第j个点在第i个摄像机像平面上的坐标。射影重构问题如下:已知图像坐标Xji的集合, 求摄像机矩阵Pi和点Xj, 使得PiXj=Xji。这里对Pi或者Xj没有进一步约束。点Xj与真实的重构可能相差一个任意的3D射影变换。主要利用了基本矩阵的性质和摄像机的投影关系来计算射影重构。

射影不变性:如果H是表示3D射影变换的一个4×4矩阵, 那么对应于摄像机矩阵 (P, Pt) 和 (PH, PtH) 的基本矩阵是相同的[10]。

PX= (PH) (H-1X) , PtX= (PtH) (H-1X) 。

如果点xxt是对应于3DX的关于摄像机对 (P, Pt) 的匹配点, 则它们也是关于摄像机对 (PH, PtH) 的匹配点并且对应于点H-1X

F为基本矩阵而 (P, Pt) 和 (Ρ˜, Ρ˜t) 都是与基本矩阵对应的两组摄像机矩阵对, 则存在一个非奇异的4×4矩阵H使得Ρ˜=ΡΗΡ˜t=ΡtΗ

即如果两个摄像机矩阵对产生于同一个F, 那么它们是射影相关的[9]。

增加其他视图的算法。先是初始结构估计, 确定摄像机矩阵后, 可以确定空间点的坐标。由于噪声的影响, 视线并不是精确的相交。可以先使用线性算法得到空间点的初始坐标, 然后使用非线性算法最小化重投影误差来得到。再更新初始结构, 根据两图得到初始重建后, 需要在初始重建的基础上添加新的视图。首先确定新的摄像机的位置, 然后更新初始重建的结果。

计算方法:

初始坐标系建立, 基本矩阵使用RACSAC算法。摄像机矩阵的选择, 得到基本矩阵后, 使用该图像对确定参考坐标系。世界坐标系原点在第一个摄像机上。

更新初始结构, 空间点的计算首先使用线性算法, 然后使用非线性算法最小化重投影误差。

使用了DLT算法来计算其他摄像机的位置[6]。

2.2基于绝对对偶二次曲面的自标定算法

利用绝对对偶二次曲面进行摄像机标定, 利用Ki产生的加在形式ω*i上的约束来估计Q*∞。首先使用线性方法获得一个初值, 然后使用非线性优化。绝对对偶二次曲面[10]Q*∞是一个退化的对偶二次曲面并由一个秩为3的4×4的齐次矩阵表示。Q*∞的重要性在于以非常简明的方式同时包含了π∞和Ω∞, 并且它有一个代数上简单的图像投影。

ω*=PQ*∞Pt。

其中ω*=KKt, 文字表示就是Q*∞投影为绝对二次曲线的对偶图像ω*=KKt。

在任何射影坐标系下, 绝对对偶二次曲面由一个4×4的矩阵表示并具有下面的性质[8]:

它是一个秩为3的奇异矩阵, 因为Q*∞是一个退化锥面;它的零空间是表示无穷远平面的矢量, 因为Q*∞π∞=0;它是半正定的 (或者是半负定的, 取决于齐次比例因子) 。

基于Q*∞的自标定思想是利用Q*∞与ω*的关系ω*=PQ*∞Pt。通过摄像机矩阵Pi把ω*的约束转移成Q*∞的约束, 一旦Q*∞确定, 矫正单应H就确定了。因此, 自标定的一般框架为:有特定的Ki的约束来确定Q*∞, 然后由Q*∞确定H。

如果Q*∞分解为

ΗΙ˜Ηt (Ι˜=[Ι3×300t0])

, 则H-1是把射影坐标系变成欧式坐标系的一个3D单应。

计算方法:

约束条件及目标函数[15], 当倾斜因子为0, 主点和宽高比已知的情况下, 可以变换方程使图像坐标系原点和主点重合, 宽高比为1, 这样

上面方程的坐标满足ω11=ω22, ω12=ω13=ω23=0, 这样对右边产生了4 (n-1) 个线性方程。通过求解这个线性方程, 可以得到Q*∞。

非线性方法, 可以通过非线性最小二乘法获得解:

mini=1n||ΚiΚitΚiΚitF-ΡiQ*ΡitΡiQ*ΡitF||F

3实验数据及分析

该方法实现中关键处有几点, 首先是射影重构部分, 容易看出射影重构具有多义性, 与坐标系的选取等有很大关系;并且射影重构在相差一个射影变换H情况下, 都是射影等价的。因此, 仅从射影重构结果上, 很难判断结果的好坏。同时在实验处理中发现, 射影重构与真实的场景差异还是很大的, 甚至从外观上完全不能看出是什么物体。所以, 不能从外观上来评价射影重构的好坏, 只有到了度量重构, 才能得到与真实物体相近的结果。

其二是基于绝对对偶二次曲面的自标定算法进行度量重构, 就本实验来看该方法具有较好的效果, 对于图像数目较少的情况, 比较适合。在图像序列较短的情况下, 可以使用这种标定算法, 计算速度较快, 效果较好。缺点是目前必须要求图像序列中有一部分点在整个序列可见, 使用范围较窄。但由于目前的射影分解方法没有考虑遮挡的情况, 因此不能用于长序列的标定。需要改进当前的射影分解算法, 以便推广到长序列的情况。

总之, 利用分层实现的方式来进行目标的三维重构是完全可行的。该方法适应情况较广并且无人工干预, 其结果也可以满足一定的需求。但为了适应更广的应用范围, 必须要在算法的适应性和其结果的精确性做出改进。可以考虑的方向有两个, 其一是射影分解算法的改进以适应长序列及复杂情况的图像;其二是基于绝对对偶二次曲面的自标定算法改进。由于算法本身的特点对于特殊情况可能存在解的有效性问题, 如何改进其即能提高解的有效性, 又能保持相应的算法效率以处理长序列的复杂图像问题。

参考文献

[1] Sturm P, Triggs B. A factorization based algorithm for multi-image projective structure and motion. In:ECCV96 (II) , 1996:709—720

[2]Mahamud S, Hebert M, Omori Y, et al.Provably-convergent iterative methods for projective structure from motion.IEEE International Con-ference on Computer Vision and Pattern Recognition, Kauai, Hawaii, 2001:1018—1025

[3]Chandraker M, Agarwal S, Kahl F, et al.Auto-calibration via rank-constrained estimation of the absolute quadric.IEEE Conf on Com-puter Vision and Pattern Recognition, 2007:1—8

[4]Pollefeys M, Van Gool L.From images to3D models.Communica-tions of the ACM, 2002;45 (7) :50—55

[5]Pollefeys M, Koch R, Van Gool L.Self-calibration and metric recon-struction in spite of varying and unknown internal camera parameters.International Journal of Computer Vision, 1999;32 (1) :7—25

[6] Pollefeys M, Van Gool L J, Vergauwen M, et al.Visual modeling with a hand-held camera. International Journal of Computer Vision, 2004;59 (3) : 207—232

[7]Nistr D.Automatic dense reconstruction from uncalibrated video se-quences.PhD Thesis, Royal Institute of Technology KTH, to appear, March, 2001

[8] Hartley R I, Zisserman A. Multiple view geometry in computer vision.Second Edition.Cambridge University Press, 2004

[9]Hartley R I, Zisserman A.Multiple View Geometry in Computer Vi-sion.Cambridge University Press, 2004

场景设计与三维动画之间的关系 篇7

三维动画又称为3D动画, 是近年来新兴的而且发展速度极快的一门技术。三维动画就是在计算机中首先建立一个虚拟的世界, 设计者可以在这个虚拟的三维世界中, 按照要表现的对象的形态建立模型和场景, 把模型放在这个三维空间的舞台上, 从不同的角度用灯光照射, 然后赋予每个部分动感和强烈的质感得到的效果。三维动画的整个制作和结果是产生于三维软件, 没有专门制作三维动画的软件也就没有三维动画这个独立的定义。在现代三维动画领域里主要MAYA、3DMAX等, 这些软件各有优缺点, 互相竞争的局面一直在持续而且终将持续下去。但每一个软件都有其优秀的代表作品, 软件本身的优劣难分伯仲。

而场景设计是影视动画中必不可少的组成部分, 它影响整个影视动画中的角色与剧情, 关乎动画的欣赏。在影视动画创作中, 动画场景设计主要体现了戏剧中的场面。场景的设计对整部动画的画面、设计风格、氛围的烘托等都有很大的影响。

场景设计有两个主要的组成要素, 一方面是物质要素, 如人物、景物、建筑、装饰等, 另一方面就是效果要素, 如人物外形、色彩等。

在场景设计的过程中通过对色彩的控制, 能很好地营造出魔幻的效果出来。魔幻色彩, 就是超现实的、怪诞的、充满神秘氛围的一种整体的环境, 控制好整个场景的环境, 就能让观众观看影片时先入为主地走进作者营造的魔幻氛围当中, 比如夸张的色彩搭配能使场景看起来更加绚丽, 如《爱丽丝漫游仙境》里的场景配色就很夸张、很丰富。

场景设计不但影响着整个剧情和角色的描写, 还影响着影视动画的欣赏效果。动画片给观众带来的更真切的感受, 三维动画和场景设计在其中发挥着不可磨灭的作用, 它让观众随着剧情的发展而转变自己的情绪, 合理的场景设计再结合适当的音乐, 能更加营造气氛, 使快乐的气氛更加快乐, 恐怖的气氛更加恐怖。

三维动画是将大量的富有丰富想象力的和逼真的特技效果有机地结合起来, 使平面更立体, 画面更形象逼真。而在影视动画前期的设计过程中, 场景设计也是非常重要的设计过程, 起到了烘托、渲染、营造气氛等作用。三维动画技术能够让人们设计场景时, 实现一些传统场景无法实现的艺术效果, 在以往的二维场景设计创作中, 已经形成了较为成熟的理论和表现方法。然而, 随着三维动画技术的出现和应用, 其发挥自身的优势, 能较好展现模拟物体的三维效果, 开拓了动画艺术的表现空间和想象空间。所以, 它在设计制作过程中能够实现以往动画场景无法实现的三维立体效果, 在整个画面的真实性上让人有更加真切的感受。

场景设计中的时空关系表现在它要符合故事历史背景、历史文化、故事发生的地域特征、故事人物的形象设计等的相互配合, 特定的故事要发生在特定的时空背景中, 特定的时空背景决定了动画场景的视觉表象, 特定的场景的视觉表象决定了动画片的氛围和戏剧动作。

场景设计在营造情绪氛围方面, 根据剧本的具体要求, 通常是可以用场景来营造出特定的环境气氛, 波动观众的情绪的。在《哆拉A梦之森林大冒险》中, 主人公们由平日的生活环境中, 通过任意门来到森林探险。在场景设计中, 画面由大雄的房间, 马上转换到充满神秘的大森林环境中, 观众的情绪马上紧张起来, 会想到主人公们会遇到什么冒险经历。

场景设计中也可以用魔幻色彩与其相结合, 起到更神秘的色彩画面。魔幻色彩是超乎人们的常规的视觉感受和日常生活, 使其具有更神秘的色彩画面和想象空间。它的环境的设计、道具的设计以及场面的表现力等都非常夸张, 而且带有虚幻的视觉效果。比如在《喜羊羊与灰太狼之兔年顶呱呱》中, 喜羊羊们来到了一个糖果世界的冒险经历, 整个糖果世界的具有魔幻色彩的场景设计中, 画面色彩艳丽、夸张、形象, 具有神秘色彩, 想象力非常丰富, 达到了很好的视觉效果, 吸引了广大少年儿童。

三维动画与场景设计的关系是密不可分的, 三维动画是现今电影制作的一个重要武器, 为现代电影的表现力、观众的审美观念都提升到新的高度。而场景设计是一部动画影片作品构成中的重要组成部分, 好的场景设计可以强化渲染主题, 可以提升动画影片的美感, 能直接影响整部作品的艺术风格和艺术水平。

摘要:三维动画又称3D动画, 是现今电影制作的一个重要武器, 为现代电影的表现力、观众的审美观念都提升到新的高度。而场景设计是一部动画影片作品构成中的重要组成部分, 好的场景设计可以强化渲染主题, 可以提升动画影片的美感, 能直接影响整部作品的风格和艺术水平。

X3D室外三维立体场景设计 篇8

X3D三维立体X3D室外景观场景设计是利用软件工程思想开发设计,采用先进的渐进式软件开发模式对虚拟现实X3D室外景观场景进行开发、设计、编码、调试和运行。虚拟现实X3D室内景观场景设计按照软件工程思想,从需求分析、总体设计、详细设计、编码和测试过程中,循序渐进不断完善软件的项目开发。

X3D室外景观场景设计,利用虚拟现实语言X3D中的几何节点、复杂节点、效果节点、纹理图像绘制技术以及动态智能感知节点等,创建一个X3D室内三维立体场景和造型。使用复杂节点和造型外观材料节点创建一个山脉造型,利用动态智能感知节点实现动画效果。

2 X3D室外立体场景

虚拟现实X3D室外场景设计是利用虚拟现实程序设计语言开发室外场景设计、布局和装饰等三维立体场景。采用软件工程设计思想,融合传统软件开发模式和先进的渐进式软件开发模式。创建逼真的虚拟现实X3D室外设计场景,使现实空间与虚拟空间相融合,感受虚拟现实技术的无穷魅力。

虚拟现实X3D室外景观场景开发与设计,主要对自然景观、人造景观场景进行虚拟现实仿真。运用软件项目开发技术和计算机前沿软件开发工具X3D语言,对虚拟现实室外场景进行开发与设计。X3D室外设计包括自然景观和人造景观,如广场设计、绿化设计以及装饰灯场景设计等。利用虚拟现实程序设计语言中各种基本节点、复杂节点以及智能动态感知节点实现三维立体场景的设计和动画制作,感受虚拟世界独特魅力的动态交互和身临其境的沉浸感。

虚拟现实X3D室外场景设计是采用先进的渐进式软件开发模式,对虚拟现实场景和造型进行开发、设计、编程及调试。利用虚拟现实程序设计语言X3D开发工具对三维立体场景进行编码、测试和运行。利用结构化、模块化、组件化以及面向对象的开发设计思想,采用循序渐进的策略,开发虚拟现实软件工程项目。

3 X3D室外场景造型设计

虚拟现实X3D室外场景造型设计是利用软件工程思想开发设计,采用渐进式的软件开发模式对虚拟现实X3D室外场景造型进行开发、设计、编码、调试和运行。虚拟现实X3D室外场景造型设计按照需求分析、设计和编码的过程,循序渐进不断完善软件的项目开发。

虚拟现实X3D室外场景造型设计由广场设计、装饰灯、台阶和绿化带设计等组成,创建室外造型场景设计。采用模块化、组件化设计思想,层次清晰、结构合理的虚拟现实X3D室外场景造型设计。虚拟现实X3D室外场景造型设计层次结构,如图1所示。

X3D室外三维立体场景设计:利用几何节点的纹理贴图技术和造型外观材料节点进行颜色绘制设计,运用动态智能感知节点,实现X3D室外三维立体场景设计的绚丽景观设计。X3D室外三维立体场景设计由X3D头节点与场景(Scene)根节点构成。任何X3D场景或造型都由X3D节点、场景(Scene)根节点、基本几何节点、纹理节点以及动态感知节点构成,将几何节点进行纹理绘制、造型外观颜色设计,构造出生动、逼真、鲜活的X3D室外三维立体场景和造型。

4 程序实例

虚拟现实X3D室外场景造型设计利用虚拟现实程序设计语言X3D对虚拟现实室外三维立体场景进行设计、编码和调试。利用现代软件开发的极端编程思想,采用绝对编程、自动测试、简单设计以及先测试后设计开发理念,融合结构化、组件化和模块化的设计思想,使软件开发设计层次清晰、结构合理。利用虚拟现实语言的各种节点创建生动、逼真的X3D室外三维立体场景和造型。

使用背景节点、视点节点、组节点、坐标变换节点、内联节点、重定义节点、重用节点以及复杂节点等进行设计和开发,利用内联节点实现子程序调用,实现模块化和组件化设计。使X3D室外三维立体场景和造型在虚拟现实场景中更加逼真、鲜活和生动。

利用X3D-Edit专用编辑器或记事本编辑器直接编写*.x3d源程序,在正确安装X3D-Edit专用编辑器前提下,启动X3D-Edit专用编辑器进行编程。利用X3D基本几何节点、背景节点、内联节点和复杂节点等编写X3D源程序。

虚拟现实X3D室外三维立体场景和造型设计px3d8-2.x3d源程序,利用X3D几何节点、内联节点以及复杂节点进行开发与设计编写源程序,使用X3D背景节点、几何节点、内联节点、纹理节点以及动态感知节点等设计编写,源程序展示如下:

虚拟现实X3D室外三维立体场景设计运行程序,首先,启动BS Contact VRML-X3D浏览器,然后打开“X3D源程序实例/px3dmain.x3d”,即可运行虚拟现实X3D室外三维立体场景造型程序,如图2所示。

5 展望

虚拟现实X3D大有一统网络三维立体设计趋势。X3D在三维节点的基础上,又增加了新的二维节点,并且可以很方便地加入新的参数化图元,在X3D标准中还可以很方便地引入NURBS等新的对复杂几何体的描述方式。在交互和程序整合方面,X3D也对此做了重大改进。为了适应软件项目的开发,还建立了相应的工作组。如CAD工作组就在进行X3D/CAD标准交换格式的研究。MPEG4工作组也在进行MPEG4中应用二维和三维交互的研究。此外各个X3D公司还开发了工具包以提供给X3D的应用程序使用。

虚拟现实X3D有着巨大的市场开发空间和应用前景,X3D交互式三维图形技术解决了网络上大规模应用程序的开发问题。X3D成为国际三维图形标准和规范,采用构件化、组件化的设计思想,具有很强的可扩充性,在电子商务、可视化仿真、数据库可视化、科研、教育以及娱乐等领域都有很好应用前景。由于X3D本身的平台无关性、易扩展性、实用性和灵活性,尤其是与XML的集成,非常适合于分布式虚拟环境系统的开发,对虚拟城市的网络化起到极大的推动作用。X3D的出现为分布式虚拟城市系统的开发和实现提供了一个良好的契机。X3D的组件化、可扩展、可定制的特点将大大扩展X3D技术的应用。X3D将不局限于桌面电脑平台上的应用。X3D可以应用到包括手机、PDA、机顶盒、CAVE设备、头盔显示器、数据手套、三维打印机、三维扫描仪等不同的高端与低端设备上。

参考文献

[1]张金钊, 张金镝, 张金锐.虚拟现实三维立体网络程序设计语言.清华大学和北京交通大学出版社, 2004.

[2]张金钊, 张金锐, 张金镝.VRML编程实训教程.清华大学和北京交通大学出版社, 2005.

[3]张金钊, 张金锐, 张金镝.X3D虚拟现实设计.电子工业出版社, 2007.

[4]张金钊, 张金锐, 张金镝.虚拟现实与游戏设计.冶金工业出版社, 2007.

[5]张金钊, 张金锐, 张金镝.X3D三维立体动画与与游戏设计.电子工业出版社, 2007.

[6]张金钊, 张金锐, 张金镝.X3D三维立体网页设计 (立体动画游戏设计) .中国水利水电出版社, 2009.

三维场景 篇9

1三维地形建立

地形数据包括DEM和DOM数据,即数字高程模型和正射影像。在客户端展示时,若将海量地形数据同时展现,客户端无法同时承受如此大数据量的压力。因此需要对地形数据进行特殊处理,主要采用基于四叉树空间索引的方式建立层次格网(金字塔)[1]。高程数据和影像数据切片方式一样,此处介绍影像数据的切片建立方法。

1.1基本概念

四叉树索引基本思想是将地理空间递归划分为不同层次树结构。将已知范围空间等分成4个相等子空间,如此递归下去,直至树的层次达到一定深度或满足某种要求后停止分割。此方法在空间数据对象分布较均匀时,具有较高的空间数据插入和查询效率。

1.2建立影像数据金字塔

影像金字塔指在同一空间参照下,根据用户需要,以不同分辨率进行存储与显示,形成分辨率由粗到细、数据量由小到大的金字塔结构。影像金字塔结构用于图像编码和渐进式图像传输,是一种基于四叉树空间索引的分层数据结构形式,适合于栅格数据和影像数据的多分辨率组织(见图1)。

金字塔建立完成后,为改善客户端浏览效果,需将各层金字塔进行切片,大小为256×256。

在铁路三维地形建立过程中,经常需要将铁路沿线高分辨率航测数据和低分辨率卫星遥感数据进行展示。因此在进行切片时需要特别注意多分辨率影像结合展示及接边问题,处理方法如下:

(1)针对多分辨率影像建立统一切片网格。在影像切片过程中,若多分辨率影像分开切片,则可能造成在同一分辨率切片级别下格网错位或同一级别切片数据的分辨率不同(见图2)。

因此,为了保证调度时后期每层数据统一规范,需要对多分辨率数据进行统一切片,流程如下:

(1)切片范围计算,一般为所有影像的最大外包范围。

(2)根据最大分辨率影像进行切片级数计算最大分辨率影像切片级数Lmax。一般来说,影像分辨率越高级数切得越多,其对应关系见表1。但在一般计算过程中,其影像分辨率可能不一定正好为相应级数的分辨率,如分辨率为0.35 m,在表格中找不到相应级数,则其切片级数为大于该分辨率的最近级数,计算公式如下:

式中:δmax为最高影像的分辨率;L为切片级数;min为的最小差值。

(3)按照式(1)的算法,分别计算每张影像的切片级数。

(4)根据Lmax和各影像相应影像切片级数Ln计算各影像区域的切片格网。当相应切片级数还没有达到其切片范围内最高分辨率级数时,则继续划分切片。

(2)切片数据计算。计算切片数据时,需要顾及高低分辨率结合展示和接边问题。处理方法如下:当Tn(n表示金字塔层级,Tn为第n层的切片)只位于A影像内时,其像素值取A影像;当Tn位于A和B影像内时,取较大影像分辨率的像素;当Tn位于A、B影像交汇处时,相应位置像素值取较高分辨率影像像素值(见图3、图4)。

1.3铁路沿线三维地形实时分级显示

每层的影像和高程金字塔都有其分辨率,计算出进行放大(无论是拉框放大、还是固定比例放大)、缩小、漫游(此操作不涉及分辨率的改变)等操作后所需的影像分辨率及在当前视图范围内会显示的地理坐标范围,然后根据该分辨率和已经建好的影像金字塔分辨率匹配,搜索出最接近的影像金字塔层和地形金字塔层进行显示,并根据操作后当前视图应该显示的范围求取在该层影像和高程金字塔上对应的切片,然后取出进行绘制[2](见图5)。

2铁路中线分段投影与三维模型自动匹配

2.1铁路三维线位恢复

铁路是一个空间三维的工程结构物。它的中线是一条空间曲线,其中线在水平面的投影就是平面线形。在线路方向发生改变的转折处,为了满足行车要求,需要用适当的曲线把前、后直线连接起来,这种曲线称为平曲线[3]。平曲线包括圆曲线和缓和曲线。道路平面线形是由直线、圆曲线、缓和曲线三要素组成。圆曲线是具有一定曲率半径的圆弧。缓和曲线是在直线与圆曲线之间或两个不同半径的圆曲线之间设置的曲率连续变化的曲线。在铁路的纵坡变换处,为了行车平稳、改善行车视距,一般采用圆曲线将两段直线进行连接,这种在竖直面内设置的圆曲线称为竖曲线[4]。竖曲线又有凹形和凸形两种形式,顶点在曲线之上的为凸形竖曲线,顶点在曲线之下的为凹形竖曲线,其计算方法如下(其中,JD、ZH、HZ、HY、YH为交点、直缓点、缓直点、缓圆点、圆缓点):

(1)从线路数据中依次读取线路起始里程、起点、交点、终点的E坐标和N坐标、圆曲线半径、前缓和曲线长、后缓和曲线长,以及变坡点里程和设计高程、竖曲线半径和长度;

(2)从起点后的第一个JD开始;

(3)计算ZH、HY、YH、HZ的里程、转角、转角符号(正负)、方位角;

(4)计算JD的曲线长、前切线长、后切线长、外距、切曲,若前后缓和曲线相等则用对称缓和曲线坐标公式计算,不等则用非对称缓和曲线公式计算;

(5)计算JD的主点HY、YH、HZ的x坐标、y坐标、z坐标,里程、切线方位角;

(6)若没有到达终点,则从下一个交点开始跳至第(3)步。

2.2铁路线路坐标转换

由于铁路线路数据可能涉及不同坐标系,为了在三维系统中正确显示,需要将这些不同坐标系转换到统一坐标系下。根据数据情况,有两种解决方式:

(1)如果原椭球和目标椭球都是WGS84椭球,则用高斯反算实现转换[5]。

(2)如果原椭球不是W G S84椭球,目标椭球是WGS84椭球,首先将独立坐标转换为标准分带,再转换为WGS84标准分带,然后按(1)中同样方法进行高斯反算即可[6]。

2.3三维模型自动匹配

铁路沿线部分构筑物和设施设备的模型大都一样(道砟、轨道板、信号机、扣件等),因此可针对此类型数据建立铁路模型数据库[7],然后通过其设计坐标快速匹配到三维场景中进行展示。其中也存在一些不可复用的模型,此类模型可将相关专业的三维设计成果导出为统一三维仿真平台格式,然后再融入三维场景中[8],思路如下:

(1)根据铁路三维线位生成可复用模型(道砟、轨道板、信号机、扣件)的数据索引,包括位置、姿态和比例尺。

(2)对于不可复用模型,根据各专业三维设计成果,将其转换为三维仿真场景数据格式,并生成坐标索引文件[9](见表2)。

铁路各种设施设备是设计人员根据相应地形、地貌、地质条件等其他相关影响因素综合考虑进行设计的,因此铁路三维仿真场景的搭建仅根据模型库进行建设并不符合实际。需要集合各专业三维设计成果来实现,但各设计软件中的模型并不能直接导入仿真系统,需要相应的二次开发才能完成。

以Revit软件为例,分析Revit模型转换为仿真系统格式的思路(其他软件设计成果导出可参照此方法进行)。RVT格式为Revit系列软件的存储格式。RVT格式并不开源,不能直接读取RVT文件,需要通过对Revit进行二次开发。二次开发可通过C#、VB.NET、Managed C++语言进行,并要引用Revit API.DLL和Revit APIUI.dl[10]。Revit所有类型对象都是从Elememt类派生而来,主要包括模型元素(Model Elements)、基准元素(Datum Elements)、查看的具体元素(View-specific Elements)三大类。将RVT数据转换为三维仿真场景的数据格式,由几何信息转换、材质信息转换两步组成,转换流程如下:

(1)几何信息转换。首先,在Revit中遍历出所有Revit模型构件,通过Element Collector针对每类进行过滤;其次,遍历所有模型,若其Solid不为空,则通过Triangulate函数进行三角分割,可直接获得顶点坐标和三角面片,若为空,则判断Geometry Instance是否为空,如果不为空则将其变量Symbol Geometry作为Geometry Element重复上面循环;最后,将几何信息提取出备用。

(2)材质信息读取:通过Material类,构件相应过滤器,得到相应材质元素。

Revit模型集成到仿真系统模型示意见图6。

(3)根据索引文件,将各类设施设备三维模型导入三维软件平台并自动定位。

(4)在三维软件平台中对模型微调,完成设计成果的集成展示(见图7)。

3模型与三维地形融合

模型集成到三维场景后,部分涵洞模型或隧道模型可能出现地形淹没模型的情况,因此需要将地形与模型进行融合,完成三维仿真场景的最终建立,实现流程如下:

第一步:地形三角网建立。

在三维仿真场景中,可采集任意区域的高程点数据,根据该高程点数据可建立该区域的地形三角网模型(TIN)。TIN是一个典型矢量数据结构,主要通过节点(地表采样点)、三角形边和三角形面间的关系来显式或隐式表达底细功能散点的拓扑关系。

第二步:地形三角网与模型三维网求交。

地形三角网与模型三角网求交的目的是将交线求出,并在三维GIS平台中对地形进行开挖。主要通过布尔运算进行,布尔运算是数字符号化的逻辑推演法,包括联合、相交、相减。在图形处理操作中引用这种逻辑运算方法使简单基本图形组合产生新的形体(主要采用第三方开源库(Open Cascad)通过求交实现)。

模型与地形融合效果示意见图8。

4结束语

首先提出一种基于四叉树空间索引原理,实现了基于多尺度、多分辨率影像和高程数据的三维地形自动生成方法,同时有效避免了切面数据错位和分辨率不统一的问题。其次通过建立铁路设施设备模型库,根据铁路三维线位和相应三维设计软件的二次开发,生成铁路模型三维索引文件,将设计成果快速批量集成到仿真场景。最后通过建立地形三角网和模型三角网并进行求交,完成铁路三维仿真场景的快速搭建。将上述方法应用到成昆铁路、海南东环高铁、沪昆铁路等线路的三维仿真场景建立,结果表明,采用的研究思路和技术方案先进易用、切实可行,为铁路信息化和科学化管理开辟了新途径,同时有助于推动铁路的建设发展。

摘要:通过四叉树空间索引原理计算地形和影像金字塔,实现三维地形的快速建立和浏览,同时根据既有铁路三维线位,提出铁路中线分段投影、三维模型自动匹配等方法,可快速搭建铁路沿线三维仿真场景。

关键词:金字塔,三维地形,分段投影,自动匹配,仿真

参考文献

[1]韩飞.面向虚拟环境的三维地形生成方法[J].计算机工程,2010,36(19):261-262.

[2]佘江峰,陈景广,程亮,等.三维地形场景并行渲染技术进展[J].武汉大学学报(信息科学版),2012,37(4):463-467.

[3]石少华.铁路线路三维可视化建模研究[D].兰州:兰州交通大学,2014.

[4]王金委,曾学贵,李家稳,等.铁路线路设计中三维可视化辅助设计系统研究[J].铁路航测,2002(3):11-14.

[5]赵长胜.高斯投影坐标反算的迭代算法[J].测绘通报,2004(3):16-17.

[6]邓兴升,汤仲安,花向红,等.椭球变换后的高斯投影正反算法[J].大地测量与地球动力学,2010,30(2):49-52.

[7]何莉,易思蓉.铁路线路视景仿真中构造物三维模型库的研究[J].铁道勘察,2006(6):25-27.

[8]张恒,朱军,徐柱,等.面向高速铁路的三维模型数据库管理与建模服务[J].计算机应用研究,2015(9):2 708-2 711.

[9]朱颖,闵世平,代强玲.面向铁路行业三维场景快速构建一体化技术研究[J].铁道工程学报,2011(12):4-10.

上一篇:城乡产业统筹下一篇:基建改造工程