Unity3d 性能指标分析 下载本文

内容发布更新时间 : 2024/5/5 3:01:01星期一 下面是文章的全部内容请认真阅读。

Unity3d引擎性能指标分析 一 Unity3D引擎采购需求分析 1.1 使用成熟的3D引擎在项目开发中的必要性 3D引擎是指一些已编写好的用来编辑制作电脑电视游戏或者互交式实时图像应用程序的核心组件。如同类库在软件开发中的作用,这些整合好的系统为游戏软件开发者提供各种编写程序所需的基本模块和开发工具,让程序开发方能够更简单、快速而高效地制作出游戏程序而不用由底层开始一点点实现。 随着软件和硬件工程业的飞速进步,当今的电脑3D模拟场景已经越来越真实。各种光线、阴影、物理算法的出现让软件不仅越来越接近现实,也更加庞大和复杂。所有需要虚拟现实的项目都希望可以提供最佳的用户体验,但越复杂的功能实现起来就越困难。开发者可能面临各种构架局限,逻辑冲突,花费大量的时间调整程序的性能与效果比。3D引擎的出现正是将开发者从这些繁杂的工作中解放出来,提供给他们成熟的解决方案,可以预见的性能开销和实现效果,以及完备的功能和良好的可扩展性。使用成熟的3D引擎,即可以为使用者节省大量的项目时间和开发预算,又不需要降低产品质量,还可以大大降低项目的风险。 引擎一般会包含渲染,实时物理,碰撞检测,三维动画,音效,脚本引擎,电脑动画,人工智能,网络以及场景管理等等的功能模块。但也有引擎只提供单一或很少的功能模块,需要集成其他引擎或插件才能开发完整的项目。 1.2 Unity3D引擎为项目开发提供丰富的功能模块 Unity3D引擎是一个成熟的多平台的游戏开发工具,是一个全面整合的专业3D引擎。其内置大量成熟的功能模块,包括图形图像渲染,实时物理和碰撞检测,音效,三位动画,视频播放,网络通信和下载,读取外部资源,内置游戏服务器和可动态加载的场景管理等等。每一个模块都简单易用而且高效。 开发者可以完全专注于程序逻辑的开发和场景的搭建而不用操心其他的方面。 1.3 Unity3D引擎编辑器提供全程可视化的开发环境 Unity3D引擎通过编辑器提供全程可视化的开发环境,使用者可以随时查看之前制作的效果。除了开发中一直用到的场景,摄像机界面,资源管理器和属性设置界面,使用者还可以查看动画编辑器对动画进行修改操作和绑定触发事件的时间,或者利用探查器实时监视程序运行时的各种开销。其详细追踪到脚本中每个函数所使用的CPU运算速度和开销以及内存使用。 1.4 Unity3D引擎拥有良好的可扩展性 通过编写脚本和Shader,开发者可以轻松掌控整个软件的运行。 所有程序运行的模块都有足够的API供开发者调用,并调用整个.Net 2.0库实现各种功能。可以调用编辑好的dll,支持C++ 、Java、Object C编写的插件。 1.5 Unity3D引擎支持多个平台的发布 只要保证所使用的功能可以获得相应平台的支持,使用Unity3D引擎制作的项目可以直接发布在PC、 Mac、 Web 、iOS 和Android平台上而基本不用对制作好的项目进行任何修改。 1.7 Unity3D制作方向使用者提供良好的后续支持 通过官方论坛和官方Wiki网站,使用者可以获得后续的技术支持。 如果购买Unity3D源码,还可以随时获得来自开发团队的技术支持并保证项目始终能应用所有开发方新开发的功能。 1.6 Unity3D引擎拥有大量的第三方支援 Unity3D仿照苹果的AppStore建立了自己的AssetStore,为第三方和使用者提供购买和服务的渠道。许多顶尖开发商为Unity提供了大量的扩展功能、更真实的渲染效果并加强组件的功能。进一步降低了项目的开发时间和风险。 二 技术要求以及性能 2.1 开发技术要求 2.1.1 程序开发 开发人员至少应具有基础编程知识并了解面向对象设计和面向对象编程的技术。了解基本的三维技术和向量算法等数学知识和基本的经典物理知识。其他有助于开发项目的知识包括掌握人工智能,数据结构, 软件构件等。 2.1.2 视频特效 视频特效的开发通常需要美术人员与掌握计算机图形学的开发人员一起研发。一个效果实现的完美程度通常都依赖于程序和素材的契合度。仅仅拥有高级的算法或漂亮的素材不一定能达到期望的效果,或会损失一定的性能。 2.2 同类型软件对比 2.2.1 画面效果 Unity3D引擎可以轻松的渲染大量的多边形,支持法线贴图、Lightmap、高光贴图、透明通道、环境贴图等常见效果贴图。其画质摇摇领先于ORGE、VisTools等在虚拟现实领域常见的3D引擎,使用基本功能可以与著名的游戏引擎BigWorld持平。达到Unreal Engine 3,Crysis Engine 2, Crysis Engine 3等高端3D引擎的画质有一定难度,但是不是不可实现的。开发方需要强劲的美术团队和掌握一定的计算机图形学技术。Unity3D良好的可扩展性让可以达到的效果上限几乎完全取决于开发者自己的技术。在硬件支持的情况下任何新颖优秀的图形图像算法都可以实现。 2.2.2 开发难度 Unity3D引擎提供完备的可视化开发环境,对用户非常友善。所有的功能都简单易用,其编辑器还可以在运行状态下设置断点,实时监控游戏数据。其资源可以很容易的移动到不同的项目中,拥有自带的版本控制软件并支持第三方的版本控制软件和代码比对工具。可以说在开发难度来看Unity3D引擎在所有引擎中都是最容易的,有编程知识的人都可以利用现成的资源开发完备的游戏。 2.2.3 开发时间 使用Unity3D引擎基本上不会有什么难以处理的需要花费大量时间解决的步骤。其内置编辑器和Shader编辑器允许开发者针对不同的硬件运行环境自动调用不同的处理方法,编译可执行文件也不需要任何其他的设置,直接就可以发布与编辑器效果完全一致的软件,并直接发布所有Unity3D支持的平台而几乎不用做任何更改。其开发时间基本与同类引擎一样取决于项目的复杂度。 2.2.4 开发预算 Unity3D引擎基本上支持所有主流素材格式,并且只收取远远低于其他3D引擎的授权费用。相对于其他引擎开发需要的一系列授权费,发布费和收益分成,Unity3D只收取基本的授权费用,而且仅为其他性能相近引擎的几十分支一。这将有效降低使用Unity3D引擎开发项目的预算。 三 Unity3D引擎实际应用状况 3.1 当前主要的应用领域 3.1.1 游戏 当前Unity3D引擎在游戏领域主要应用在iOS, Android等智能手机游戏开发和Web端游戏的开发。Unity3D引擎开发的3D游戏在这几个领域拥有很大的市场份额。传统客户端游戏使用Unity3D引擎开发的游戏则主要注重其和Web等其他平台的通用性,用Unity3D引擎开发的游戏可以在浏览器,智能手机和客户端上拥有基本相同的效果并能直接实现联网而不需要任何其他设置和支持。 3.1.2 虚拟现实 Unity3D引擎以其较低的授权费用,出色的画质和快捷高效的开发过程和多平台特性在虚拟现实领域受到大量青睐,被大量用于虚拟仿真,增强现实,场景漫游等领域。尤其是随着iPad代表的平板电脑和新的用户体验的出现,对iOS、Android平台有良好三维支持的Unity3D引擎更是获得了更多的应用空间。 3.2 成功案例 产品名称 老虎伍兹Online 发行商 EA 平台 Web 简介 《老虎伍兹 Online》由 EA Tiburon 研发,利用Unity3D在Web上的优异表现从测试期起就吸引了大量玩家的加入。 太空堡垒卡拉狄加OL Bigpoint Web 《太空堡垒卡拉狄加OL》是一款大型多人在线策略类太空战斗游戏,拥有庞大的太空场景和华丽的次时代画面。在游戏公测的5个月内,游戏已经拥有300多万注册用户。