当前位置:   article > 正文

比较 Unity 与 Unreal 的 VR、MR 或 AR 开发项目_unity vr multiplayer development

unity vr multiplayer development

Unity vs Unreal - how to decide which engine to use in your next XR project
Unity vs Unreal——如何决定在你的下一个 XR 项目中使用哪个引擎

 

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 制作的其他热门游戏:

  • Call of Duty mobile,  使命召唤手机,
  • Pokemon Go,
  • Escape from Tarkov,  逃离塔科夫,
  • Rust,
  • Hearthstone,
  • Ori And The Blind Forest,  奥日与盲林,
  • Pillars Of Eternity. 永恒之柱。

 

Popular non XR Games made with Unreal
使用虚幻引擎制作的热门非 XR 游戏

Other popular games made with Unreal:
其他使用虚幻引擎制作的热门游戏:

  • Seshua’s Saga: Hellblade II,  塞舒亚的传奇:地狱之刃 II,
  • II, Dragon Quest XII: The Flames of Fate,
    II,勇者斗恶龙XII:命运之火,
  • Dreamhouse: The Game,  梦想之家:游戏,
  • eFootball PES 2022,  eFootball PES 2022,
  • Gears of War,  战争机器,
  • Mortal Online 2. 凡人在线2。

 

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++ 库知识,这些知识建立在一系列特定于引擎的宏之上,这些宏通过插件或编辑器模块编译来扩展蓝图。

Blueprint Source: Unreal
蓝图。资料来源:虚幻

Rendering - Unity vs Unreal 渲染 - Unity 与 Unreal

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 开箱即用的范围更大。

Real-time Cinematic Rendering - Unreal vs Unity
实时电影渲染 - Unreal vs 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 展示了“敌人”,这是一个实时电影预告片,观众可以在其中观看女性模特的脸部,包括眼睛和虹膜运动、嘴巴皮肤和运动、头发、小头发和其他很难渲染的细节具有如此高的保真度,以至于很难知道它是真实的还是假的。

VFX - Unity and Unreal Comparison
VFX - Unity 和 Unreal 比较

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。

Target platforms - Unreal vs Unity
目标平台 - Unreal 与 Unity

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 发布几个月后发布这些工具包,蓝图支持的功能可能会受到限制。

Creator focused multiplayer XR experiences
以创作者为中心的多人 XR 体验

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 中的方式。然而,仍然需要一些优化,因为在运行时构建骨架网格物体是一个单线程操作,这可能会导致渲染线程抖动或挂起。

Animation - Unity vs Unreal 动画——Unity vs 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 创作软件即可在引擎中放置更多控制,以及实时链接拍摄记录,以捕捉和保存来自各种角色的实时表演跟踪系统。

Support - Unity vs Unreal 支持 - Unity 与 Unreal

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 解决方案。

Assetstore/Marketplace for Plugins and Extensions
插件和扩展的 Assetstore/Marketplace

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 模型、环境、声音、着色器、工具、模板等。

Unreal Marketplace 虚幻商城

Unity Asset Store 统一资产商店

Subscription Cost - Unity vs Unreal
订阅费用 - Unity 与 Unreal

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
除了个人(免费)计划外,U​​nity 还根据公司过去 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 美元/席位的企业程序,以及满足某些条款时的特许权使用费。更多信息:虚幻引擎许可选项

Which engine do developers prefer? Unity vs Unreal
开发者更喜欢哪个引擎?统一与虚幻

Unity is preferred by around 62% of the game developers:
Unity 受到大约 62% 的游戏开发者的青睐:

Source: Unity vs. Unreal: Choosing the Best Engine for 20222021 Gaming Report
资料来源:Unity vs. Unreal:为 2022 年、2021 年游戏报告选择最佳引擎

From 71,828 people interviewed last year by Stack Overflow:
来自 Stack Overflow 去年采访的 71,828 人:

  • 12,793 showed interest in working with Unity in the near future.
    12,793 人表示有兴趣在不久的将来使用 Unity。
  • 5,154 showed interest in working with Unreal in the near future
    5,154 人表示有兴趣在不久的将来使用虚幻引擎

Comparison Table - Unity vs Unreal
比较表 - Unity 与 Unreal

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

OpenXR,

Oculus VR,  眼环虚拟现实,

Steam VR,

Vive Wave,  万岁波,

UWP for Hololens,  用于 Hololens 的 UWP,

Lumin OS for Magic Leap,
用于 Magic Leap 的 Lumin 操作系统,

Pico SDK**,

WebXR.

OpenXR,

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)
本机虚拟协作工具(源代码管理)

Photogrammetry

Documented external pipeline 记录在案的外部管道

RealityScan (coming soon) RealityScan(即将推出)

Stock Art Assets 股票艺术资产

Unreal marketplace,   虚幻的市场,

Sketchfab,

Quixel Bridge

Physics-Based Interactions for XR
XR 基于物理的交互

PhysX /Chaos,   PhysX /混沌,

VR template,   虚拟现实模板,

fewer 3rd-party plugins  更少的 3rd 方插件

Native IK Based Interactions 基于原生 IK 的交互

Two-bone IK,  双骨 IK ,

Chain solver,  链求解器,

FABRIK solver

Two-bone IK,   双骨 IK ,

Trail solver,  轨迹求解器,

CCDIK,

FABRIK solver, FABRIK求解器,

Full body IK  全身 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.
默认情况下更大的分布。如果为功能较弱的硬件启用了错误的功能,性能可能会受到影响。

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 ** 外部下载

Some hot takes! 一些热点!

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 之间的竞争还要多。造成这种情况的原因有很多,但我们只说两个:

  • XR platform features and extensions are almost invariably released to the Unity game engine prior to Unreal, such as the original Oculus Quest hand tracking feature. Sure, Unreal also receives these sorts of features, but you’ll have to wait a few months and when they do come to Unreal they’ll often be C++ APIs long before someone exposes them to Blueprint.
    XR 平台功能和扩展几乎总是先于 Unreal 发布到 Unity 游戏引擎,例如原始的 Oculus Quest 手部跟踪功能。当然,Unreal 也获得了这些类型的功能,但您必须等待几个月,当它们真正进入 Unreal 时,它们通常会在有人将它们公开给 Blueprint 之前很久就成为 C++ API。
  • Unity could be described as a developer-first game engine. Contrast that to Unreal which could be considered an artist-first game engine. Historically Unity has provided documentation, and workflows that cater to programming, scripting, and game logic. Unreal can be great for visual scripting with Blueprints (that’s how I fell in love with the engine coming from my art background), but the leap to C++ is a significant one and Blueprints will only prepare you to understand the concepts, not the syntax of the language.
    Unity 可以被描述为开发者至上的游戏引擎。将其与 Unreal 进行对比,Unreal 可以被视为艺术家至上的游戏引擎。从历史上看,Unity 提供了满足编程、脚本和游戏逻辑需求的文档和工作流。 Unreal 非常适合使用 Blueprints 进行可视化脚本编写(这就是我的艺术背景让我爱上了这个引擎),但是向 C++ 的飞跃是一个重要的飞跃,而 Blueprints 只会让你理解概念,而不是语法语言。

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 设备。

  •  Nanite – allowing non-skeletal objects to render on screen with billions of tris.
    Nanite——允许非骨骼物体在屏幕上呈现数十亿个三角形。
  •  Lumen – Hyper realistic real-time global illumination.
    Lumen – 超逼真的实时全局照明。
  •  Metahumans – Unreal (hah) levels of detail without expensive digitization and rigging.
    Metahumans – 虚幻 (hah) 级别的细节,无需昂贵的数字化和操纵。
  •  Realtime Raytracing – lights and reflections simulating from all surfaces on and off screen.
    实时光线追踪——模拟屏幕内外所有表面的灯光和反射。

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 在市场上的增长率相提并论,这种情况可能会改变。 

 

Conclusion and Recommendations 结论和建议

Our recommendations for you to choose between Unreal and Unity.
我们建议您在 Unreal 和 Unity 之间做出选择。

  • If you are an XR Unity developer considering switching to Unreal. I do not recommend the switch. Only do so to explore how you enjoy Unreal engine, or as a safety precaution in case Unreal overpowers Unity’s control in the market.
    如果您是 XR Unity 开发人员,正在考虑切换到 Unreal。我不建议切换。这样做只是为了探索您如何享受 Unreal 引擎,或者作为一种安全预防措施,以防 Unreal 在市场上压倒 Unity 的控制权。
  • If you are an XR Unreal developer considering switching to Unity. I do not recommend the switch. You’ve probably overcome the majority of the challenges of Unreal development for XR. Only switch if your specific project specifically requires a feature not available in Unreal.
    如果您是 XR Unreal 开发人员,正在考虑切换到 Unity。我不建议切换。您可能已经克服了 Unreal XR 开发的大部分挑战。仅当您的特定项目特别需要 Unreal 中不可用的功能时才切换。
  • If you are a programmer with no game engine experience, choose Unity. You’ll find the learning curve has a shallower slope.
    如果您是没有游戏引擎经验的程序员,请选择 Unity。您会发现学习曲线的斜率较小。
  • If you are an artist with no game engine experience, choose Unreal. You will fall in love with the capabilities of Unreal but be prepared to swallow the bitter pill that there are technical limitations in XR.
    如果您是没有游戏引擎经验的美术师,请选择 Unreal。您会爱上 Unreal 的功能,但要做好吞下 XR 存在技术限制的苦果的准备。
  • If you have neither programming nor art experience, choose Unity. You will learn it more quickly and can always experiment with other engines after establishing a strong foundation.
    如果你既没有编程经验也没有美术经验,选择Unity。您会学得更快,并且在打下坚实的基础后可以随时尝试使用其他引擎。
  • If you need to produce a mobile/standalone game or app, with some distribution to XR, choose Unity.
    如果您需要制作移动/独立游戏或应用程序,并向 XR 分发一些内容,请选择 Unity。
  • If you need to produce a AAA game, with some distribution to XR, choose Unreal.
    如果您需要制作 AAA 游戏,并向 XR 分发一些内容,请选择 Unreal。
 No 
Do you have any experience using Unity or Unreal
Unity
Unreal
Is your experience in Unity or Unreal?
Have experience
No experience
Do you have experience in either programming or 3d art?
You'll be able to leverage your existing experience and overcome some engine limitations faster than it takes to learn an entirely new engine.
Art
Programming
Is your focus in art or programming?
Non-mobile
Standalone
Are you developing for mobile/standalone XR devices?
Artist will find Unreal more appealing, but be cautious and consider optimization.
Unity's scripting is more digestible than Unreal once you've surpassed a basic level of pogramming.
Unity's mobile development pipeline is more straightforward than Unreal's.
Yes
No
Are you comfortable with a steep learning curve?
You'll be able to leverage your existing experience and overcome some engine limitations faster than it takes to learn an entirely new engine.
Unreal requires more time to gain proficiency, but shines when targeting non-mobile platforms.
Unity is suitable to learn from scratch with no art or programming background because each system requires minimal knowledge to learn and expand.
Leverage
existing experience
Choose based on
unique features
Would you rather leverage your existing experience, or choose engine based on its unique features?
We recommend Unreal
 Yes 
We recommend Unity

 

Thanks to the XR Bootcamp mentors and team for writing this guideline!
感谢 XR Bootcamp 导师和团队撰写本指南!

  • Lucas Martinic, VR Prototyper, Asset Creator & Mentor at XR Bootcamp
    XR Bootcamp 的 VR 原型师、资产创建者和导师 Lucas Martinic
  • Hammed Arowosegbe, Senior Software Engineer, XR at Vault Hill, Chapter President Nigeria, The VRARA
    Hammed Arowosegbe,Vault Hill XR 高级软件工程师,VRARA 尼日利亚分会主席
  • Ian Berget, Co-founder, and CTO of Launchvox Inc
    Launchvox Inc 联合创始人兼首席技术官 Ian Berget
  • Hernando Nieto Jaramillo, Unity 3D VR developer, PortalSense
    Hernando Nieto Jaramillo,Unity 3D VR 开发人员,PortalSense
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/91422
推荐阅读
相关标签
  

闽ICP备14008679号