赞
踩
Selecting the right game engine is a key business decision that must not be glossed over. You need to research the game engine and why it fits your project better, and not blindly select it.
选择正确的游戏引擎是一项不容忽视的关键业务决策。您需要研究游戏引擎以及为什么它更适合您的项目,而不是盲目选择它。
Although a game engine is a tool and the outcome depends on the developer, the right choice will significantly affect the outcome of your project and the time you (and your team) spend working on it.
尽管游戏引擎是一种工具并且结果取决于开发人员,但正确的选择将显着影响您的项目结果以及您(和您的团队)花在项目上的时间。
In this article, we will explore in-depth key information you need to know about two of the top game engines out there: Unity, and Unreal Engine. Many questions, is Unity easier than Unreal? Is Unity or Unreal better for Beginners? will be answered.
在本文中,我们将深入探讨您需要了解的关于两个顶级游戏引擎的关键信息:Unity 和 Unreal Engine。很多问题,Unity比Unreal简单吗? Unity 还是 Unreal 更适合初学者?将得到答复。
Let the battle begin! 让战斗开始吧!
Unity and Unreal are currently the leading RT3D (Real-Time 3D) engines for games, cinematography, industrial simulation, XR, and other app development.
Unity 和 Unreal 是目前领先的 RT3D(实时 3D)引擎,用于游戏、电影摄影、工业模拟、XR 和其他应用程序开发。
We will provide a comparison between both engines to help you choose between one or the other. First, let’s check some of the most popular games made with each!
我们将提供两种引擎之间的比较,以帮助您在两者之间做出选择。首先,让我们来看看用它们制作的一些最受欢迎的游戏!
Popular non XR Games made with Unity
使用 Unity 制作的热门非 XR 游戏
Other popular games made with Unity:
使用 Unity 制作的其他热门游戏:
Popular non XR Games made with Unreal
使用虚幻引擎制作的热门非 XR 游戏
Other popular games made with Unreal:
其他使用虚幻引擎制作的热门游戏:
Popular VR Games and Social Platforms made with Unity
使用 Unity 制作的热门 VR 游戏和社交平台
Oculus is the current leading platform for VR gaming, which generated 2.2 billion in revenue in 2021, compared to $1.1 billion in 2020.
Oculus 是目前领先的 VR 游戏平台,2021 年的收入为 22 亿美元,而 2020 年为 11 亿美元。
This is driven by the most popular headset for VR gaming, the Meta Quest 2, which is a standalone headset (untethered from a gaming PC), running in android, with limited rendering capabilities which are similar to mobile. This is one of the reasons why we see that around 70% of the games on this platform are made by Unity.
这是由最流行的 VR 游戏耳机 Meta Quest 2 驱动的,它是一款独立的耳机(不受游戏 PC 的束缚),在安卓系统中运行,具有与移动设备类似的有限渲染功能。这就是为什么我们看到这个平台上大约 70% 的游戏都是由 Unity 制作的原因之一。
Other popular VR games made with Unity:
其他使用 Unity 制作的热门 VR 游戏:
Popular VR Games and Social Platforms made with Unreal
使用虚幻引擎制作的热门 VR 游戏和社交平台
Other popular VR games made with Unreal:
其他使用虚幻引擎制作的热门 VR 游戏:
Now, let's dig into the technical characteristics of each engine.
现在,让我们深入了解每个引擎的技术特性。
These Real-Time 3D engines include built-in and external packages for scripting (code and no-code), rendering (2D, 3D, XR), physics, sound, networking, animation, multiplayer, etc. However, just because they provide a solution for each category, does not mean these solutions are equal. Let’s look more closely.
这些实时 3D 引擎包括用于脚本(代码和非代码)、渲染(2D、3D、XR)、物理、声音、网络、动画、多人游戏等的内置和外部包。然而,仅仅因为它们提供每个类别的一个解决方案,并不意味着这些解决方案是平等的。让我们仔细看看。
Both engines are to be programmed with specific scripting languages:
两个引擎都将使用特定的脚本语言进行编程:
Unity:
C# is used inside the editor and with external applications. C# is friendlier with a faster learning process than C++. Also, C# is well suited for common use and software architecture implementation at scale which requires maintenance when the app grows.
C# 在编辑器内部和外部应用程序中使用。 C# 比 C++ 更友好,学习过程更快。此外,C# 非常适合大规模的通用使用和软件架构实施,这需要在应用程序增长时进行维护。
Unreal:
C++ in Unreal complements the Blueprint tool, but does not replace it. While you can produce an entire project in Unity with C#, the same is impractical to achieve in Unreal with C++. C++ also allows you to implement software architecture, but it’s harder to learn and use than C#, and the implementation of C++ in Unreal relies heavily on Unreal-specific code that does not translate to general C++ usage.
Unreal 中的 C++ 补充了蓝图工具,但并未取代它。虽然您可以使用 C# 在 Unity 中生成整个项目,但在使用 C++ 的 Unreal 中实现这一点是不切实际的。 C++ 还允许您实现软件架构,但它比 C# 更难学习和使用,而且 C++ 在 Unreal 中的实现在很大程度上依赖于 Unreal 特定的代码,这些代码不会转换为通用的 C++ 用法。
This is ideal for designers or developers who don’t want to dig into a programming language. Instead, they prefer to use a visual mode to program the objects in the editor.
这非常适合不想深入研究编程语言的设计师或开发人员。相反,他们更喜欢使用可视化模式在编辑器中对对象进行编程。
Unity: Visual scripting package (previously known as Bolt)
Unity:可视化脚本包(以前称为 Bolt)
It is a node based logic-engine, you can implement behaviors for game objects in the editor, and it’s almost fully compatible with C#. Unity’s scripting documentation is C# centric, making Unity visual scripting slower to learn than C# for individuals with no scripting experience. If you learn C# scripting, visual scripting will come easily. Extending the available visual scripting nodes requires no special skills.
它是一个基于节点的逻辑引擎,你可以在编辑器中实现游戏对象的行为,并且它几乎完全兼容 C#。 Unity 的脚本文档以 C# 为中心,对于没有脚本编写经验的人来说,Unity 可视化脚本的学习速度比 C# 慢。如果您学习 C# 脚本,可视化脚本将变得很容易。扩展可用的可视化脚本节点不需要特殊技能。
Unity visual scripting. Source: Unity
统一可视化脚本。资料来源:团结
Unreal: Blueprint
It’s the primary way to assemble game logic in Unreal, especially for beginners. With C++ providing anything that cannot be accomplished by Blueprint. Unreal’s scripting documentation is Blueprint-centric, making it faster to learn for individuals with no scripting experience. Learning how to use Blueprint does not translate directly to C++ scripting, which requires additional training and education. Extending the blueprint nodes requires key C++ library knowledge built upon a series of engine-specific macros that extend blueprints through plugins or editor-module compilation.
这是在 Unreal 中组装游戏逻辑的主要方式,特别是对于初学者。 C++ 提供了 Blueprint 无法实现的任何功能。 Unreal 的脚本文档以蓝图为中心,使没有脚本经验的人可以更快地学习。学习如何使用蓝图并不能直接转化为 C++ 脚本,这需要额外的培训和教育。扩展蓝图节点需要关键的 C++ 库知识,这些知识建立在一系列特定于引擎的宏之上,这些宏通过插件或编辑器模块编译来扩展蓝图。
As the leaders they are, both engines provide excellent quality and speed for real-time rendering. Unreal gives you high fidelity graphics out of the box, whilst in Unity you need to configure the render pipeline to match such graphics.
作为领导者,这两款引擎都为实时渲染提供了卓越的质量和速度。 Unreal 为您提供开箱即用的高保真图形,而在 Unity 中,您需要配置渲染管道以匹配此类图形。
This has a two-way effect, if you are building for mobile with Unreal you would need to strip down the graphics for mobile optimisation, and the opposite in Unity.
这有两个方面的影响,如果您使用 Unreal 构建移动设备,则需要剥离图形以进行移动优化,而在 Unity 中则相反。
In XR development, the need for optimization often outweighs the possibility to include higher fidelity graphics, so the Unity default setup is often more suited.
在 XR 开发中,优化的需求往往超过包含更高保真度图形的可能性,因此 Unity 默认设置通常更适合。
Unity:
Unity’s render system is more modular than Unreal’s. It provides both a visual node-based editor, Shader Graph, and the ability to write shader code directly with high-level shader language (HLSL). HLSL code can be daunting, but it lends the experienced developer a greater degree of control over the rendering process with fewer layers of abstraction in between. The greatest downside to Unity’s method of rendering is that it is not well suited to convert between the high definition and universal render pipelines. Once one is chosen, switching to another can be time-consuming. Post-processing–effects like bloom, anti-aliasing, and color grading–are extendable with core presets that cover most use cases.
Unity 的渲染系统比 Unreal 的更模块化。它提供了基于可视化节点的编辑器 Shader Graph,以及直接使用高级着色器语言 (HLSL) 编写着色器代码的能力。 HLSL 代码可能令人望而生畏,但它可以让有经验的开发人员更好地控制渲染过程,并且中间的抽象层更少。 Unity 渲染方法的最大缺点是它不太适合在高清和通用渲染管道之间进行转换。一旦选择了一个,切换到另一个可能很耗时。后处理 - 诸如光晕、抗锯齿和颜色分级等效果 - 可通过涵盖大多数用例的核心预设进行扩展。
Unity’s shader graph examples Source: Unity
Unity 的着色器图示例来源:Unity
Unreal:
In Unreal, the ability to write complete HLSL is not provided in the engine directly, instead, a node-based material editor enables a vast range of customization with fewer technical hurdles. There is some limited access to HLSL shader code through custom nodes, but otherwise Unreal shaders must be added at a source code outside of the engine. Post-processing in Unreal is also extendable with a greater series of choices for each effect than what Unity provides out of the box.
在 Unreal 中,引擎中并没有直接提供编写完整 HLSL 的能力,相反,基于节点的材质编辑器能够以更少的技术障碍实现广泛的定制。通过自定义节点对 HLSL 着色器代码的访问受到一些限制,但除此之外,必须在引擎外部的源代码中添加 Unreal 着色器。 Unreal 中的后处理还可以扩展,每种效果的选择范围比 Unity 开箱即用的范围更大。
Although Unreal has been a market leader in real-time rendering, from architectural visualization to advanced VFX and motion capture in movies, Unity high definition render pipeline (HDRP) has been used for advanced automotive visualization. At the GDC 2022, Unity showcased “Enemies”, a Real-Time cinematic trailer in which the viewer can watch a female model's face including eyes and iris movement, mouth skin and movement, hair, small hair, and other very hard to render details with such a high level of fidelity that it is tremendously difficult to be aware of it’s real or not.
尽管 Unreal 一直是实时渲染领域的市场领导者,从建筑可视化到电影中的高级 VFX 和动作捕捉,Unity 高清渲染管线 (HDRP) 已被用于高级汽车可视化。在 GDC 2022 上,Unity 展示了“敌人”,这是一个实时电影预告片,观众可以在其中观看女性模特的脸部,包括眼睛和虹膜运动、嘴巴皮肤和运动、头发、小头发和其他很难渲染的细节具有如此高的保真度,以至于很难知道它是真实的还是假的。
Realtime VFX can be accomplished in a myriad of ways: a common solution in both Unity and Unreal is to use simple animated planes with custom materials for VFX. The vertex shader aligns the planes with the camera, and the bone animation and fragment shaders do the heavy lifting. This can save on draw calls compared to expensive CPU particle systems, but it does not allow reactive procedural effects. For those, both Unity and Unreal provide VFX-specific tools to generate millions of GPU-based particles.
实时 VFX 可以通过多种方式实现:Unity 和 Unreal 中的一个常见解决方案是使用带有自定义材质的简单动画平面来实现 VFX。顶点着色器将平面与相机对齐,骨骼动画和片段着色器完成繁重的工作。与昂贵的 CPU 粒子系统相比,这可以节省绘制调用,但它不允许反应性程序效果。对于这些,Unity 和 Unreal 都提供了特定于 VFX 的工具来生成数百万个基于 GPU 的粒子。
Unity: Visual Effect (VFX) Graph Unity:视觉效果 (VFX) 图
As the name implies, the Visual Effect Graph allows for visual-scripting with nodes and blocks to spawn, manipulate, and drive parameters for particles. The editor itself is reminiscent of Unity's Shader Graph. This is undeniably a powerful system, but it is not possible to utilize it on all platforms: The Universal Render Pipeline, which is suitable for mobile devices, only supports some features of the Visual Effect Graph, and cannot render particles with lighting derived from the scene.
顾名思义,Visual Effect Graph 允许使用节点和块的可视化脚本来生成、操作和驱动粒子参数。编辑器本身让人想起 Unity 的 Shader Graph。这无疑是一个强大的系统,但不可能在所有平台上都使用它:适用于移动设备的通用渲染管线仅支持 Visual Effect Graph 的部分功能,并且无法渲染带有来自场景。
Unity’s shader graph examples Source: Unity
Unity 的着色器图示例来源:Unity
Unreal: Niagara
Niagara is also a visual-based editor, but it does not resemble either Blueprint or the material editor quite as closely as Unity's Visual Effect Graph resembles its Shader Graph. This means that learning to use the Niagara system may feel entirely foriegn to Unreal developers that have no VFX background. The Niagra system is based on a series of modules that stack on top of one another, manipulating the parameters within each step of the way. Its high level abstraction at the module level means that arbitrary data, such as mesh positions, can be piped into these modules and drive highly interactive effects. The limitations of the system also rear their head on mobile. Specifically, it does not support ES3.1 rendering, and you must instead target Vulkan rendering for Android devices or Metal for iOS devices. This does not take into consideration practical limitations of GPU utilization, which will restrict what is possible further based on how many particles and calculations can be handled without lowering the FPS significantly.
Niagara 也是一个基于视觉的编辑器,但它与蓝图或材质编辑器的相似之处都不像 Unity 的视觉效果图与其着色器图相似。这意味着对于没有 VFX 背景的 Unreal 开发人员来说,学习使用 Niagara 系统可能会感觉完全陌生。 Niagra 系统基于一系列相互堆叠的模块,在每个步骤中操纵参数。它在模块级别的高级抽象意味着任意数据(例如网格位置)可以通过管道传输到这些模块中并驱动高度交互的效果。该系统的局限性也在移动端出现。具体来说,它不支持 ES3.1 渲染,您必须改为针对 Android 设备的 Vulkan 渲染或针对 iOS 设备的 Metal。这没有考虑 GPU 利用率的实际限制,这将根据可以处理的粒子数和计算量进一步限制可能的情况,而不会显着降低 FPS。
Both engines allow cross-platform development including Windows, Mac, Linux, Android, iOS, PS, and Xbox, among others.
两种引擎都允许跨平台开发,包括 Windows、Mac、Linux、Android、iOS、PS 和 Xbox 等。
Unity
Outside of the common platforms, Unity has an advantage in XR: It supports HTML5 web publishing, while Unreal discontinued official support after version 4.24. This makes publishing to WebXR from Unity still potentially viable, unlike Unreal.
在通用平台之外,Unity在XR上还有一个优势:支持HTML5网页发布,而Unreal在4.24版本之后就停止了官方支持。这使得从 Unity 发布到 WebXR 仍然有可能可行,这与 Unreal 不同。
Unreal
For XR development, most virtual and augmented reality platforms support Unity better than Unreal, this can be seen in developer toolkit releases. Unreal Engine often gets these toolkits released months after Unity, and the feature supported by Blueprints may be limited.
对于 XR 开发,大多数虚拟和增强现实平台对 Unity 的支持要好于 Unreal,这可以在开发人员工具包版本中看到。虚幻引擎通常会在 Unity 发布几个月后发布这些工具包,蓝图支持的功能可能会受到限制。
A lot of XR multiplayer experiences are made with Unity, from Zenith MMO to population one, VR Chat etc. Whilst, there are currently very few and hard to pick XR multiplayer experiences built with Unreal Engine.
许多 XR 多人游戏体验都是用 Unity 制作的,从 Zenith MMO 到 population one,VR Chat 等。然而,目前很少有而且很难选择使用虚幻引擎构建的 XR 多人游戏体验。
Some reasons why the barrier to entry is high for Unreal compared to Unity for Social VR:
与社交 VR 的 Unity 相比,Unreal 的进入门槛高的一些原因:
Runtime mesh access. 运行时网格访问。
The reason runtime mesh loading is so important in social games, XR included, is to allow for custom and personalized content, such as creating new environments, avatars, and accessories, that are not pre-packaged within the binaries of the application.
运行时网格加载在社交游戏(包括 XR)中如此重要的原因是允许自定义和个性化内容,例如创建新环境、头像和配件,这些内容未预先打包在应用程序的二进制文件中。
Until recently there have been very few runtime mesh loading features in Unreal. Certainly nothing built in. While the editor has the code to import a variety of assets, including FBX, OBJ, and ABC files, these are editor-only modules and are not licensed to run in standalone games.
直到最近,Unreal 中的运行时网格加载功能还很少。当然没有内置任何内容。虽然编辑器具有导入各种资产的代码,包括 FBX、OBJ 和 ABC 文件,但这些都是仅供编辑器使用的模块,未获得在独立游戏中运行的许可。
Unity's support is more approachable than Unreal's, and Unity has the concept of a Unity Asset Pack, which can load any type of art asset into a compiled Unity game with compatible binaries. Unreal does have DLC and patching functionality, but it is not as robust and certainly not approachable to the layperson. Recent advancements in GLTF runtime loading in Unreal may solve this issue, which is how Ready Player Me avatars now load into Unreal. However, there's still some optimization needed, as the construction of a skeletal mesh at runtime is a single-threaded operation, which can cause jitters or a hang in the rendering thread.
Unity 的支持比 Unreal 的更平易近人,Unity 有 Unity Asset Pack 的概念,它可以将任何类型的艺术资产加载到具有兼容二进制文件的已编译 Unity 游戏中。 Unreal 确实有 DLC 和补丁功能,但它不那么健壮,而且对于外行来说肯定不是很容易上手。 Unreal 中 GLTF 运行时加载的最新进展可能会解决这个问题,这就是 Ready Player Me 头像现在加载到 Unreal 中的方式。然而,仍然需要一些优化,因为在运行时构建骨架网格物体是一个单线程操作,这可能会导致渲染线程抖动或挂起。
Unity
All fundamental real-time animation features are supported by Unity. Armature based animation, vertex animation, state machines, and sequences provide the necessary building blocks to construct complex animation systems.
Unity 支持所有基本的实时动画功能。基于骨架的动画、顶点动画、状态机和序列为构建复杂的动画系统提供了必要的构建块。
Unreal
Although both provide animation engines inside the editor, Unreal has proven that its animation quality and tools are more mature. Recent additions include a scriptable rigging system, Control Rig, that places more control in the engine without the need for separate 3D authoring software, as well as live-link take recording, to capture and save real-time performances on characters from a variety of tracking systems.
虽然两者都在编辑器内部提供了动画引擎,但Unreal已经证明其动画质量和工具更加成熟。最近添加的内容包括可编写脚本的装配系统 Control Rig,无需单独的 3D 创作软件即可在引擎中放置更多控制,以及实时链接拍摄记录,以捕捉和保存来自各种角色的实时表演跟踪系统。
Both options provide excellent support for developers. However, Unity has a bigger community than the Unreal engine, this may be due to the beginner-friendly nature of the engine. This implies that if you are stuck during development, you have a higher chance of finding a Unity solution than an Unreal solution.
这两个选项都为开发人员提供了出色的支持。然而,Unity 拥有比 Unreal 引擎更大的社区,这可能是由于该引擎对初学者友好的特性。这意味着,如果您在开发过程中遇到困难,找到 Unity 解决方案的机会要高于 Unreal 解决方案。
Unity comes with fewer built-in features, but has a larger marketplace for plugins and extensions, allowing for added functionality at a range of prices. Unreal makes up for this with a wide variety of built-in features, with a somewhat smaller plugin marketplace.
Unity 内置的功能较少,但插件和扩展的市场更大,允许以不同的价格增加功能。虚幻引擎通过各种内置功能和较小的插件市场弥补了这一点。
You can find an extensive variety of assets in these marketplaces: 3D models, environments, sounds, shaders, tools, templates, etc.
您可以在这些市场中找到各种各样的资产:3D 模型、环境、声音、着色器、工具、模板等。
Besides the Personal (no fees) plan, Unity has paid plans in accordance with the company’s revenue in the last 12 months, starting at US $ 399 per year/seat (user). No royalty fee. More info: Unity Engine plans pricing
除了个人(免费)计划外,Unity 还根据公司过去 12 个月的收入支付计划,起价为每年 399 美元/席位(用户)。无特许权使用费。更多信息:Unity Engine 计划定价
On the other hand, Unreal has a Standard License (no fees) plan, an Enterprise program at US $ 1500 per year/seat, and a royalty fee when certain terms are met. More info: Unreal Engine licensing options
另一方面,Unreal 有一个标准许可(无费用)计划,一个每年 1500 美元/席位的企业程序,以及满足某些条款时的特许权使用费。更多信息:虚幻引擎许可选项
Unity is preferred by around 62% of the game developers:
Unity 受到大约 62% 的游戏开发者的青睐:
Source: Unity vs. Unreal: Choosing the Best Engine for 2022, 2021 Gaming Report
资料来源:Unity vs. Unreal:为 2022 年、2021 年游戏报告选择最佳引擎
From 71,828 people interviewed last year by Stack Overflow:
来自 Stack Overflow 去年采访的 71,828 人:
Feature/Criteria
Unity
Unreal
Visual Scripting
Unity visual scripting (formerly Bolt). Complements C# scripting, but with less documentation. Easily extendable.
Unity 可视化脚本(以前称为 Bolt)。补充 C# 脚本,但文档较少。易于扩展。
Blueprint. The focus of scripting documentation. Powerful, but siloed from C++ scripting. More challenging to extend.
蓝图。脚本文档的重点。功能强大,但独立于 C++ 脚本。扩展更具挑战性。
XR Integrations
Oculus VR, 眼环虚拟现实,
Vive Wave, 万岁波,
UWP for Hololens, 用于 Hololens 的 UWP,
Lumin OS for Magic Leap,
用于 Magic Leap 的 Lumin 操作系统,
Pico SDK**,
Oculus VR*, 眼环虚拟现实*,
Steam VR, 蒸汽虚拟现实,
Vive Wave**, 万岁波**,
UWP for Hololens, 用于 Hololens 的 UWP,
Lumin OS for Magic Leap,
用于 Magic Leap 的 Lumin 操作系统,
Pico SDK**. 微微 SDK **。
Native Virtual Collaboration Tools (Source Control)
本机虚拟协作工具(源代码管理)
Stock Art Assets 股票艺术资产
Physics-Based Interactions for XR
XR 基于物理的交互
Native IK Based Interactions 基于原生 IK 的交互
Asset Management Pipeline 资产管理管道
Original Asset + Metadata file. You’ll still need to export from your authoring platform of choice, but there’s one less step to worry about when transferring assets, within the engine.
原始资产 + 元数据文件。您仍然需要从您选择的创作平台导出,但在引擎内传输资产时需要担心的步骤少了一步。
Asset converted to Unreal-specific format during import. This eliminates the need for a separate metadata file, but if an asset becomes corrupt, or is moved outside of its correct location, then it may be hard to recover. In addition, the linking system for assets is highly dependent. You must understand file-redirectors fully if you are going to frequently move or rename assets and folders.
资产在导入期间转换为虚幻特定格式。这消除了对单独元数据文件的需要,但如果资产损坏或移动到其正确位置之外,则可能难以恢复。此外,资产的链接系统具有高度依赖性。如果您要经常移动或重命名资产和文件夹,则必须完全了解文件重定向器。
Source Code Access 源代码访问
Read-only access to engine source.
对引擎源代码的只读访问权限。
Read/write access to engine source (after compiling from GitHub repo).
对引擎源代码的读/写权限(从 GitHub 存储库编译后)。
Rendering Capabilities 渲染能力
Efficient/moderate quality by default. High quality is attainable with greater effort.
默认为高效/中等质量。付出更多的努力才能获得高质量。
High quality by default. Performance may suffer for mobile devices without optimization
默认高质量。未经优化的移动设备性能可能会受到影响
Animation Framework 动画框架
State-machines, timelines/sequences, script-based animation. With enough time and effort, just about any feature visible to the end player/viewer of an Unreal product can see the same results produced with Unity. The limiting factor is the time it takes to reach these end results due to the requirement to build animation systems up from scratch.
状态机、时间线/序列、基于脚本的动画。只要有足够的时间和精力,Unreal 产品的最终玩家/观众几乎可以看到任何功能,都可以看到与 Unity 产生的相同结果。由于需要从头开始构建动画系统,因此限制因素是达到这些最终结果所需的时间。
State-machines, timelines/sequences, script-based animations, animation post-processing, in-engine rigging, live-link. The Blueprint a unique derivative: the Animation Blueprint. The ability to rapidly composite animations does not necessarily extend the functionality far beyond what Unity can provide, but it does provide a faster pipeline.
状态机、时间线/序列、基于脚本的动画、动画后处理、引擎内装配、实时链接。 The Blueprint 一个独特的衍生品:动画蓝图。快速合成动画的能力不一定将功能扩展到远远超出 Unity 所能提供的范围,但它确实提供了更快的管道。
Shaders and Materials 着色器和材质
HLSL, and Visual Material Scripting. Requires greater understanding of Shader programming.
HLSL 和可视化材料脚本。需要对着色器编程有更深入的了解。
Visual Material Scripting. Requires less understanding of Shader programming.
视觉材料脚本。需要较少了解着色器编程。
Networking Framework 网络框架
Some built-in support, but mostly third party plugins are used, like Photon, Normcore or Mirror
一些内置支持,但主要使用第三方插件,如 Photon、Normcore 或 Mirror
Built-in support out of the box is very good and battle tested in games as Fortnite
开箱即用的内置支持非常好,并在 Fortnite 等游戏中经过实战测试
WebXR
HTML5 build supported 支持 HTML5 构建
Not Supported
Performance
Smaller distributions by default. less complex render pipelines result in fewer performance bottlenecks.
默认情况下较小的分布。不太复杂的渲染管线导致较少的性能瓶颈。
Larger distributions by default. Performance may suffer if the wrong features are left enabled for less capable hardware.
默认情况下更大的分布。如果为功能较弱的硬件启用了错误的功能,性能可能会受到影响。
Samples and templates 示例和模板
Documentation
More comprehensive 更全面
More fragmented. Not all systems are documented in a central repository
更加分散。并非所有系统都记录在中央存储库中
Support
Unity has a large community of developers, if you are stuck it is easy to find someone with a similar problem
Unity 拥有庞大的开发人员社区,如果您遇到困难,很容易找到有类似问题的人
Unreal has a smaller community, if you are not an experienced developer it is easy to be stuck when developing
Unreal 的社区较小,如果您不是经验丰富的开发人员,开发时很容易卡住
License Costs
Start without fees, $ 399 per year/user for studios. No royalties
免费开始,工作室每年 399 美元/用户。无版税
Start without fees, 5% royalties for off-the-shelf products that exceed $1M gross profit over the lifetime of the product
免费开始,对于在产品生命周期内毛利润超过 100 万美元的现成产品,收取 5% 的特许权使用费
Target Industries
Cross-platform gaming, entertainment, education, Gaming, virtual production, arch viz, digital twinning
跨平台游戏、娱乐、教育、游戏、虚拟制作、建筑可视化、数字孪生
Gaming, industrial engineering, medical device, and pharmaceuticals
游戏、工业工程、医疗器械和制药
Learning Curve
More accessible for programmers. Unity has fewer bells and whistles by default, which enables learning fundamentals without being faced with challenging complex systems.
更易于程序员使用。默认情况下,Unity 的花里胡哨的功能较少,这使得学习基础知识而无需面对具有挑战性的复杂系统。
More accessible for artists. The wide range of systems, plugins, and tools make advanced work faster, but learning these systems will take longer.
艺术家更容易获得。范围广泛的系统、插件和工具使高级工作更快,但学习这些系统将花费更长的时间。
Cross-Platform Deployment 跨平台部署
Unity has wider cross-platform support, and with the URP pipeline, it is easy to deploy across multiple platforms without overhauling your projects
Unity 具有更广泛的跨平台支持,借助 URP 管道,无需大修项目即可轻松跨多个平台部署
Unreal has cross-platform deployment, but it requires more manual setup and application compilation knowledge
Unreal 具有跨平台部署,但需要更多的手动设置和应用程序编译知识
* Engine compilation required * 需要引擎编译
** External download ** 外部下载
There are two kinds of people that will read this article, those that are trying to decide which engine to invest their time in, and those that have already made their choice and want someone to agree with them. I’m sure to disappoint at least a quarter of you by that metric, but here goes!
有两种人会阅读这篇文章,一种是试图决定将时间投入到哪个引擎上,另一种是已经做出选择并希望有人同意他们的意见。我肯定会让你们中至少有四分之一的人失望,但是开始了!
Unity is the reigning champion in XR development.
Unity 是 XR 开发领域的卫冕冠军。
Unreal is a legitimate choice for XR development--no one would write an article comparing the two if that was up for dispute--but if you’re basing your choice on the quickest way to produce high quality XR content, then
Unreal 是 XR 开发的合理选择——如果有争议,没有人会写一篇比较两者的文章——但如果你的选择基于产生高质量 XR 内容的最快方式,那么
Unity wins outright. 团结一致获胜。
The vast majority of studios hiring XR developers already use Unity, and in the indie-developer space there’s a much larger community of XR developers and programmers to support existing and growing teams. To prove this point, take one of the most popular emerging markets in XR: social platforms on standalone VR headsets. (The rising popularity closely relates to the most frequent talking point of 2022: the Metaverse.) There’s more competition between Unity and custom-engine programming right now than there is between Unity and Unreal. There are a variety of reasons why this is the case, but let’s call out just two:
绝大多数雇用 XR 开发人员的工作室已经在使用 Unity,而在独立开发人员领域,有一个更大的 XR 开发人员和程序员社区来支持现有和不断壮大的团队。为了证明这一点,以 XR 中最受欢迎的新兴市场之一为例:独立 VR 耳机上的社交平台。 (越来越受欢迎与 2022 年最常谈论的话题密切相关:Metaverse。)现在 Unity 和自定义引擎编程之间的竞争比 Unity 和 Unreal 之间的竞争还要多。造成这种情况的原因有很多,但我们只说两个:
Where Unreal really shines is in the rich new graphical features that are continually brought to the engine, first in UE4 and now in UE5. Examine the development roadmap here. Unity is working to catch up with Unreal in this sector, such as their recent acquisition of Weta Digital. However, the most exciting features Unreal added all have one thing in common: they’re not suitable for standalone XR devices.
Unreal 真正闪耀的地方在于不断为引擎带来的丰富的新图形功能,首先是在 UE4 中,现在在 UE5 中。在此处查看开发路线图。 Unity 正在努力在这一领域追赶 Unreal,例如他们最近收购了 Weta Digital。然而,Unreal 添加的最令人兴奋的功能都有一个共同点:它们不适合独立的 XR 设备。
These are exciting, these are fun... and these are not going to work on a Snapdragon XR2 chipset without some significant modifications/optimizations. There’s potential here for cloud-streaming XR content for standalone headsets, but no one’s quite cracked that nut yet.
这些令人兴奋,这些很有趣......如果不进行一些重大修改/优化,这些将无法在 Snapdragon XR2 芯片组上运行。这里有为独立耳机提供云流式 XR 内容的潜力,但还没有人完全破解这个难题。
This brings us to our final critique of Unreal for XR development: You’ll need to significantly reign in your art-team (or your inner artist) to meet performance requirements. If you give someone $100 dollars and ask them to buy all the essentials from a grocery store, that’s one thing. If you ask the same person to spend that $100 at the grocery store or at the Michelin restaurant across the street, they’re going to exceed their budget far more quickly. What can I say? Sometimes that duck confit is too delicious to resist when paired with a side of lumen-based global illumination.
这就引出了我们对虚幻 XR 开发的最后批评:你需要在你的艺术团队(或你的内在艺术家)中发挥重要作用才能满足性能要求。如果你给某人 100 美元并要求他们从杂货店购买所有必需品,那是一回事。如果你让同一个人在杂货店或街对面的米其林餐厅消费这 100 美元,他们会更快地超出预算。我能说什么?有时,与基于流明的全局照明搭配时,鸭肉太美味了,无法抗拒。
So there you have it. There are some clear and present challenges in adopting Unreal as your platform of choice for XR. This begs the question, why have some of us personally chosen Unreal over Unity for XR development? The answer is straightforward: once you overcome the learning curve for either engine, they’re both capable of delivering exceptional high quality XR content.
所以你有它。采用虚幻引擎作为您选择的 XR 平台存在一些明显而现实的挑战。这就引出了一个问题,为什么我们中的一些人个人选择 Unreal 而不是 Unity 进行 XR 开发?答案很简单:一旦您克服了任一引擎的学习曲线,它们都能够提供卓越的高质量 XR 内容。
We’re also beginning to see a shift in the demographics that use Unreal: As people are lured in by the AAA visuals, they’re finding more ways to extend the engine for use in XR, especially as XR hardware improves; thus driving increased support, documentation, and features in Unreal. Unity continues to dominate the space, but that may change if they are unable to match Unreal’s growth rate in the market.
我们也开始看到使用虚幻引擎的人口统计数据发生了变化:随着人们被 AAA 视觉效果所吸引,他们正在寻找更多方法来扩展引擎以用于 XR,尤其是随着 XR 硬件的改进;从而推动 Unreal 中更多的支持、文档和功能。 Unity 继续主导该领域,但如果它们无法与 Unreal 在市场上的增长率相提并论,这种情况可能会改变。
Our recommendations for you to choose between Unreal and Unity.
我们建议您在 Unreal 和 Unity 之间做出选择。
Thanks to the XR Bootcamp mentors and team for writing this guideline!
感谢 XR Bootcamp 导师和团队撰写本指南!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。