2015-10-08 11:50:07 Neil3D 阅读数 8542
  • Unity 值得看的500+ 技术内容列表

    Unity3D是由Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。

Unity3D引擎定位在“游戏开发大众化”,在近年的手机游戏开发热潮中着实火了一把,拥有广大的用户基础。EPIC官方还专门写了一篇文档:

                          Unreal Engine 4 For Unity Developers:https://docs.unrealengine.com/latest/INT/GettingStarted/FromUnity/index.html

下面本人就自己个人的一些学习这两款引擎的一些体会,做一些经验总结。


如果你已经熟悉了Unity引擎,现在想要掌握UE4,可以从两个不同的角度来看待你在Unity开发上积累的知识:

  1. 作为两个国际水平的现代3D游戏引擎,他们两个的设计思路有一定的相似之处。这种相似,只是大方向上的,具体的细节,甚至是设计的出发点都有很多差异。
  2. 两套引擎背后的设计哲学是不同的,应用思路其实差别也很大。你可以通过本文描述的两个引擎的相通的地方,对UE4有一个快速的认识。然后,还是需要把瓶子里的水倒空,当作是一个全新的学习历程来看待UE4。


编辑器对照

Unreal Editor和Unity乍看上去区别很大,仔细看一下,发现他们还是有一些相似之处的,从官方文档中的图可以作为一个很好的比照。


  • “Viewport视图”,相当于Unity的Scene视图,显示当前所编辑的关卡的3D渲染场景。在Unreal Editor中没有Game视图,但是它也支持PIE(Play In Editor)。当你点击工具栏中的“►播放”按钮时,Viewport就会显示当前的游戏运行状态了,变成Unity的Game视图了。
  • “内容浏览器”(Content Browser),与Unity的Project视图基本相当,内容浏览器管理你项目中的所有资源(asset)和游戏逻辑代码(包括Blueprint和C++)。
    在Unity的Project视图,你可以选中一个资源,通过Inspector视图来调节其属性,而有些资源可以通过特定的编辑器来编辑,例如Animation。而在UE4,所有的资源都有自己的编辑器,你可以双击任何一个资源,打开特定的独立编辑器,包括静态模型编辑器,Persona骨骼动画编辑器,UMG UI编辑器(Unreal Motion Graphics UI Designer),Cascade粒子编辑器等等。
  • “世界大纲视图”(World Outliner),相当于Unity中的Hierarchy视图。它们都是显示当前关卡中的所有对象,并可以在此列表中选中、编辑;同样支持PIE模式中(即在游戏运行状态下),动态生成的对象也会显示在这里,非常直观。
    就像它的名字一样,Unity的Hierarchy视图,可以呈现、组织GameObject的层次结构;在Unity中我们经常使用空的GameObject来当作文件夹使用,在UE4,你可以通过创建文件夹来组织关卡编辑的层次结构。两个引擎的组件模型、对象组织方式有一些差异,后面还会单独说一下。
  • “细节”视图(Details),它起到一部分Unity的Inspector视图的作用。为什么说是一部分呢?在Unity中,Inspector视图可以显示关卡中的对象(Hierarchy视图中的)的组件及其数据,并能够显示项目资源(Project视图中的)的属性;而Unreal Editor的“细节”视图,只能显示关卡中的对象(世界大纲视图中的)的组件及其数据,而不能显示项目资源(内容浏览器中的)的属性。资源的属性、编辑,通过双击资源文件,在独立的编辑器窗口中进行。

项目与资源管理

UE4的项目(Project)和Unity一样,管理一个项目中所有的资源和代码。UE4中的项目内容通过“内容浏览器”查看,相当于Unity的Project视图。内容浏览器中的目录结构,对应磁盘上的目录结构,这点和Unity一致。
导入UE4项目的所有资源,都会被转换成.uasset格式(本质上是特定类型UObject的序列化),不像是在Unity中会保存文件的原格式(.fbx、.tga、.png等等)。所以在处理UE4资源时,要把原格式的文件保存好,在资源更新时,可以使用“重新导入”的功能来更新。
在项目打包发布时,UE4和Unity一样,都是从关卡列表开始,查找所有资源引用,形成最终的发布版本。在Unity中,通过Build Settings来添加需要发布的关卡;而程序运行时动态调用的,非关卡引用的资源,可以放入固定命名的“Resources”、“StreamingAssets”目录中。在UE4中,你也可以通过“项目”的“打包”设置,来管理发布的关卡列表,以及固定包含的资源目录。点击菜单“编辑”“项目设置”,打开项目设置页面,具体的选项是:
  • 项目->打包:List of maps to include in a package build
  • 项目->打包:Additional Directories to cook
如果你在“项目设置”页面中没有找到这两个选项,请注意,右侧页面中,底部中间位置有一个向下的小三角指示,点它即可打开高级选项列表。


对象组件模型


Unity和UE4都是基于组件结构的引擎,也就是说游戏对象是由一系列可重用的组件搭配组合而成的。两个引擎的这个思路的起点是一致的:在Unity中关卡是GameObject的集合,编辑器保存为Scene文件;在UE4中,关卡是Actor的集合,存盘成Map文件。
接下来,两者的思路却大不相同。在Unity中所有的对象都是GameObject类型,class GameObject没有派生类,你也不能够从它派生,所有游戏对象的功能都必须由Component提供,包括我们的游戏脚本:MonoBehavior派生类,也是Component。而在UE4中,并不禁止你从Actor派生,你也可以使用ActorComponent及其派生类对象来组建Actor,但是引擎允许你扩展Actor来实现对象的特定功能。事实上,在UE4中还提供了一系列Actor的派生类,包括Pawn,Controller等等。你可以使用这些类,而且往往你还需要通过继承他们来实现额外的功能或者对底层行为进行调节。这些继承类组成了UE4的Gameplay Framework。


对象层次结构组织

在Unity中所有的GameObject都必定包含一个Transform组件,而Transform组件可以定义父子关系,也就组成了GameObject的父子关系:子对象的Transform是在父对象的空间中定义的;父对象Destroy时,子对象也会被自动Destroy。
在UE4,Actor是一个空壳,没有什么具体的功能(除了实现网络功能外),它甚至没有Transform。Actor支持父子结构关系,ActorComponent也支持父子对象结构。Actor有一个RootComponent,它可以是SceneComponent及其派生类的实例。SceneComponent包含了Transform(即位置、旋转、缩放);RootComponent的Transform即决定了Actor的Transform。SceneComponent可以有子组件,子组件的Transform是定义在父组件的空间中的。
这么说SceneComponent就相当于Unity的Transform了?如果你这么想,那就错了。Unity的Transform很单纯,它本质上就是一个4x4的矩阵,加上父子关系管理,它没有派生类。而SceneComponent代表着一类组件,它是各种可见的组件的基类(这样说有点不准确,它的子类PrimitiveComponent是这个角色),它有一个很深的类派生体系。

关于Prefab

在Unity的工作流程中,Prefab是一个非常核心的功能,在UE3时代,有一个Archetype,实现类似功能。在UE4中,你可以通过Blueprint来实现类似的功能:你可以编辑好一个Actor,然后把它转换成Blueprint class,就相当于一个Prefab。在后续的关卡编辑中你可以把这个Blueprint class拖放到关卡中,创建新的实例;如果你修改这个Blueprint class,关卡中所有的实例对象都会跟着改变。
再具体点说,上述过程是用到了Blueprint的Construction Script功能。我们在关卡中编辑好一个Actor,然后点击“细节”视图中的“蓝图/添加脚本”按钮,你将创建一个新的Blueprint class。在“世界大纲视图”中,这个对象的类型显示变成了“编辑XX Blueprint”。然而Blueprint并不是Prefab,它功能远比Prefab强大,它的目标是使非编程人员可以在内容制作上进行更大力度的把控,几乎可以达到程序员的力度。


这次就先总结到这里,后续还会根据进展陆续分享一些UE4的经验。

2017-03-13 19:23:31 Tonyyan19781 阅读数 2349
  • Unity 值得看的500+ 技术内容列表

    Unity3D是由Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。

最近在做增强现实的项目,在识别出物体特征点后,叠加三维指示图形,需要用到后期渲染。

经过初步筛选,待选的方案有四种,

1,直接使用GDI+ 的方法,利用矩阵运算,透视投影,再做Rasterization,利用GDI的方法绘制到窗口上,所有的东西都要自己来实现。

2,采用OpenGL, 利用跨平台的opengl api绘制三维图形。

3,采用Unity3d或unreal引擎。

4、其他引擎。


      从开发的难易程度上看,直接采用Unit3d或unreal等这些引擎会更方便一些,操作容易上手,资源也很多, 但要学精用透,还是需要跨过很多坑。在扩展开发的角度上看,

其中unity3d需要采用c# 开发,并只能支持到NET2.0,这样限制了很多C#扩展功能的实现;unreal虽然能用C /C++开发,而且也能看到源码,但要弄透彻难度非常大,并且开发特

性也要照通常的C/C++开发差很多。

      其他大部分开源的第三方引擎,要不就是开源的不彻底,要就是封装结构太复杂很难使用;

      直接采用GDI的方式,要做矩阵投影计算、光栅化等,效率很低。

      最后决定采用OpenGL+c/c++的开发方式来实现三维图形的叠加渲染。

      通过一系列的评估,最后采用opengles的API集, 采用OpenGL ES 2.0 Emulator v1.4模拟器在windows7上进行模拟开发,同步在ANDROID的上实现程序。



2016-07-07 18:54:34 huiyuanliyan 阅读数 2322
  • Unity 值得看的500+ 技术内容列表

    Unity3D是由Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。

VR虚拟现实&AR增强现实编程(2):Unity3D开发环境简介

一 . 简介

VR和AR的开发平台有Unity3D和UNREAL ENGINE。

本系列主要使用Unity3D,因此本篇博文主要对Unity3D进行介绍。先上一张Unity3D的图

这里写图片描述

官方下载地址http://unity3d.com/cn/ 一般用免费的版本就行了

以下是百度百科对Unity3D的介绍

Unity3D是由Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。Unity类似于Director,Blender game engine, Virtools 或 Torque Game Builder等利用交互的图型化开发环境为首要方式的软件。其编辑器运行在Windows 和Mac OS X下,可发布游戏至Windows、Mac、Wii、iPhone、WebGL(需要HTML5)、Windows phone 8和Android平台。也可以利用Unity web player插件发布网页游戏,支持Mac和Windows的网页浏览。它的网页播放器也被Mac widgets所支持。

Unity3D可以做这么多事情:

Unity3D继承的功能

其实一句话解释起来可以这么说,Unity3D是一个游戏引擎,引擎做的事情就是帮你处理好了那些最基础的算法和代码,比如直接为你创建一个二维或三维的空间,直接帮你设计一切物体的基本物理属性,包括跟windows底层的交互,通过引擎,你设计的东西可以在平台(windows 、安卓、IOS)上运行起来。这里值得一提的是,Unity3D使用的物理引擎不是它自己的,是NVIDIA的Physx物理引擎。

二. 游戏对象

要进行Unity3D开发,必须要了解“游戏对象”这个概念,因为在Unity3D就是对象的世界。Unity3D中具体的架构是这样的:

这里写图片描述

Unity3D的基础教程网上有很多,后续我也会更新,但本系列会着重讲VR和AR是怎么在Unity3D中运行的。

更多问题请留言或发送邮件到:lifeliyan@163.com

2019-10-29 17:40:26 qq_43308842 阅读数 336
  • Unity 值得看的500+ 技术内容列表

    Unity3D是由Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。

学习两大商业游戏引擎(Unity 3D,Unreal4)的成神之路

代码初体验

你好! 这是我的第一篇博文我相信这是一个好的开端,每天进步一点这就是很美好的事物,切记勿骄勿躁,踏踏实实。这是我学习c#的一个,我深刻体验到代码是具有灵活性发散性的,很多同学初期学习代码编程完全可以说都是靠copy,将一些模板记住然后改改参数之类的,这无可厚非大家都是这样一步步过来的,但一定要有自己的思想,犯错不可怕,可怕的是你自己故步不前,井底之蛙。这一个月的加强学习让我深刻的明白代码的发散性,代码可能对于计算机来说具有唯一性,但对于人来说它可以是无穷无尽的。很庆幸自己能一步一步的慢慢去学这个有趣的事物。
那么既然想成为一名游戏开发者,你得弄明白两件事。第一:用什么去开发游戏。第二:如何去开发一款游戏。这里我们先来了解你做游戏是用什么去做这可以说是至关重要的一步,你连你做游戏的东西都不知道是个什么,那我相信后面也无从谈起。
我们做游戏所用到的工具——游戏引擎(市面上现在又两大商业引擎Unity3D,Unreal4)。
图片:
在这里插入图片描述

游戏引擎是指一些已编写好的可编辑电脑游戏系统或者一些交互式实时图像应用程序的核心组件。这些系统为游戏设计者提供各种编写游戏所需的各种工具,其目的在于让游戏设计者能容易和快速地做出游戏程式而不用由零开始。
引擎的构成:
游戏引擎包含以下系统:渲染引擎(即“渲染器”,含二维图像引擎和三维图像引擎)、物理引擎、碰撞检测系统、音效、脚本引擎、电脑动画、人工智能、网络引擎以及场景管理。
引擎的功能:
经过不断的进化,如今的游戏引擎已经发展为一套由多个子系统共同构成的复杂系统,从建模、动画到光影、粒子特效,从物理系统、碰撞检测到文件管理、网络特性,还有专业的编辑工具和插件,几乎涵盖了开发过程中的所有重要环节,以下就对引擎的一些关键部件作一个简单的介绍。
渲染是引擎最重要的功能之一,当3D模型制作完毕之后,美工会按照不同的面把材质贴图赋予模型,这相当于为骨骼蒙上皮肤,最后再通过渲染引擎把模型、动画、光影、特效等所有效果实时计算出来并展示在屏幕上。渲染引擎在引擎的所有部件当中是最复杂的,它的强大与否直接决定着最终的输出质量。
光影效果,即场景中的光源对处于其中的人和物的影响方式。游戏的光影效果完全是由引擎控制的,折射、反射等基本的光学原理以及动态光源、彩色光源等高级效果都是通过引擎的不同编程技术实现的。
动画,游戏所采用的动画系统可以分为两种:一是骨骼动画系统,一是模型动画系统,前者用内置的骨骼带动物体产生运动,比较常见,后者则是在模型的基础上直接进行变形。引擎把这两种动画系统预先植入游戏,方便动画师为角色设计丰富的动作造型。
引擎的另一重要功能是提供物理系统,这可以使物体的运动遵循固定的规律。
引擎还有一个重要的职责就是负责玩家与电脑之间的沟通,处理来自键盘、鼠标、摇杆和其它外设的信号。
上面就是对我们手上用来做游戏的引擎很初略的了解。
那么这些游戏引擎又是如何开发,而开发又需要那些技术和知识的支持呢?下面让我来慢慢和大家分享我的一些观点。
首先在这给大家看一幅图
在这里插入图片描述
这张图片可以说攘括了一款游戏引擎所有的技术以及知识
大家如果要自学游戏引擎的制作
最基础要了解:引擎构架,图形引擎,图形基础算法,高级图形技术。
最重要的还是要熟悉c++,c#等基础的编程语言。
大家可以看看这篇如何去开发一个3D引擎。但一定要带有自己的思考,其他行业我不知道,但在程序员这个行业我坚信没有什么所谓的权威,大家都是自己慢慢摸索,不断前进。

2019-10-29 15:34:26 m0_37251750 阅读数 961
  • Unity 值得看的500+ 技术内容列表

    Unity3D是由Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。

参考简书链接和百度百科:<ahref=‘https://www.jianshu.com/p/3868a1896b42’>https://www.jianshu.com/p/3868a1896b42

1、什么是游戏引擎

       游戏引擎是指一些已编写好的可编辑电脑游戏系统或者一些交互式实时图像应用程序的核心组件。这些系统为游戏设计者提供各种编写游戏所需的各种工具,其目的在于让游戏设计者能容易和快速地做出游戏程式而不用由零开始。大部分都支持多种操作平台,如Linux、Mac OS X、微软Windows。游戏引擎包含以下系统:渲染引擎(即“渲染器”,含二维图像引擎和三维图像引擎)、物理引擎、碰撞检测系统、音效、脚本引擎、电脑动画、人工智能、网络引擎以及场景管理。

2、什么是虚幻Unreal引擎

       UE(Unreal Engine)是目前世界最知名授权最广的顶尖游戏引擎,占有全球商用游戏引擎80%的市场份额。自1998年正式诞生至今,经过不断的发展,虚幻引擎已经成为整个游戏界–运用范围最广,整体运用程度最高,次世代画面标准最高的一款游戏引擎。 UE4是美国Epic游戏公司研发的一款3A级次时代游戏引擎。它的前身就是大名鼎鼎的虚幻3(免费版称为UDK),许多我们耳熟能详的游戏大作,都是基于这款虚幻3引擎诞生的,例如:剑灵、鬼泣5、质量效应、战争机器、爱丽丝疯狂回归等等。其渲染效果强大以及采用pbr物理材质系统,所以它的实时渲染的效果做好了,可以达到类似[Vray]静帧的效果,成为开发者最喜爱的引擎之一。

3、什么是Unity引擎

       Unity3D是由Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。Unity类似于Director,Blender game engine, Virtools 或 Torque Game Builder等利用交互的图型化开发环境为首要方式的软件。其编辑器可运行在Windows、Linux(目前仅支持Ubuntu和Centos发行版)、Mac OS X下,可发布游戏至Windows、Mac、Wii、iPhone、WebGL(需要HTML5)、Windows phone 8和Android平台。也可以利用Unity web player插件发布网页游戏,支持Mac和Windows的网页浏览。它的网页播放器也被Mac 所支持。
       2012年11月15日,Unity Technologies公司正式推出Unity 4.0版本,新加入对于DriectX 11的支持和Mecanim动画工具,以及为用户提供Linux及Adobe Flash Player的部署预览功能。目前最新版本为Unity2018.3。Unity是免费的,官方为Unity Pro和Unity iOS Pro提供30天全功能试用期。可以使用C#快速开发。

4、UE4优势

UE4不仅涉及主机游戏、PC游戏、手游等游戏方面,还涉及高精度模拟,战略演练,工况模拟,可视化与设计表现,无人机巡航等诸多领域。
虽然游戏的IP不是一款引擎能够左右的,但一个决定性要素:画面,却必须依靠虚幻4这样过硬的引擎作为支持,这也必定是未来的发展趋势,也是如今人才缺口大的重要原因之一。
UE4的优势
作为后起之秀,UE4在虚拟现实游戏开发者界大出风头,其强大的开发能力和开源策略,瞬间吸引了大量VR游戏开发者的目光。目前,大量以UE4开发的VR游戏已经登陆各大平台,而VR爱好者的普遍评价都是虚幻4引擎游戏在游戏画面和沉浸体验方面要明显优于Unity3D 游戏。
UE4画面效果完全达到3A游戏水准,光照和物理渲染即便在缩水的状况下也足以秒杀Unity。UE4蓝图系统让游戏策划不用再写劳神费力编辑代码,其强大的材质编辑器实在让开发者们大呼德玛西亚,各种官方插件齐全也让开发者不用在自编第三方插件并担心兼容接口问题。更重要的是针对虚拟现实游戏,UE4为手柄、VR控制器提供了良好支持。而UE4提供的各种游戏模版,让其与Blueprint配合做原型甚至比Unity更快。

5、UE4的就业前景如何

去年9月份, VRSTAR发布的数据显示,全球VR从业者分布来看,美国的人才最多,占比40%,需求占全球48%;相较之下,中国的VR人才仅有2%,但是需求却占全球18%。
需求量大,但人才短缺严重。首先熟悉UE4(虚幻引擎4)的技术很是紧缺。我们知道,VR游戏如果要很好的效果的话,基本上都会选择用UE4开发,而国内跳过了主机游戏时代,能够使用UE4的人很少,U3D的反而多些。接下来是美术,一定需要有技术美术,因为虚幻引擎是一个集成化的开发环境,内部有各种各样的编辑器,材质、粒子、关卡、动画,编译器非常多,所以需要有技术美术来做这个事情,还要关卡美术,最好具有一些技术背景,才能做起来更快更方便。最后,策划也需要完全变换思维,不能用传统的游戏设计思维来设计游戏。

6、对比分析

UE4和Unity3D应该可以算的上是目前市场上最为热门的游戏引擎,也各自拥有为数众多的开发者。虽然一些大型的游戏公司仍然运用自家开发的引擎来制作游戏,但是在巨大的市场需求下,独立开发者与游戏工作室依然需要一款优秀的引擎来支持项目的开发。那么Unity3D和UE4究竟哪个才是游戏开发者的最爱呢?

个人认为还是要具体问题具体分析,像独立游戏、手游之类,小团队更倾向用Unity。如果做一些比较大型的游戏,对画质要求比较高的话,UE4显然更具优势。这两者不存在哪个更有前景的对比性,这个问题就好比问你独立游戏与3A哪个更好一样,各有千秋,因人而已。

从国内的情况来看,PC与主机游戏貌似远不如手游这么火爆,国内的游戏产业与设计也都远不如日本欧美,可能Unity更好一些。不过随着国内玩家的审美的普遍提升,对高质量的游戏呼声越来越高涨,UE4很有可能在未来成为主流。

如何选择一款适合自己的引擎进行游戏开发,下面小编就从几个维度帮大家分析一下:

编程语言:

UE4采用C++的开发语言,而Unity使用C#与JavaScript,我们可以依照个人的能力与喜好来决定采用UE4或是Unity,虽然说有的人觉得C++已经过时了,但还是有不少的开发者偏好使用此编程技术,如果我们擅长的语言是C#,那么投入Unity的怀抱是毋庸置疑的选择。

图形能力:

在图像的表现上面,UE4的确已经建立一个超高的标准,也符合大家对3A级游戏的定义,从复杂的粒子模拟效果与先进的动态照明技术,UE4带给开发者一个全新的开发平台。图像的能力虽然不能代表一切,毕竟以现在的游戏市场来说,有创意性的游戏往往更能吸引用户的关注,尤其是以手游市场的整体效益来看,小而精致的游戏确实比起一些游戏大作更受到玩家的喜爱。

哪一个更容易上手?

在一些论坛里面多数人讨论的一个话题是,到底是UE4好上手还是Unity更利于开发? 其实讨论这个主题的意义不大,Unity在国内的使用人口与学习资源皆高于虚幻引擎,市场上招聘的开发人员也多以Unity为主,所以我们认为讨论这个主题必须根据区域的情况来做为前提,例如有人学了UE4后,发现市场的需求与机会不是很多,那是不是意味着必须放弃UE4来学习Unity?最简单的方法就是直接拿一个项目来做练习,分别将项目导入UE4与Unity,在实施过程中就会发现到许多的问题,这时就能根据自己的解决能力与手上的资源来判断哪一个引擎更适合自己。

如果有意向入坑游戏开发的话,个人建议如果没有基础的话,先学习Unity3d累计游戏开发经验,有基础有工作经验之后可以进阶学习UE4。要说前景的话,两个来说都是比较相近没有谁比谁更有前景,但是学习到高级进阶的话,又有长期从事游戏开发的经验,就业机会和待遇都要好很多。

7、Unity&Unreal引擎对比

对于目前市场,3D手游的引擎选择主要分四部分:

Unity:在移动端更有优势占据手游市场70%的占有率,各种品类游戏都有;
Unreal:两款正版吃鸡手游都是使用Unreal引擎,但手游MMO目前国内还没有上线产品,国内端游MMO成功的也很少;
自研引擎:例如楚留香的Messiah,太极熊猫的Flexi等,优点在于非常熟悉可以提供深度定制和优化;
其他引擎:应用较少不进行考虑。
这里其实选择的余地比较小,对于大部分没有自研引擎的公司来说,还是选择Unity居多,但是随着硬件的不断发展以及Epic公司自己的不断优化和持续更新,Unreal在手机上也有越来越多的公司和项目选择使用了。

部分已知手游项目:
在这里插入图片描述
选择引擎的基本原则
按照软件工程的开发流程,我们首先应该明确需求。以下是一些常见的需求点:
游戏类型?目标用户,目标平台,目标机型是什么?项目周期,成本和团队实力?更倾向画质品质还是适配性?是否有特殊的技术需求?是否大世界?是否支持物理?是否写实风格
何种同步技术?等等

引擎的功能划分和对比
有一句话说的好:
美术资源决定了游戏世界的外观,脚本资源决定了游戏世界的内容,而引擎部分决定了游戏世界的规则。
一款引擎往往包含,图形模块,AI模块,物理模块,寻路模块,输入模块,网络模块,UI模块,渲染模块,声音模块,编辑器模块等等,如果要全面评估我们应该针对各个模块进行详细的评估和对比。
但说道引擎,往往大家的第一印象都是引擎的图形渲染能力,可见图形对于引擎来说是至关重要的,因此我们会分为两部分,图形模块和其他模块,然后进行详细的比较。
图形模块
图形是游戏引擎的重中之中,主要功能就是提供封装底层的渲染接口(D3D,OpenGL,Metal,Vulkan等),渲染管线的定制(前向渲染,延迟渲染,多线程等),适配(PC,IOS,Android),以及一些基本渲染功能的提供例如后处理(抗锯齿,景深,屏幕矫色,扭曲,描边,SSAO等等),阴影,地形,捏脸,动画,天气等等。
在这里插入图片描述
由此可见在高端渲染技术上Unreal更有优势有强大的官方支持,性能也极佳,但是相对的低端设备的兼容性会略差特别是Android版本。Unity也可以实现相同的效果但是很多工作都需要自己开发。
在这里插入图片描述
经过对比可知Unity更容易上手前期开发更快速,更容易做出适配更广(内存和稳定性)的游戏,但一些次时代技术需要自己实现。而Unreal学习成本较高开发效率较低,但是更容易做出顶尖效果的游戏,更适合开放世界,大型项目。
总结
如果是项目周期和成本比较宽裕,希望开发超高画质超高品质,开放世界的游戏,同时图形向技术积累较弱推荐使用Unreal,特别是FPS射击类游戏;如果希望开发周期更短,或者有着深厚技术积累和技术支持推荐使用Unity。此外引擎的选择也受美术和策划的影响,特别是美术同学,对编辑器和引擎的熟悉成度对进度,效果和性能也有着非常大的影响。

其实对于大部分的游戏,两款引擎都可以满足需求,主要的差异还是在品质,时间,成本的项目管理三角形的取舍上。适合自己的才是最好的。

Ogre Unreal Unity Gamebryo Bigworld

博文 来自: QQ18334373taikongyi

游戏客户端引擎

阅读数 28

没有更多推荐了,返回首页