Unity与UE,哪种游戏引擎适合你?

  PlayStation vs Xbox,Mario vs Sonic,Unreal vs Unity?无论是游戏主机、角色还是游戏引擎,人们总是热衷于捍卫他们在游戏行业中的偏爱。

  专注于游戏引擎,Unity和Unreal Engine(简称UE4)是目前市场上最受欢迎的两款游戏引擎。它们是大多数独立开发者的首选工具。虽然许多游戏开发工作室使用自己的专有游戏引擎,但也有很多选择使用Unity或Unreal。

  那么,哪个引擎更好呢?这是GameDev.tv团队和我在过去5年里教授的50多万学生中最常被问到的问题之一。

Unity vs Unreal Engine 的历史

  Unreal Engine由Epic Games创始人Tim Sweeney于1998年开发。它与首款游戏“Unreal”一同推出,并首次允许玩家修改游戏,这在当时是独一无二的。如今,Unreal Engine因“更好的图形”而著称,并为使用它的游戏提供了大型工作室级别的AAA质量。

  Epic Games是Unreal Engine背后的公司,其旗下的游戏《Fortnite》取得了巨大成功,拥有2亿用户,并于2019年1月份宣布的收入为10亿美元。Unreal Engine本身拥有700万用户。

  成立于2004年的Unity总部位于哥本哈根,创始人的初衷是要使游戏开发普遍可达。如今,Unity被誉为“制作任何游戏”的引擎,非常适合独立开发者。超过50%的跨所有平台的游戏使用Unity,而60%的所有虚拟/增强现实内容都由Unity提供支持。

  实际上,这两款引擎都能够制作几乎任何类型的游戏,并将其部署到大多数游戏平台上。但这并没有帮助你做出决定,对吧?要回答哪个游戏引擎最适合你的需求,你首先需要回答以下五个问题:

  1. 你有多少游戏开发经验?
  2. 你想在哪里发布你的游戏?
  3. 你想发布什么类型的游戏?
  4. 这是一项爱好,还是你想要赚钱?
  5. 你是在提升技能以在游戏工作室找工作吗?

一、你有多少游戏开发经验?

  如果你刚刚开始涉足游戏开发,我们推荐使用Unity。它提供非常直观的设计,并使用C#编程语言,这使得学习变得简单而有趣。

  在花费一个周末学习Unity课程后,毫不夸张地说,你可能已经制作了你的第一个简单游戏,并准备与朋友分享。

  此外,有大量的在线信息来自其他Unity开发者,可以在每一步帮助你。从YouTube视频到在线课程再到活跃的社区论坛,应有尽有。

  对于完全初学者来说,Unreal Engine有点复杂。在Unreal中,你可以通过Blueprint可视脚本编程或使用C++两种方式编写游戏。

  如果你对编程不熟悉,Blueprint可视脚本编程可以帮助你迅速取得一些胜利(和完成的游戏)。然而,如果你想发挥Unreal的全部威力,你需要学习C++,而许多人发现学习起来比Unity使用的C#编程语言更有难度。

  我们的团队为这两款引擎制作了课程,深刻理解它们之间学习曲线的差异。如果你想学习编程,C#比C++更容易学习。

  我们看到许多学生在一款引擎上开始学习,掌握所需技能,然后在未来需要时成功过渡到另一款引擎。你在Unity中学到的许多技能可以转移到Unreal,反之亦然。

总结:C# 的直观设计和使用使 Unity 成为初学者的理想选择。

二、你想在哪里发布你的游戏?

  决定使用哪个引擎时,考虑潜在玩家如何访问你的游戏是一个重要的考虑因素。Unity和Unreal Engine都提供跨平台集成,但Unity提供的集成更为丰富。请查看下面的列表,了解Unity和Unreal目前提供的平台集成。

  Unity平台集成:iOS、Android、Windows Phone 8、Tizen、Android TV、Samsung SMART TV、Xbox One和360、Windows PC、Mac OS X、Linux、Web Player、WebGL、HoloLens、SteamOS、PS4、Playstation Vita和Wii U。

  Unreal Engine平台集成:iOS、Android、VR、Linux、Windows PC、Mac OS X、SteamOS、HTML5、Xbox One和PS4。

  虽然这两款引擎都可以用于制作移动游戏,但我们更倾向于在移动平台上使用Unity。它是一个更容易制作2D游戏的引擎,并且在向低端硬件进行缩放时更为轻松。Unity专门针对配备老式GPU的低功耗设备提供了轻量级渲染管线。

  如果你要面向高端设备,比如Xbox One,那么Unity和Unreal都可以胜任。

总结:Unity提供更多的跨平台集成。

三、你想发布什么类型的游戏?

  Unreal和Unity都支持创建2D和完全3D渲染的游戏。在这里,你必须考虑作为开发者花费时间和成本的哪种格式更值得。

  如果你正在创建2D内容,那么Unity就是你的选择。它拥有更简单的用户界面和成熟的2D工具。Unreal也可以用于2D游戏开发,但Epic Games并没有像Unity那样将这个特性集合放在首要位置。
Crossy Roads,使用Unity制作Crossy Roads,使用Unity制作

  如果你正在制作更传统的、充满动作的第一人称射击游戏,那么选择Unreal Engine可能更为合适。这类游戏正是该引擎的创作初衷,例如《虚幻竞技场》、《无主之地》和《堡垒之夜》。

在这里插入图片描述
Fortnite,使用Unreal Engine制作

  如果你想在游戏中呈现出令人惊叹的视觉效果,Unreal Engine难以匹敌。尽管Unity正在努力改进其图形功能,但这仍然是两者之间的主要区别之一。这无可争议的视觉效果也是为什么更多大型工作室在他们的游戏开发中使用Unreal的原因。

  值得注意的是,相比Unity,Unreal对于你如何构建游戏有更多的看法。默认情况下,开发者使用Unreal Engine的Gameplay Framework来构建游戏。

  这突显了两家公司之间的一种哲学差异:

  • Unreal包含更多便利的开箱即用工具,但它们必须按照“Unreal Way”来使用,这可能学习和使用起来较为复杂。
  • Unity提供了一个简单的基础,开发者可以在其上构建或购买自己的工具。这意味着Unity专注于使其提供的基础简单而清晰,但你需要更多地自己进行工作。

  一些Unreal Engine内置的功能,Unity需要第三方插件或自定义代码才能访问,包括:

  • AI行为树
  • 复杂的动画逻辑
  • 游戏保存系统
  • 多人游戏
  • 游戏能力
  • Chaos破坏系统

  即使选择Unity,你仍然可以从Unreal Engine的架构决策中获得很多灵感。在我们自己的课程中,我们通过在Unity中构建类似Unreal Gameplay Framework和Saving System的系统来实现这一点。

总结:如果你的最终目标是一个具有惊人图形的游戏,选择Unreal Engine。

四、这是一项爱好,还是你希望获利?

  无论是Unreal Engine还是Unity,它们都是免费使用的,然而,一旦你开始从游戏中获得收入,就会有一些条件适用。

  Unity提供三种选择计划:个人版、Plus版和专业版:

  • 个人版是免费使用的,开发者通过该计划最多可以每年赚取10万美元。在免费使用的条件下,游戏必须包含“Made in Unity”的启动画面。
  • Plus版每月收费40美元,需要一年的订阅。开发者最多可以每年赚取20万美元,并且还能获得额外的福利,如启动画面定制和与协作工具的集成。
  • 专业版每月收费150美元,没有年度收入限制。你将得到包括Plus版在内的所有福利,另外还有3个额外的席位和一个高级艺术资源包。
  • Unreal允许开发者免费使用完整的引擎及其所有功能。如果你决定从游戏中获取收入,那么在每个日历季度内,如果游戏的收入超过3000美元,Unreal会收取5%的费用。

  总结:在构建游戏时,两者都值得尝试。如果你期望从游戏中赚钱,请花些时间进行一些收入分析,以找出哪家公司的价格结构对你最有利。

五、你是在提升技能以在游戏工作室找工作吗?

  如果你学习Unreal或Unity是为了达到在游戏工作室担任游戏开发人员的职业目标,首先看看你感兴趣的工作室使用哪个引擎和编程语言。许多工作室使用自己的专有游戏引擎;在这种情况下,语言是你职业发展轨迹中最重要的因素。许多工作室看重C++知识,因此学习Unreal和C++可能会给你带来优势。

  对于其他职务,比如技术设计师、关卡设计师、环境艺术家,工作室会更青睐那些了解工作室使用的引擎的候选人。好消息是,如果你花时间学习一个引擎,那么在需要迅速学习另一个引擎以在面试中脱颖而出时,你已经有了一个良好的起点。我们在我们的《如何在视频游戏行业找到工作》课程中对此进行了更详细的说明。

  Unity vs Unreal Engine:主要区别 Unity和Unreal之间的主要区别在于它们本地使用的编程语言。Unreal Engine使用C++,但在构建游戏时,你还会使用Unreal的一种专有语言,称为蓝图(Blueprint),以及C++。Unity对于主要的Unity编辑器和任何插件都使用C#。它还使用自己的专有语言Prefab和Bolt。

  Unity vs Unreal Engine:总结 希望我们已经帮助你决定哪个游戏引擎对你的项目最合适。下面是一张详细描述差异的表格:
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/870571.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C++:平衡二叉搜索树之红黑树

一、红黑树的概念 红黑树, 和AVL都是二叉搜索树, 红黑树通过在每个节点上增加一个储存位表示节点的颜色, 可以是RED或者BLACK, 通过任何一条从根到叶子的路径上各个节点着色方式的限制,红黑树能够确保没有一条路径会比…

C++ 11相关新特性(lambda表达式与function包装器)

目录 lambda表达式 引入 lambda表达式介绍 lambda表达式捕捉列表的传递形式 lambda表达式的原理 包装器 包装器的基本使用 包装器与重载函数 包装器的使用 绑定 C 11 新特性 lambda表达式 引入 在C 98中,对于sort函数来说,如果需要根据不同的比较方式实现…

超网和无类间路由是什么?

​一、超网概述 超网是将多个连续的网络地址组合成一个增加的网络地址的技术。常用于减少路由器的路由表大小,网络的可扩展性。通过合并连续的子网,超网可以减少路由入侵的数量,从而提高网络的效率。 超网的实现基于合并多个具有连续IP地址…

【vue教程】五. Vue 的路由管理

目录 往期列表本章涵盖知识点回顾Vue Router 的基本概念什么是 Vue Router?为什么需要 Vue Router? 路由的配置和使用安装 Vue Router创建路由在 Vue 实例中使用路由模板中的路由链接 动态路由和嵌套路由动态路由嵌套路由 路由守卫什么是路由守卫&#x…

HarmonyOS应用三之组件生命周期和参数传递

目录: 1、生命周期的执行顺序2、页面数据传递3、图片的读取4、数据的备份和恢复5、轮播图6、页面布局图 1、生命周期的执行顺序 /** Copyright (c) 2023 Huawei Device Co., Ltd.* Licensed under the Apache License, Version 2.0 (the "License");* yo…

微服务架构设计中的常见的10种设计模式

微服务架构设计的概念 微服务架构(Microservices Architecture)是一种用于构建分布式系统的软件设计模式。它将大型应用程序拆分成一组小型、自治的服务,每个服务都运行在其独立的进程中,服务之间通过轻量级的通信机制&#xff08…

Nginx 核心配置详解

章节 1 NGINX 的源码安装 2 NGINX 核心配置详解 3 NGINX 之 location 匹配优先级 4 NGINX 基础参数与功能 目录 1 配置文件说明 1.1 nginx 配置文件格式说明 1.2 Nginx 主配置文件的配置指令方式: 1.3 主配置文件结构:四部分 1.4 nginx 文件作用解…

使用Python编写AI程序,让机器变得更智能

人工智能(AI)是当今科技领域最热门的话题之一。随着Python编程语言的逐渐流行,它已经成为许多人工智能编程的首选语言。本文将介绍如何使用Python编写AI程序,让机器变得更智能。 首先,Python提供了大量的AI库和工具&a…

10、stm32实现adc读取数据

一、配置 二、代码 /* USER CODE BEGIN 2 */OLED_Init();OLED_Clear();OLED_ShowString(0,0,"Hello adc",12,0);uint16_t adc_number 0;/* USER CODE END 2 *//* USER CODE BEGIN WHILE */while (1){HAL_ADC_Start(&hadc1);HAL_ADC_PollForConversion(&hadc1…

SQL实战

学习视频:【课程2.0】SQL从入门到实战|云端数据库搭建|Excel&Tableau连接数据库_哔哩哔哩_bilibili 由于我学习过SQL,所以直接记录一些函数、特殊用法、刷题等实战的知识,后面教学搭建云端数据库和其他软件连接数据库视频讲解很清晰&…

华为AR1220配置GRE隧道

1.GRE隧道的配置 GRE隧道的配置过程,包括设置接口IP地址、配置GRE隧道接口和参数、配置静态路由以及测试隧道连通性。GRE隧道作为一种标准协议,支持多协议传输,但不提供加密,并且可能导致CPU资源消耗大和调试复杂等问题。本文采用华为AR1220路由器来示例说明。 配置…

C语言家教记录(六)

导语 本次授课的内容如下:指针,指针和数组 辅助教材为 《C语言程序设计现代方法(第2版)》 指针 指针变量 计算机按字节划分地址,每个地址访问一个字节 指针变量指向变量的地址,指的是变量第一个字节的…

ElasticSearch读写性能调优

文章目录 ES写入数据过程ES读取数据的过程写数据底层原理提升集群读取性能数据建模优化分片 提升写入性能的方法服务器端优化写入性能建模时的优化降低Translog写磁盘的频率,但是会降低容灾能力分片设定调整Bulk 线程池和队列 ES写入数据过程 客户端选择一个node发…

记录一次搭建uniapp-vue3的基础项目

1.使用 HBuilder X 创建uniapp vue3的基础项目 2.安装 自动导包插件 unplugin-auto-import npm install unplugin-auto-import或者 pnpm install unplugin-auto-import2.1 根目录下创建 vite.config.js 复制粘贴以下内容 import { defineConfig } from vite import uni fro…

食品零食小吃商城管理系统-计算机毕设Java|springboot实战项目

🍊作者:计算机毕设匠心工作室 🍊简介:毕业后就一直专业从事计算机软件程序开发,至今也有8年工作经验。擅长Java、Python、微信小程序、安卓、大数据、PHP、.NET|C#、Golang等。 擅长:按照需求定制化开发项目…

一文学会本地部署可视化应用JSONCrack并配置公网地址实现远程协作

文章目录 前言1. Docker安装JSONCrack2. 安装Cpolar内网穿透工具3. 配置JSON Crack界面公网地址4. 远程访问 JSONCrack 界面5. 固定 JSONCrack公网地址 前言 本文主要介绍如何在Linux环境使用Docker安装数据可视化工具JSONCrack,并结合cpolar内网穿透工具实现团队在…

网络编程/在哪些场景中不必要进行网络字节序装换? Windows Sockets: Byte Ordering

文章目录 概述字节序必须转换字节序的的情况不必转换字节序的的情况字节序转换的例程字节序转换函数字节序转换可以不生硬字节序和位序 概述 本文主要讲述了在哪些场景下必须要进行大小端字节序转换,在哪些场景下可以不用进行大小端字节序转换,IP和端口…

<数据集>安全帽和安全背心识别数据集<目标检测>

数据集格式:VOCYOLO格式 图片数量:22141张 标注数量(xml文件个数):22141 标注数量(txt文件个数):22141 标注类别数:3 标注类别名称:[helmet, vest, head] 序号类别名称图片数框数1helmet15937572402v…

程序员如何写PLC程序

PLC是可编程逻辑控制器的简称,常用的编程语言是IEC61131-3(梯形图、结构化文本、指令表、功能块、顺序功能图)和西门子的SCL。程序员常用的编程语言是JS、Java、Python、C/C、Go等。PLC广泛采用编程工具有codesys、博图等。程序员常用的编程工…

XSS DOM破坏实战案例

目录 案例一 思考 源码分析 查找问题 实现 案例二 查看源码 问题查找 实现 实验环境:DOM clobbering | Web Security Academy (portswigger.net) 案例一 里面是一篇篇的博客,点击进去里面是一些评论 思考 尝试一些常规的xss 没什么效果... 他将…