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引擎提供了非常庞大的游戏特性。并且它的界面非常easy使用。它最出色的地方就是它的跨平台特性,这意味着你的游戏能够迅速并且方便地被公布到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的图像。那么你最好不要选它,而选择一个更easy的哦。


    随着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



  • 相关阅读:
    是否可以从一个静态(static)方法内部发出对非静态 (non-static)方法的调用?
    是否可以继承 String 类?
    如何实现字符串的反转及替换?
    String s = new String(“xyz”);创建了几个字符串对象?
    Serial 与 Parallel GC 之间的不同之处?
    SVG是什么?
    阐述静态变量和实例变量的区别?
    Java 中 ++ 操作符是线程安全的吗?
    什么是 REST / RESTful 以及它的用途是什么?
    WebSQL是HTML 5规范的一部分吗?
  • 原文地址:https://www.cnblogs.com/zhchoutai/p/8708056.html
Copyright © 2011-2022 走看看