Unity3d 性能指标分析_第1页
Unity3d 性能指标分析_第2页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Unity3d引擎性能指标分析-一*Unity3D引擎采购需求分析1.1使用成熟的3D引擎在项目开发中的必要性3D引擎是指一些已编写好的用来编辑制作电脑电视游戏或者互交式实时图像应用程序的核心组件。如冋类库在软件开发中的作用,这些整合好的系统为游戏软件开发者提供各种编写程序所需的基本模块和开发工具,让程序开发方能够更简单、快速而高效地制作出游戏程序而不用由底层开始一点点实现。随着软件和硬件工程业的飞速进步,当今的电脑3D模拟场景已经越来越真实。各种光线、阴影、物理算法的出现让软件不仅越来越接近现实,也更加庞大和复杂。所有需要虚拟现实的项目都希望可以提供最佳的用户体验,但越复杂的功能实现起来就越

2、困难。开发者可能面临各种构架局限,逻辑冲突,花费大量的时间调整程序的性能与效果比。3D引擎的出现正是将开发者从这些繁杂的工作中解放出来,提供给他们成熟的解决方案,可以预见的性能开销和实现效果,以及完备的功能和良好的可扩展性。使用成熟的3D引擎,即可以为使用者节省大量的项目时间和开发预算,又不需要降低产品质量,还可以大大降低项目的风险。引擎一般会包含渲染,实时物理,碰撞检测,三维动画,音效,脚本引擎,电脑动画,人工智能,网络以及场景管理等等的功能模块。但也有引擎只提供单一或很少的功能模块,需要集成其他引擎或插件才能开发完整的项目。1.2Unity3D引擎为项目开发提供丰富的功能模块Unity3D

3、引擎是一个成熟的多平台的游戏开发工具,是一个全面整合的专业3D引擎。其内置大量成熟的功能模块,包括图形图像渲染,实时物理和碰撞检测,音效,三位动画,视频播放,网络通信和下载,读取外部资源,内置游戏服务器和可动态加载的场景管理等等。每一个模块都简单易用而且高效。开发者可以完全专注于程序逻辑的开发和场景的搭建而不用操心其他的方面。1.3Unity3D引擎编辑器提供全程可视化的开发环境Unity3D引擎通过编辑器提供全程可视化的开发环境,使用者可以随时查看之前制作的效果。除了开发中一直用到的场景,摄像机界面,资源管理器和属性设置界面,使用者还可以查看动画编辑器对动画进行修改操作和绑定触发事件的时间,

4、或者利用探查器实时监视程序运行时的各种开销。其详细追踪到脚本中每个函数所使用的CPU运算速度和开销以及内存使用。1.4Unity3D引擎拥有良好的可扩展性通过编写脚本和Shader,开发者可以轻松掌控整个软件的运行。所有程序运行的模块都有足够的API供开发者调用,并调用整个.Net2.0库实现各种功能。可以调用编辑好的dll,支持C+、Java、ObjectC编写的插件。1.5Unity3D引擎支持多个平台的发布只要保证所使用的功能可以获得相应平台的支持,使用Unity3D引擎制作的项目可以直接发布在PC、Mac、Web、iOS和Android平台上而基本不用对制作好的项目进仃任何修改。1.7

5、Unity3D制作方向使用者提供良好的后续支持通过官方论坛和官方Wiki网站,使用者可以获得后续的技术支持。如果购买Unity3D源码,还可以随时获得来自开发团队的技术支持并保证项目始终能应用所有开发方新开发的功能。1.6Unity3D引擎拥有大量的第三方支援Unity3D仿照平果的AppStore建立了自己的AssetStore,为第三方和使用者提供购头和服务的渠道。许多顶尖开发商为Unity提供了大量的扩展功能、更真实的渲染效果并加强组件的功能。进一步降低了项目的开发时间和风险。技术要求以及性能2.1开发技术要求2.1.1程序开发开发人员至少应具有基础编程知识并了解面向对象设计和面向对象编

6、程的技术。了解基本的三维技术和向量算法等数学知识和基本的经典物理知识。其他有助于开发项目的知识包括掌握人工智能,数据结构,软件构件等。2.1.2视频特效视频特效的开发通常需要美术人员与掌握计算机图形学的开发人员一起研发。一个效果实现的完美程度通常都依赖于程序和素材的契合度。仅仅拥有高级的算法或漂亮的素材不一定能达到期望的效果,或会损失一定的性能。2.2冋类型软件对比2.2.1画面效果Unity3D引擎可以轻松的渲染大量的多边形,支持法线贴图、Lightmap、高光贴图、透明通道、环境贴图等常见效果贴图。其画质摇摇领先于ORGE、VisTools等在虚拟现实领域常见的3D引擎,使用基本功能可以与

7、者名的游戏引擎BigWorld持平。达到UnrealEngine3,CrysisEngine2,CrysisEngine3等咼端3D引擎的画质有一定难度,但是不是不可实现的。开发方需要强劲的美术团队和掌握一定的计算机图形学技术。Unity3D良好的可扩展性让可以达到的效果上限几乎完全取决于开发者自己的技术。在硬件支持的情况下任何新颖优秀的图形图像算法都可以实现。2.2.2开发难度Unity3D引擎提供完备的可视化开发环境,对用户非常友善。所有的功能都简单易用,其编辑器还可以在运行状态下设置断点,实时监控游戏数据。其资源可以很容易的移动到不冋的项目中,拥有自带的版本控制软件并支持第三方的版本控制

8、软件和代码比对工具。可以说在开发难度来看Unity3D引擎在所有引擎中都是最容易的,有编程知识的人都可以利用现成的资源开发完备的游戏。2.2.3开发时间使用Unity3D引擎基本上不会有什么难以处理的需要花费大量时间解决的步骤。其内置编辑器和Shader编辑器允许开发者针对不冋的硬件运行环境自动调用不冋的处理方法,编译可执行文件也不需要任何其他的设置,直接就可以发布与编辑器效果完全一致的软件,并直接发布所有Unity3D支持的平台而几乎不用做任何更改。其开发时间基本与同类引擎一样取决于项目的复杂度。2.2.4开发预算Unity3D引擎基本上支持所有主流素材格式,并且只收取远远低于其他3D引擎的

9、授权费用。相对于其他引擎开发需要的一系列授权费,发布费和收益分成,Unity3D只收取基本的授权费用,而且仅为其他性能相近引擎的几十分支一。这将有效降低使用Unity3D引擎开发项目的预算。三Unity3D引擎实际应用状况3.1当前主要的应用领域3.1.1游戏当前Unity3D引擎在游戏领域主要应用在iOS,Android等智能手机游戏开发和Web端游戏的开发。Unity3D引擎开发的3D游戏在这几个领域拥有很大的市场份额。传统客户端游戏使用Unity3D引擎开发的游戏则主要注重其和Web等其他平台的通用性,用Unity3D引擎开发的游戏可以在浏览器,智能手机和客户端上拥有基本相冋的效果并能直

10、接实现联网而不需要任何其他设置和支持。3.1.2虚拟现实Unity3D引擎以其较低的授权费用,出色的画质和快捷高效的开发过程和多平台特性在虚拟现实领域受到大量青睐,被大量用于虚拟仿真,增强现实,场景漫游等领域。尤其是随着iPad代表的平板电脑和新的用户体验的出现,对iOS、Android平台有良好三维支持的Unity3D引擎更是获得了更多的应用空间。3.2成功案例产品名称发行商平台简介老虎伍兹OnlineEAWeb老虎伍兹Online由EATiburon研发,利用Unity3D在Web上的优异表现从测试期起就吸引了大量玩家的加入。太空堡垒卡拉狄加OLBigpointWeb太空堡垒卡拉狄加OL是

11、一款大型多人在线策略类太空战斗游戏,拥有庞大的太空场景和华丽的次时代画面。在游戏公测的5个月内,游戏已经拥有300多万注册用户。SHADOWGUNMADFINGERGamesiOS游戏拥有可以媲美Unreal的精致游戏画面和光影效果,紧张的战斗节奏和颇具挑战性的BOSS战。拥有iOS平台最佳画质的次武士II复仇MADFINGERGamesiOS在中国、日本、美国的AppStoreAndroid下载排行榜都进入前10名。游PC戏画面拥有浓郁的漫画风格,深受各国玩家喜爱。时代游戏之一。SHAtF&lGlJNIngame«cmB«nsFia1*JEheiilfcwCso:

12、河tnrwQ竝也刨cnmtfll-wifih3irlerepnharrcMrig刃口HJC.UStlflFiRBIn曰?W5larKJ3idkrhpindhc-cinc&cn-gnmg.啊.-四二次开发的内容及方案4.1需求Unity3D引擎只提供程序的整合功能,所有项目用到的素材和程序逻辑实现都需要使用者提供和编写。在开始制作原型程序时可以先利用官方提供的资源包和其他第三方素材来搭建。基于Uinty3D引擎良好的面向对象开发模式,这些素质可以分别更改和补充而且完全不会影响到项目的其他部分。根据项目的具体需求,可以选择用Unity3D基本功能模块,对其进行扩展或提出新的解决方案。4.2

13、场景4.2.1场景加载除了直接切换场景,Unity3D引擎还可以提供场景的实时加载和预加载来展现巨大的虚拟场景。针对读取较慢的情况还可以实现异步加载。4.2.2地形默认地形最大支持4086x4086x32的高度图分辨率以及树木和草的自动优化。多个地形之间可以实现无缝衔接来构成更大的场景。地形生成可以直接由美术绘制,读取高度图文件,通过生成程序生成,通过脚本读取以及通过其他三维软件制作的模型转换。地形可以通过脚本导出成模型文件或直接导出高度图,方便美术人员进行创作和处理。地形上的纹理和植被数据也可以用脚本执行导出和写入操作,并支持程序运行状态下的实时修改。可以模拟植被从微风到飓风的不同摆动幅度并

14、能针对特定区域进行模拟。4.2.3模型场景中用到的模型通常都是在其他三维软件中制作的。树木可以通过引擎自带的功能制作,只需要提供贴图纹理。4.2.4光照通常场景光照通过设置环境光以及一个平行光来调整。对地形和场景中的物体可以通过Lightmap来加强细节。4.2.5天空和环境雾Unity3D引擎内置有静态天空盒和环境雾效果。动态天空盒需要通过脚本或开发插件的方面实现。4.2.6场景优化Unity3D引擎提供细节贴图和自动生成Minmap。Pro版提供设置自定义的静态和动态批处理,遮挡剔除等方法实现场景渲染的优化。地形上有参数可以调整树木,草和地面细节的优化程度。除此之外还可以通过程序自行实现L

15、OD等其他优化效果。4.3脚本程序的逻辑部分通过写脚本来实现。脚本可以通过调用其他类库和插件等方法缩短开发时间。4.4视觉效果4.4.1渲染器(shader)Unity3D引擎提供几十种内置渲染器,基本可以满足一般项目的开发需求。针对不能满足的效果可以通过自行编写Shader来实现,并可以通过摄像机接口实现个性化的全屏后期处理。4.4.2摄像机和后期处理场景中可以同时有多个摄像机一起工作,可以实现分屏显示和叠加等效果。同时引擎提供接口可以让开发者在摄像机进行视锥剪裁、准备渲染和渲染结束阶段进行自定义操作,实现如动态模糊,景深,颜色修正等后期效果。4.4.3渲染模式支持正向渲染,顶点渲染和灯光延

16、迟三种模式。每个摄像机可以设置不同的渲染模式。4.4.4粒子特效内置粒子发射器和粒子动画组件可以实现常用的粒子特效。针对特殊的粒子行为函数可以用脚本实现,来模拟特殊的群体效果。粒子同时也支持物理碰撞检测和物理运算。4.4.5OpenGL接口允许用户之间向显卡写入渲染信息,包括渲染指定模型、图片和绘制图形。4.4.6投影用于模拟投影仪,复杂的多边形纹理衔接,模拟简单阴影等。4.4.7灯光,镜头光斑和Cookie内置平行光,点光和射灯三种灯光。可以自定义镜头光斑和灯光Cookie4.4.8阴影和LightmapPro版可以使用动态阴影。对于静止的物体可以利用Lightmap可以降低渲染开销。通过脚

17、本可以实现动态的Lightmap阴影。4.4.9批处理渲染在Pro版中可以对静止的物体设置静态状态进行批处理减少渲染开销。4.5音效内置3D和2D音效,并可以通过音频滤波器调整音效和混音。4.6网络和数据库4.6.1通过网页访问服务器利用内置WWW函数可以像网页一样访问服务器进行通信和下载资源,其中图片和声音可以直接获取文件而不用打包。4.6.2本地数据库可以直接通过.Net库实现访问数据库,XML等功能。4.6.3自带网络模块基于RakNet的多平台多人网络模块可以实现建立服务器和支持最多32个客户端之间的同步运行。4.6.4基于.Net库实现网络连接利用Unity3D引擎支持.NetSoc

18、ket的功能可以自行开发网络功能模块。4.6.7利用第三方资源许多服务器开发方直接提供面向Unity3D的解决方案,如SmartFoxServer。4.7物理,碰撞检测和其扩展4.7.1刚体Unity3D引擎内置刚体物理解算组件,自带高效可分层解算的碰撞检测。可以设置刚体的重量,空气阻力等属性并通过添加物理材质模拟不同摩擦力表面的物理解算。4.7.2其他物理和碰撞效果提供射线,区域和体射线碰撞检测。碰撞盒使用复杂的多边形进行检测,并可以返回详细的碰撞信息。4.7.3扩展物理模拟效果针对特殊的需求可以利用脚本实现柔体、流体的物理模拟,并计算物体爆炸、切割、损毁等。4.8三维动画4.8.1动画控制

19、,分割动画和动画编辑器Unity3D可以播放由三维软件制作的骨骼动画,可以在引擎中对制作好的动画数据进行分割,利用动画编辑器制作、修改并设置触发事件。4.8.2融合动画Unity3D引擎可以设置动画之间的融合以达到自然的过度。通过设置动画的融合范围还可以实现动作间的叠加,减少美术工作量。4.8.3动画与物理系统结合可以利用物理系统驱动角色动画,实现模拟真实碰撞效果的动画。4.8.4脚本驱动动画利用脚本对动画进行修正或驱动,可以通过实时计算动画达到预设动画不能实现的个性化体现。比如实现角色行走位置与地面高度贴合。4.9实时生成和修改模型Unity3D引擎允许用户利用代码生成和修改模型,实现实时显

20、示物理损毁运算,根据数据生成模型等功能。4.10制作场景编辑器通过制作场景编辑器,可以让美术和关卡策划人员在已实现程序的基础上组合搭建场景或关卡而不需要了解编程知识。4.11其他功能和应用4.11.1动态加载资源针对Web端和移动平台需要快速下载和读取场景的特性,可以利用动态加载技术节省打开场景时需要调用的资源并在实际使用到的时候进行加载。对大型资源还可以实现异步加载。4.11.2内置GUIUnity内置一套简单易用的GUI,可以加快原型开发进度。默认GUI可以自适应屏幕位置,自动排列GUI兀素。但是由于其CPU开销的性价比偏低,一般在实际项目中都会重新开发一套GUI系统。4.11.3视频可以

21、播放多种常用格式的视频,并可以把视频当做材质贴在模型上,实现动态的模型外观效果。4.11.4材质支持多种图片格式,可以直接将摄像机渲染画面反贴到模型,支持Cubemap实现环境反射效果。可以通过脚本生成贴图,对贴图进行剪裁和合并,直接将生成的贴图编码成PNG格式。4.11.5插件支持利用C+,Java,ObjectC开发的插件。4.11.6资源包可以将当前项目中制作的内容打包成资源移植到其他的项目中使用,也可以用来在多人开发时合并最终的项目。五运行环境5.1Unity开发WindowXPSP2或更高版本MacOSXIntelCPU&“Leopard"10.5或更高版本注:Un

22、ity没有在服务器版本的Windows和OSX环境中测试过64MB显存拥有像素着色器或4个纹理单元在2000年之后生产发售的显卡遮挡剔除需要GPU闭塞查询的支持(某些IntelGPU不支持)其余需求取决于项目的复杂性5.2UnityiOS开发基于Intel的MacMacOSX”SnowLeopard"10.6或更高版本其余需求取决于项目的复杂性5.3UnityAndroid开发同Unity开发的系统要求WindowsXPXP2或更高版本;MacOX10.5.8或更高版本AndroidSDK和Java开发工具包(JDK)5.4Unity产品发布平台Windows2000或更咼版本;Ma

23、cOSX10.4或更咼版本大部分3D显卡,视程序复杂度而定Web端适用于大部分浏览器,包括IE,火狐,Safari和Chrome等Android需要配置的设备:ARMv7体系(Cortex系列)CPU电源建议最好GPU支持OpenGLES2.0六Unity3D引擎授权方式6.1各授权版本支持功能6.1.1基本功能UnityProUnityiOSProiOSAndroidProAndroid物理VVVVVV音频(3D定位和经典立体音)VVVVVV音频滤波器VVV视频播放和流VV1,2V2基于RakNet的多平台多人网络模块VVVVVV资源包完整流化VVV1 iOS设备不支持网络流2 视频播放只能以全屏模式允许在iOS和Android设备上。不支持以纹理方式在模型表面上播放。6.1.2部署UnityProUnityiOSProiOSAndroidPrAndroid一键部署VVVVVVWeb浏览器集成VV自定义屏幕分辨率VVV自动剥离未使用模块VV6.1.3图形UnityProUnity

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论