Unity3D游戏引擎浅谈
随着移动互联网的发展和游戏研发技术及PC硬件水平的提升,跨网、跨平台和跨终端的网络应用有了更大的拓展空间。在当前传统网游市场疲软的现状下,国内外厂商纷纷将视线转向了跨平台游戏领域。
近年来,网页游戏的发展趋势侧重于2D画面向3D的升级,3D页游已经被公认为将是该领域的主流形态。而基于Unity 3D引擎的画面和跨平台应用优势,在目前海内外渐成趋势的跨平台游戏领域,Unity 3D引擎显然是各大厂商关注的焦点。
在初次接触这款游戏引擎的时候,我就为unity3D强大的贴图功能惊叹不已。首先是它的漫反射贴图(diffuse map),这种贴图用来在游戏中表现出物体表面的反射和表面颜色;其次是凹凸贴图(Bump maps),这种贴图在游戏中给贴图增加立体感,它分为法线贴图(normalmap)和高度贴图(highmap),其中法线贴图把空间坐标的参数(X,Y,Z)记录在像素中(R,G,B);高度贴图用于改变我们所看到的表面的倾斜度;最后是高光贴图,这种贴图是在游戏中用来表现当光线照射到模型表面时,其表面属性的(如金属和皮肤、布、塑料反射不同量的光)从而区分不同材质。不仅如此,它还支持100多种光照材质shader,20多种后期处理效果。并且Unity3D的surface shader比较灵活的,可以非常自由的定制,特别是在处理爆炸等特效的时候显得特别容易。由此可见其高质量的粒子系统,虽然简单但却逼真。
接下来是它的脚本语言,unity3D的脚本语言在Unit3D游戏开发中占据了主角地位。它提供了三种脚本语言的支持:Javascript、C#、Boo。其中Boo是Python在.Net上的实现,unity3D通过Mono实现了.Net代码的跨平台。这样对数据库、xml、正则表达式等技术的支持都因为采用了.Net而得到完美的解决。脚本语言的动态特性让我们可以方便
的通过名称、层次结构、tags 等方式访问所有的对象。更大的好处就是脚本语言的跨平台性,绝大部分平台相关的代码都放到了引擎的内部,而游戏内容相关的代码都可以跨平台执行,在游戏的制作过程中实现了跨平台。
其他方面:1.模型导入:unity3D游戏引擎不像我们上学期学习的virtools游戏引擎,它支持3Ds,FBX等格式直接导入,贴图材质也会自动转换为u3d的格式,相当方便。 2.Unity3D 提供了包括编辑器、beast 渲染器、tree creator 等大量的辅助工具,这也是其他游戏引擎所不能比拟的地方。
时至今日,国内外跨平台游戏领域在不到一年时间内,已经涌现出数十款PC端的Unity 3D网游,而基于该引擎的手机游戏更是多达数百款。现在,业内在高品质3D页游的引擎选择上,有Adobe和Unity 3D两大引擎,Adobe是在它最新版Flash设定中,才开始支持3D引擎,而Unity 3D引擎在实际的应用上,已经在国内外陆续推出了数十款认可度颇高的3D页游。所以相对于其他游戏引擎来说,unity3D游戏引擎的发展还是很可观的。
在学习unity3D游戏引擎的过程中,我首先是为其地形的创建惊叹,其次是为其在给地形分段贴图的功能感到惊叹,接着再是为它的粒子特效以及粒子特效的修改方便感到惊叹,然后是为其各种方便的贴图感到惊叹,再为它支持三种脚本语言以及跨平台执行代码的强大功能感到惊叹,最后再是为它的各种强大的插件惊叹。它是一款次世代游戏开发引擎,它的全平台支持(PC, Mac OS, Web, iOS, iPhone,Android, XBOX360, PS3, Wii)能力,让人很难再挑剔了。我感觉在对unity3D游戏引擎的学习过程就是一个不断发现奇迹,不断惊叹的过程。我从来没有接触过一个像unity3D游戏引擎一样集各种功能与一身,而且使用简单、方便的PC游戏引擎。
总之,unity3D游戏引擎是一款游戏设计能力强,画面效果好,具有跨平台应用的强大的游戏引擎。但是对于我自己来说,我走的是动漫方向,将来想要走游戏建模这方面,所以以后应该也不会对这款引擎有更多的探索。这次选这个课程来学习的目的就是想了解一下关于游戏制作这方面的东西,这样对于自己以后在动漫或者说是游戏建模这方面是有很大帮助的。毕竟作为一名学生,我们要尽自己最大的努力学习最多的东西,要样样会,但是要至少精通一门。