zoukankan      html  css  js  c++  java
  • 【游戏周边】Unity,UDK,Unreal Engine4或者CryENGINE——我应该选择哪一个游戏引擎

    在digital-tutors看到的一篇文章,很多初学者都有这样的疑问,因此翻译到这里。


    原文:http://blog.digitaltutors.com/unity-udk-cryengine-game-engine-choose/




    如果你想要开发并向全世界发布你自己的游戏,那么在开始之前有一些很重要的问题你需要考虑。当下有一些免费的游戏引擎,它们为你的游戏开发提供了很多遍历,但问题是,你应该选择哪一个?为了帮助你进行选择,我们将给出最牛X的游戏引擎中的3个,来让你进行比较,然后决定哪一个最适合你。


    在过去的几年里,涌现出很多非常厉害的游戏引擎,这些引擎让那些独立游戏开发者得以将他们脑中的想法付诸实践。其中最有名的游戏引擎有UnityUDKUnreal Engine4,以及CryENGINE。它们每一个都非常棒而且都有它们擅长的领域。为了帮助你决定哪一个最适合你的项目,你需要首先问下自己:你需要开发什么类型的游戏?是第一人称视角的射击游戏(FPS)?还是一个移动游戏?它是2D还是3D的?


    如果你正在计划发布这个游戏并以此赚点钱,那么你还需要比较每个引擎的许可费用哪个更适合你的预算。虽然这些引擎相对来说都比较便宜,但是一旦你需要贩卖你的游戏,你就需要支付许可费,版税等等。



    Unity




    Unity引擎提供了非常庞大的游戏特性,而且它的界面很容易使用。它最出色的地方就是它的跨平台特性,这意味着你的游戏可以迅速而且方便地被发布到Android,iOS,Windows Phone8,BlackBerry等等,这使得它是一个非常棒的移动游戏开发引擎。除此之外它支持的平台还有Playstation 3,Xbox360,Wii U,Web浏览器等。




    Unity支持很多3D建模软件的资源格式,例如3ds Max,Maya,Softimage,CINEMA 4D,Blender等等,这使得它基本没有模型格式的限制。随着Unity4.3的发布(Unity 5马上也发布了),Unity还有2D图集和物理检测等原生2D支持,使得它也是一个很好的2D游戏开发引擎。


    虽然它对很多3D建模软件具有很好的支持,但是它自己在模型编辑上有很大的限制。除了一些基本的图元形状,Unity没有真正的建模功能,因此基本所有的模型你都需要从第三方3D软件里创建。但是,它有一个资源库,里面包含了很多可以下载或支付购买的资源(资源的价钱由资源开发者决定,你也可以自己上传自己的资源)。


    PS:根据原文读者留言,Unity插件,例如ProBuilder和MXD,也已经可以支持在Unity里编辑图形了。


    Unity有几个不同的许可费用,它的Pro版本在本文发布时是$1,500或者$75/每月。pro版本提供了很多免费版不包含的功能,包括全局光照,渲染到纹理,Mecanim IK Rigs ,自定义的splash界面等等。免费版则有一个无法消除的水印。更多细节可以访问Unity价格页面。


    Unity的开发人员正在紧张地准备发布Unity 5。这表明Unity正在加入下一代游戏引擎的大战中,和UE4和CryENGINE一绝高下。如果你购买了Unity 4,那么在Unity 5发布的时候你会自动升级到5。



    Unreal Engine 4




    Unreal Engine 4(UE4)是一个Epic Games公司在几个月前刚刚发布的新游戏引擎,它是UDK的后续版本。UE4具有一些非常棒的图形处理能力,包括高级动态光照,新的粒子系统(可以同时处理数以百万的粒子)等。如果你是一个3D或者游戏美术人员,那么这一点一定非常吸引你。


    尽管UE4是UDk的后续版本,但你要知道这两个引擎之间还是有一些非常大的变化。如果你有过任何UDK的使用经验,在使用UE4时你还是需要一定的适应时间。但是这些变化并不是坏的,UE4灵活的使用方法使得它越来越对新的游戏开发者有吸引力。




    UE4的一个非常重要的变化就是它的编程语言。你可能之前已经知道,Unreal Engine一直以来都是使用UnrealScript。而在UE4中,UnrealScript完全被C++代替了,而Kismet被更直观的Blueprint系统所代替。


    有一点你需要记住,如果你想要开发一个适合于上一地啊游戏平台的游戏,那么你不会在UE4找到相应的功能。到现在为止,UE4支持的平台有PC,Mac,iOS,Android,Xbox One以及PlayStation 4。你可以制作出令人激动的游戏画面或者简单的横版游戏,并把它发布到移动平台或者下一代的平台上。


    你可能在疑问,既然Unreal Engine 4已经发布了,那UDK和Unreal Engine 3不就完全没用了吗?事实上,这并不准确。开发者们仍旧使用Unreal Engine 3来制作在上一代游戏平台上运行的游戏,例如PlayStation 3和Xbox 360仍然具有一定比例的市场份额。


    Unreal Engine 4的价格结构是$19/每月,以及一个5%的版税,如果你的游戏开始赚钱了。这样的价格结构是那些有抱负有追求的游戏开发者的福音!更多信息请访问他们的价格页面


    想要了解更多关于Unreal Engine 4的信息,可以参见这篇更深入的博文。或者开始学习我们的Unreal Engine4介绍教程



    UDK




    Unreal Development Kit(简称UDK)是Unreal Engine 3的一个免费版本,它由Epic Games公司开发,他们使用UDK开发了许多3A级游戏,例如Gears of War等。它具有强大的图像处理能力,并且还可以用于移动游戏中。和Unity不同,在它的游戏引擎中就有强大的关卡设计工具。


    Unreal Engine一开始是针对FPS开发的,Epic公司开发它是为了第一部的Unreal(一个游戏),而在这之后,它也被用于其他许多类型的游戏如RPGs。Unreal Engine使用一个名为UnrealScript的脚本语言(一种和Java以及C++类似的面向对象编程的语言)。




    和Unity类型,UDK可以被发布在许多不同的平台上,包括iOS,Android,Windows Phone8,Xbox360,Playstation 3,Playstation Vita和Wii U。但是,你需要记住UDK,即Unreal Engine 3的“免费版本”仅可以发布在PC和Mac上。否则,你需要一个UDK的完全许可,也就是Unreal Engine 3。


    UDK完全是免费的,除非你想要发布你的游戏。当你准备好发布你的游戏时,你必须支付一个$99的许可费用,以及在你的游戏盈利超过$50,000后一个25%的版权费。你可以访问UDK的许可页面得到更多信息。



    CryENGINE




    CryENGINE是一个非常强大的引擎,由开发公司Crytek设计实现,在第一代Far Cry游戏中首次出现。它被设计用于PC平台和游戏机,包括Playstation 4以及Xbox One。CryENGINE的图像处理能力优于Unity和UDK,但是Unreal Engine 4基本持平,拥有极度先进的光照,逼真的物理模拟,先进的动画系统等等。最近利用CryENGINE开发的游戏是Ryse: Son of Rome。和UDK以及UE4类似,CryENGINE拥有直观而且强大的关卡设计功能。




    尽管CryENGINE是一个非常强大的游戏引擎,想要学号是有一点难度的,特别是如果你没有任何游戏引擎使用经验会觉得更难。如果你不需要你的游戏具有像这些游戏那样牛X的图像,那么你最好不要选它,而选择一个更容易的哦。


    随着UE4的发布以及它非常吸引人的价格模式,CryENGINE也不甘示弱地发布了更便宜的价格模型,即$10/每月,并且没有版权税哦。你可以访问他们的文章来了解更多关于CryENGINE的As-A-Service编程。



    那么,哪个最适合我?


    所以这些游戏引擎都是一个不错的选择。但是相对而言,Unity更适合移动,2D和3D游戏,UDK具有强大的FPS特性并且直到你发布游戏之前都是免费的。Unreal Engine 4具有逼真的图像处理能力以及适合制作简单的横版游戏,而且它的价格模式很合理。CryENGINE同样具有引人入胜的图像能力,它还具有下一代平台特性以及比UE4更吸引人的价格模式。


    最后,还是由你来决定哪个最适合你的项目。但有一点是肯定的:对于你的游戏,这些引擎都是足够应付的。如果你还是不确定(选择恐惧症。。。),那,那我也只能帮你到这里了,自己再看看吧。下面的课程可以帮你学习这些引擎。


    Unity tutorialsUDK tutorialsUnreal Engine 4 tutorials以及CryENGINE tutorials



  • 相关阅读:
    【spring源码分析】IOC容器初始化(五)
    【spring源码分析】IOC容器初始化(四)
    【spring源码分析】IOC容器初始化(三)
    【spring源码分析】IOC容器初始化(二)
    Thread.currentThread()和this的区别——《Java多线程编程核心技术》
    【spring源码分析】IOC容器初始化(一)
    【spring源码分析】准备工作
    DefaultNamespaceHandlerResolver中handlerMappings如何初始化
    SimpleDateFormat非线程安全
    MyBatis批量操作
  • 原文地址:https://www.cnblogs.com/xiaowangba/p/6314688.html
Copyright © 2011-2022 走看看