毛开宇论文修改稿6(4)

2018-12-17 12:35

广东石油化工学院本科毕业(设计)论文:基于OpenGL的3D游戏动漫人物设计中人脸表情库的构建

第三章 软件工具介绍

3.1 3D MAX

3.1.1 3Dmax的发展历史

人类的世界是3D世界,无论是看的视角,还是物体的体积。基于技术的发展和人类追求进步的欲望,计算机世界也从2D世界进化到3D世界,3Dmax这一个系列的制作三维动画的软件也在不断更新和发展,所以简单介绍下这一系列的软件的悠久历史。

1990年以前,世界上只有少数的软件可以在计算机上渲染和产生动画,这些软件有各种缺点,比如渲染的时间长啊,操作较复杂啊,同时这些软件也比较昂贵,对硬件的要求较高,很多公司用不起,这就限制了3D的发展,直到3D Studio的出现,3D Studio具有价格合理,操作步骤很规范,面对不同的产品也有相同的流程的特性。他的出现是一种突破,使得在制作计算机动画上有了一个新的职业。

3D Studio最先诞生在80年代末,是DOS 版本的,一台有着386DX以上的计算机就可完成大部分的设计工作,实现那时候电脑设计的一个梦。但是DOS版本的电脑设计有很大的缺点,主要在颜色深度,内存少,渲染时间很长。同时有很多设计软件在电影特技方面的成功使得3DStudio决心要彻底改善下技术,进入90年代,window 9x的进步,而3D Studio从DOS版本转换到window版本是十分困难的,对于3D Studio来说,开发适应window版本的需要从头开始。Window火遍全球,window的用户在不断的上升,3D Studio 三维软件技术已经不适应时代的变化,它需要window版本,在1993年,3D Studio软件公司以及他的下属公司放弃了DOS操作系统,开始使用全新的操作系统(windows NT)、全新的编程语言(Visual C++)、全新的结构(面向对象)编写了3D Studio MAX,从此,PC上的三维动画软件3D Studio MAX 1.0问世了。

接下来的3D Studio MAX 2.0 版本在一年后进行更新,这个版本和之前的版本有质的不同,总体上说有上千处的改进,最为主要的是增加了NURBS建模、光线跟踪材质和镜头光斑的强大功能,从此这个版本成为了三维动画创建领域的主流,是一个成熟的、稳健的和健全的三维动画制作软件。

随着不断增加新的功能,不断的更新,3DMAX的功能在不断的加强,越来越能满足人们的需求。

3.1.2 3dsmax的主要更新

第三章 软件工具介绍

3DMAX的3.0版本,加入了工具框,这种工具框是浮动的,还加入了新的渲染器,同时支撑更高级别的处理器,比如奔腾系列中的奔腾三处理器,这就使得3DMAX进军了高端个人计算机的领域。随后的3DMAX4.0版本,原来的3DMAX我们都叫3D Studio MAX,但是,当时的公司发生了变化,由Kinetix研究公司变成了Discreet研究公司,这样就把这款软件改名了,Discreet研究公司同时也更加优化了3DMAX的内核,也覆盖了两足动画插件,这样在角色动画制作方面,有了极大的补充,和MAYA齐头并进。著名的魔兽争霸3就是运用3DMAX制作出来的,细腻的动画效果,逼真的人物模型,让我们叹为观止,这是3DMAX开发人员值得骄傲的一个创举。接下来的5.0 版本,更新了动力学方面的插件reactor,并在灯光方面运用了光度学灯光Photometric,也增加了许多更高级,更逼真的材质,使得3DMAX创造出来的世界更加逼真,最后也并入了曲线动画编辑器,使得操作更加方便。6.0版本的3DMAX,增加了更加方便,更加便捷的操作建模的工具,最为重要的是修正了结构视图(Schematic View)、同时开发人员开发出了高级粒子流插件粒子流系统(Particle Flow),这个系统就是一个MAYA流的大集合,具有极为强大的功能,同时在电影制作方面,加入了一个渲染插件mental ray ,这样3DMAX就可以在电影动画制作方面能够大展拳脚,同时也新增网络渲染贴图、网络局部渲染、样条线/面片建模、编辑顶点法线、保存和调用对渲染参数设定等。这个版本是3DMAX开发人员的骄傲,在国际上获得过很多的赞美和奖项。7.0版本的3DMAX,对于格式的支持,支持了MPEG格式,对于多边形的修改也加强了。剪切显示物体的功能也被加上了(Object Display Culling)。8.0版本中,可以制造毛发和布料了。接下来就不介绍版本了,但是要说一句,2009版的3DMAX后,分为了两个版本,一个是专门制作动画的专业动画版,一个是专门制作建筑的专业建筑版,这样对于不同的许秋怡,3DMAX就有了更加系统的分工。

3.1.3 3Dmax的优点

1. 计算机的配置要求较低。

2、3Dmax 可以安装插件,这样就可以增加其他的功能,比如说3D max 6.0版本以前不提供毛发功能,就可以通过使用增加插件来实现这一个功能。 3、对于角色的制作,3D max具有强大的能力。

4、就像JAVA当中的样式,可以不断堆叠样式,3Dmax也可以不断堆叠,达到想要的效果。

9

广东石油化工学院本科毕业(设计)论文:基于OpenGL的3D游戏动漫人物设计中人脸表情库的构建

3.1.4 3Dmax的主要应用

首先3D max只是一个软件,它的用途在与人们的需求能不能通过3Dmax实现,如果能快速,完善的实现,那么,3Dmax在这一方面就是有用的。

现在max应用比较广泛的是室内效果图,因为这行入门的门槛比较低,学点装修知识就可以学习max出效果图了,而且学max也不需学的太深,很多室内的场景小品都是调用别的现成的模型,并不是真正意义上的建模,也正是因这样,这个行业的竞争越来越激烈,相互压价,室内效果图这行,真心做不得了。 其次就是广告业,广告业分两种,一是平面广告,二是动画广告,动画广告只需要简单的建模水平,能打分镜,能出动画的序列帧就可以了,然后再交与后期处理,所以说这个行业应用的max也并不是很多。

第三就是建筑效果图和漫游动画了,一般为房地产开发商、市政建设所用的比较多,要价也挺可观,但是这行仅会一个max、ps、cad和ae也是不行的,效果图公司有专门做这一方面的人,他们起码要会看图纸、明白并理解设计者的意图,比如说,你用百度搜一个立交桥的总平面图的dwg,你看看能不能理解并用max做出来,然后再结合着一些园艺知识进行绿植美化。

最后一个就是角色类的,这个需要艺术类的知识,肯定不必多说了,对max的应用也是比较深的,什么动力学、骨骼蒙皮绑定、分镜头。。。。收入也可观,但是招收的公司对其要求却是比较苛刻的。

max应用的领域很广泛,这就需要看往哪一方面发展了。

3.2 OPENGL介绍

3.2.1 OPENGL的含义

OpenGL(全写Open Graphics Library)是个定义了一个跨编程语言、跨平台的编程接口的规格,它用于三维图象(二维的亦可)。OpenGL是个专业的图形程序接口,是一个功能强大,调用方便的底层图形库。

3.2.2 OPENGL的发展历史

我们都知道,一个软件只有不断的跟新,才能更加完善,才能不断的满足人们越来越需要的摸个功能,OPENGL身为一个API,也在不断的更新,以满足大家的需要。下面简单介绍下,每个版本的OPENGL都更新些什么。

OPENGL1.1版本,这个版本中,创建一个数组,就和JAVA数组一样,这个数组中可以装入顶点的数据,可以降低许多函数的调用次数,同时在数组中的数据可以进行修改,而在显示列表中的数据是不可以修改的,这样就很方便使用者的

第三章 软件工具介绍

对数据进行实时的修改。还有创建了一个纹理对象,这个对象的概念就是一个类的具体实现,在相同的时间OPENGL只保存多个纹理对象,这样调用就方便,而以前的是只能保存一个,要使用另一个,只能关掉重新来,这样就很影响效率。 OPENGL1.2版本中,更新了纹理,以前的OPENGL只可以支持一维和二维的纹理映射。对于像素的格式问题,增加了GL_BGRA等原来没有的像素格式,这样就可以运用更多的像素格式,更加全面的解决开发者关于像素不兼容的问题。同时,可以压缩的像素格式就可以增加。以前的图像处理的工具就很少,在这个版本中就增加了卷积、计算柱状图等等,运用这些工具就更加方便,也就是增加了图像处理子集,这个子集开发者可以使用,也可以不使用,看情况。

OPENGL1.2.1版本,这个版本没有增加实际的功能,但提出了一个概念,这个概念是ARB扩展。下面会介绍这个概念,也就是兼容其他的功能。

OPENGL1.3版本,这个版本增加了可以压缩的纹理,压缩后的纹理更加小,更加节省空间,在传输的时候就更加便捷,传输更快。我们知道图像会有锯齿,越精细的图像锯齿越少,画面越逼真,也越平滑,这个版本就用了一个新的全屏抗锯齿技术,减轻锯齿的现象。对于不同的显卡,几乎都有可以选择的选项,也就是多重采样。好的显卡可以选择8x,16x。

OPENGL1.4版本中,为了绘制阴影更加好,就深度值像像素值放到纹理中。大自然都是有光照的,辅助颜色就是为了在关照下有更好的效果,更加真实。 OPENGL1.5版本中,有一个缓冲对象,将数据保存到更好的存储器中,这样绘制的速度就可以加快,开发效率提高。缓冲对象比顶点数组好的地方有,顶点数据只是减少调用的次数,但是调用的时间还是不会变,缓冲对象可以也可以降低调用的次数,但是调用的时间也减少了。这个版本还提供了遮挡查询的功能,这个功能的只要是在计算一个物体有几个像素,如果没有像素,就不加载其他数据。如果有,就绘制到计算机屏幕上。

OPENGL2.0版本,这个版本增加了可编程着色,就像在网页中加入JAVA代码一样,更加灵活,增加互动性,这个可编程着色也可以写一段小小的代码来代替原来对于顶点的操作,这样很多效果就可以被实现出来。同时,将一次绘制一个像素到一次可以绘制一块像素,这样对于一整块相同颜色的物体来说,更加高效。

3.2.3 OpenGL扩展

我们看到OPENGL的更新并不快,在OPENGL没有更新的时间内,有一种新的技术流行起来,那么OPENGL并不能即使的跟上潮流,在OPENGL标准中就没有对这种技术的支持,这样,OPENGL就提出了扩展这一概念。厂商在发行OpenGL时,除了遵照OpenGL标准,提供标准所规定的各种功能外,往往还提供其它一些额外的功能,这就是扩展。这样就可以把技术家加到OPENGL中,满足开发者的需要,但

11

广东石油化工学院本科毕业(设计)论文:基于OpenGL的3D游戏动漫人物设计中人脸表情库的构建

是扩展是有局限性的,必须要满足每一个扩展都被支持,这样编写的代码就会变得复杂。低版本的OPENGL也可以通过扩展,来达到高版本OPENGL中的某些功能。比如在OPENGL1.2中没有多重纹理这一概念,但是可以通过拓展来增加这一功能,这样就和OPENGL1.3版本中的多重纹理一样了。

3.2.3 OPENGL和DirectX在游戏领域的发展

事实上在早年OpenGL即使在游戏领域也是对DirectX压倒性的优势。John Carmack曾嘲讽DirectX是“horribly broken” 的API。直到DirectX6时代OpenGL都被认为是比DirectX更加优秀的API,即使那个时候DirectX已经有《CS》《极品飞车5》等大作的支持,却依然不受当时FPS游戏霸主id Software的待见。作为那个时代的显卡杀手,《Quake III》都仅仅只支持OpenGL。 DirectX7发布之后DirectX和OpenGL开始逐渐平起平坐。直到2000年DirectX8的发布才使DirectX在游戏领域完全确立了自己的优势 —— 支持革命性的programmable GPU rendering pipeline来代替原有的fixed function pipeline,引入了Vertex Shader和Pixel Shader。而OpenGL的核心正式支持programmable rendering pipeline已经是四年之后OpenGL 2.0发布的时候了。想想这中间会有多少游戏公司/游戏引擎公司会倒向DirectX吧。

说到OpenGL衰落的原因,不得不提到OpenGL开发的机制。OpenGL早期一直是由ARB (OpenGL Architecture Review Board,成员包括Nvidia, ATI, Intel, Apple, IBM, SGI等等)成员共同维护。每个成员可以为了支持自己硬件新的feature来开发OpenGL enxtension, 所有成员一致通过的extension才能加入到下个版本OpenGL核心中。这就造成了不同成员为了各自利益互相斗争,拖慢了开发进度。微软曾经也是ARB的成员之一,后来因为受不了这种机制退出专心搞自己的DirectX去了。

如果一个API越流行,那么去学习这个API的人就会越多,游戏公司会越容易招到掌握这个API的图形程序员,也就会更多的基于这个API开发游戏。用这个API的游戏越来越多,就会更多的得到,硬件厂商的支持,为面向这个API的驱动做更多的优化,然后这个API就会更加流行。如此进入一个良性循环,这就造成了DirectX现在称霸游戏领域,OpenGL几乎绝迹的局面。

在06年从ARB交由Khronos Group掌管之后, OpenGL最近几年也迎头赶上,从性能,易用性来说其实和DirectX已经相差不大。但是在相比DirectX没有突出优点的情况下(除了跨平台),已经习惯使用DirectX的游戏厂商也不可能重新投出OpenGL的怀抱。

最后一点,OpenGL只是一个单纯的图形库,而DirectX是包含图形(Direct3D), 声音(DirectSound), 输入(DirectInput), 网络(DirectPlay)的


毛开宇论文修改稿6(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:天津宝成博物苑(精)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: