当前位置: 首页 > news >正文

新兴游戏引擎Godot vs. 主流游戏引擎Unity和虚幻引擎,以及版本控制工具Perforce Helix Core如何与其高效集成

游戏行业出现一个新生事物——Godot,一个免费且开源的2D和3D游戏引擎。曾经由Unity和虚幻引擎(Unreal Engine)等巨头主导的领域如今迎来了竞争对手。随着最近“独特”定价模式的变化,越来越多的独立开发者和小型开发团队倾向于选择Godot作为他们的首选游戏引擎。

本文,我们将跟随游戏和媒体娱乐方面的技术推广专家Ryan一起,深入了解Godot引擎的功能和局限性,探讨Godot与主流游戏引擎Unity和虚幻引擎的不同之处,以及这些游戏引擎为何高度依赖于版本控制系统——Perforce Helix Core

在这里插入图片描述

Godot是什么?

Godot引擎是一个跨平台、免费和开源的游戏引擎,用于创建2D和3D游戏以及应用程序。在宽松的MIT许可下,使用Godot引擎的游戏开发者能够拥有他们整个游戏的所有权,甚至包括至引擎代码的最后一行,并且没有版税或附加条件。Godot以其独特的节点和场景架构而闻名,用于表示特定的游戏功能。

Godot最初由一家阿根廷游戏工作室在2002年开发,并于2014年以开源形式发布。与Unity和虚幻引擎相比,使用Godot制作的游戏通常具有更简单的图形,但我很欣赏独立开发者在这些限制内创建各种类型的游戏,其中我最喜欢的一些是Ex Zodiac和Helms of Fury。
图片

Godot引擎的功能

Godot以其简单直观的设计从其他游戏引擎中脱颖而出。下面我将介绍使得Godot日益受欢迎的主要特点。

Godot编辑器
Godot附带一个游戏编辑器,其中包括代码编辑器、动画编辑器、瓦片地图编辑器、着色器编辑器、调试器、分析器等。游戏开发人员使用游戏编辑器创建节点——Godot游戏的最小构建单元。

多个节点组合构建为一个场景。在Godot中,场景可以是角色、武器、房屋、关卡等任何东西。这些场景随后可以被制作成功能齐全的组件,设计师可以在编辑器中处理这些组件。

Godot编码工具
Godot的另一个特点是允许团队成员使用他们最熟悉的编程语言工作。使用Godot的游戏开发人员可以使用以下语言编写游戏代码:

GDScript:与Python类似,是Godot的集成脚本语言。适合编码不太熟练的初学者。
C#:一种流行的编程语言,也是Godot支持的主要语言之一。
C 或 C++:您可以在具有GDExtension技术的Godot中使用这些语言,以帮助您编写高性能的游戏代码。
Rust、Nim、Python和Javascript:Godot社区还为这些语言创建了语言绑定工具。

Godot引擎的优势

独立游戏开发者之所以越来越倾向于使用Godot代替Unity和虚幻引擎,有诸多原因。在这里,我将深入探讨Godot最令开发人员兴奋的几项优势。

Godot是2D和3D游戏的理想选择
Godot主要用于创建2D和3D游戏,具有专用于2D和3D的独立引擎。通过专用的2D管线,可以简化游戏逻辑,并以像素和屏幕坐标进行工作。此外,Godot内置的瓦片地图编辑器使得在2D世界中创建关卡变得简单且省时。

借助Godot,开发人员可以为各种设备创建3D游戏,包括台式电脑和中端Android手机。Godot还简化了导入3D模型的过程,可以直接将Blender文件导入到Godot编辑器中。

Godot是开源且免费使用的
Godot的一个显著优势是它在MIT许可下完全免费,无需额外费用或合同,使得创作者对他们在引擎中构建的游戏拥有全部所有权。

此外,由于Godot是开源的,用户在遇到任何问题时都可以轻松查找源代码。用户还可以添加插件工具或扩展引擎,以创建他们想要构建的游戏。

对于没有AAA工作室预算和资源的独立游戏及小型团队来说,这些都是改变游戏规则的功能。如果未来几年有更多免费和开源的游戏引擎出现——尤其是当游戏开发者开始寻找Unity和虚幻引擎的替代品时——我不会感到惊讶。

Godot由社区驱动
由于活跃的社区论坛,Godot开发人员优先考虑开发能够使大多数用户受益的功能。此外,由于Godot是开源的,来自Godot社区的600多名贡献者致力于优化和调试引擎。

Godot容易入门
一些流行引擎需要超过40GB的存储空间,我可以证实,即使像虚幻引擎或Unity这样的引擎也可能需要很久的加载时间,具体取决于您使用的计算机,以及您是否拥有编辑器的原始/未编译版本。另一方面,Godot的原生编辑器只有8GB的下载大小,便于轻松快速地构建游戏。
图片

Godot与Unity

Unity是最受欢迎的游戏引擎之一,当开发人员考虑在哪里构建游戏时,它通常是Godot的有力竞争对手。Unity由Unity Technologies开发,是一款跨行业使用的游戏引擎,在Android开发移动游戏方面享有盛誉。

与Godot类似,Unity的优势在于其开发2D和3D游戏的能力。无论是在Unity还是Godot内工作的开发人员,都可以使用C#编程语言来构建他们的游戏。

如果您在使用Godot或Unity制作下一款游戏之间进行权衡,需要考虑以下因素:

Unity采用分层定价模型和运行时费用
无论团队规模如何,Godot赋予创作者对其游戏的全部所有权。而Unity采用货币化模型,在该模型下,个人和小型组织可以免费使用Unity Personal,直达团队达到一定的收入门槛。此外,Unity还为学生提供免费选项。

对于规模较大的团队、企业和组织,他们可能需要使用较为昂贵的Unity Pro、Unity Enterprise 或 Unity Industry。此外,对于这些在付费计划中创建的用户,在游戏超过一定收入门槛后,他们可能需要支付Unity运行时费用。定价模式与Unity运行时费用相结合,是我看到游戏开发者不选择Unity的主要原因之一。

Unity拥有更广泛的资源
与Unity相比,Godot的社区更小,可用的资源和教程也更少。而Unity团队创建了大量资源,包括电子书、报告、案例研究和网络研讨会。

此外,Unity Asset Store拥有超过70,000个软件包,开发人员可以免费获取或购买以用于游戏开发。相比之下,Godot Asset Library只有不到3,000个资源,社区贡献较少。
图片

Godot与虚幻引擎

Godot另一个常见替代方案是虚幻引擎(Unreal Engine)。虚幻引擎由Epic Games于1998年开发,文档完善且易于使用,使其成为游戏和虚拟制片开发的主要工具。与Godot类似,虚幻引擎非常适用于构建3D游戏,并拥有活跃的社区论坛,开发人员可以在其中分享最佳实践。
下面我将探讨Godot与虚幻引擎的一些不同之处。

虚幻引擎是程序员和设计师的理想之选
虚幻引擎以其直观的蓝图可视化脚本系统脱颖而出,对设计师而言更加友好且易于使用。使用虚幻引擎的程序员也可以使用C++来构建游戏,使UE成为两者都友好的引擎。

相比2D和手机游戏,虚幻引擎更适合3D游戏
Godot引擎的核心优势之一是能够创建高质量的2D和3D游戏,并为它们提供不同的引擎。尽管虚幻引擎确实有Paper 2D——一个基于sprite的2D游戏系统,但它的优势在于能够创建3D游戏和模型的能力。

虚幻引擎广泛用于电影和动画
Godot引擎的影音制作模式和动画功能使其能够用于电影和动画的制作,但这些都是较新的功能,使用较少。相比之下,虚幻引擎已被用于制作超过550部重要电影和电视剧集。此外,虚幻引擎5(UE5)使虚拟制片变得更加容易,让业余爱好者和初学者都能够创建高质量的图形和媒体。
虚幻引擎已经颠覆了媒体和娱乐行业,并真正处于突破性变革的边缘。基于我在游戏行业的经验,看到游戏引擎技术在各行各业的转型和广泛应用,真是令人难以置信。艺术家/开发者等人才现在可以转换于各个行业,因为工具链是相似的。
图片

Godot和Perforce

无论您是在权衡Godot与Unity,还是Godot与虚幻引擎,您都需要一个合适的基石来无限创作。许多使用Godot、Unity和虚幻引擎的团队都依赖于像Perforce Helix Core 这样的版本控制系统,来存储和跟踪所有数字资产的更改。

Perforce Helix Core是极具可扩展性的版本控制工具
在20家顶尖AAA级游戏工作室、独立团队和屡获殊荣的视觉特效(VFX)公司中,有19家客户高度信赖Perforce Helix Core版本控制工具。它以无与伦比的性能、安全性和可扩展性对大量数据的更改(从源代码到二进制文件再到IP)进行跟踪和管理。

Perforce Helix Core可以与您已经使用的游戏引擎和工具进行集成。虽然目前尚未与Godot直接集成,但Helix Core的桌面客户端—Helix Sync,允许您同步文件并简单地拖放文件以快速对任何类型的资产进行版本控制。此外,您可以使用API将Helix Core与您喜欢的任何工具集成。

您还可以使用我们设计用于整个团队的数字创作工具套件来扩展Helix Core。这些工具深受当今领先工作室的信赖,可以为您的艺术团队提供3D资产管理(Helix DAM)方面的新功能,或帮助您的制片人创建一个计划(Helix Plan)以在您的导演、合作伙伴和投资者之间共享。

现在,使用Perforce Helix Core 打造下一个热门游戏吧!

作者简介:Ryan L’Italien , Perforce
Ryan是Perforce版本控制产品组合在游戏和媒体娱乐方面的技术推广专家。拥有15年的全栈开发人员经验,致力于为各种规模的公司解决工作流和集成DevOps的挑战。

文章来源:https://bit.ly/3W2W8So

了解如何为游戏引擎配置Perforce Helix Core,立即联系Perforce中国授权合作伙伴——龙智,可申请免费试用:
官网:www.shdsd.com
电话:400-666-7732
邮箱:marketing@shdsd.com

相关文章:

新兴游戏引擎Godot vs. 主流游戏引擎Unity和虚幻引擎,以及版本控制工具Perforce Helix Core如何与其高效集成

游戏行业出现一个新生事物——Godot,一个免费且开源的2D和3D游戏引擎。曾经由Unity和虚幻引擎(Unreal Engine)等巨头主导的领域如今迎来了竞争对手。随着最近“独特”定价模式的变化,越来越多的独立开发者和小型开发团队倾向于选择…...

Leetcode—1652. 拆炸弹【简单】

2024每日刷题&#xff08;127&#xff09; Leetcode—1652. 拆炸弹 实现代码 class Solution { public:vector<int> decrypt(vector<int>& code, int k) {int codeSize code.size();vector<int> ans(codeSize, 0);if(k 0) {return ans;}if(k > 0)…...

JAVASE---抽象类相关

instanceof 和类型转换 System.out.println(X instanceof Y );主要看X与Y之间是否存在父子&#xff08;继承&#xff09;关系&#xff0c;如果存在则编译可完成&#xff0c;否则无法 进行编译。 1.父类引用指向子类的对象 2.把子类转换为父类&#xff0c;向上转型; 3.把父类转…...

深入理解C++中的inline函数

在C编程中&#xff0c;我们经常会遇到inline关键字&#xff0c;它用于修饰函数&#xff0c;以建议编译器将该函数的调用替换为函数体的直接拷贝。这就是inline函数的基本概念。然而&#xff0c;inline函数并非真正意义上的函数&#xff0c;而只是一种"在调用点插入函数体&…...

Rust 动态数组Vector

导航 一、动态数组是什么&#xff0c;怎么用1、动态数组Vector是什么2、动态数组怎么用&#xff08;1&#xff09;创建动态数组&#xff08;2&#xff09;尾部追加元素&#xff08;3&#xff09;尾部删除元素&#xff08;4&#xff09;删除指定位置元素&#xff08;5&#xff0…...

Linux主机重启后报错:[FAILED] Failed to start Switch Root.

一、问题描述 某次云主机因计费问题&#xff0c;导致批量重启&#xff0c;重启后发现某台云主机竟进入紧急救援模式&#xff08;emergency模式&#xff09;&#xff0c;如下所示&#xff1a; 二、原因及处理 1&#xff09;原因&#xff1a;加载根分区失败&#xff0c;导致无…...

git--.gitignore--使用/详解/实例

简介 本文介绍git的.gitignore忽略文件的用法。 项目中并不是所有文件都需要保存到版本库中的&#xff0c;例如“target”目录及目录下的文件就可以忽略。 忽略某个文件&#xff08;不提交到版本库的方法&#xff09;&#xff1a;在Git工作区的根目录下创建一个.gitignore文件…...

初识java——javaSE(2)--运算符与逻辑控制【求个关注】

文章目录 一 运算符1.1 算术运算符当两个不同类型的值相加时&#xff1a;/ 运算符%运算符 1.2 关系运算符1.3 逻辑运算符短路&#xff1a;逻辑非 1.4 位运算符&|^位运算符当作逻辑运算符中使用 ~>><<>>> 1.5 赋值运算符1.6 三目运算符 二 逻辑控制if语…...

JAVA前端快速入门基础_javascript入门(02)

写在前面:本文用于快速学会简易的JS&#xff0c;仅做扫盲和参考作用 1.JavaScript函数 什么是函数:执行特定任务的代码块 1.1定义&#xff1a; 使用function来进行定义(类似于python里面的def 或者java和c里面的void&#xff0c;int这些返回类型开头)。定义规则如下: func…...

【热门话题】ElementUI 快速入门指南

&#x1f308;个人主页: 鑫宝Code &#x1f525;热门专栏: 闲话杂谈&#xff5c; 炫酷HTML | JavaScript基础 ​&#x1f4ab;个人格言: "如无必要&#xff0c;勿增实体" 文章目录 ElementUI 快速入门指南环境准备安装 ElementUI创建 Vue 项目安装 ElementUI 基…...

webpack4和webpack5区别4---自动清除打包目录

webpack4 自动清除打包目录 需要使用clean-webpack-plugin插件 const {CleanWebpackPlugin} require(clean-webpack-plugin); module.exports {plugins: [new CleanWebpackPlugin()} } webpack5 自动清除打包目录 module.exports {output: {clean: true} }...

npm许可证检查

node开发做项目&#xff0c;很少有人去纯手工打造&#xff0c;大多是采用一些开源框架&#xff0c;还会使用前人做好的轮子&#xff0c;所以咱们的项目文件里&#xff0c;除了自己编写的js文件&#xff0c;还会带有一些拿来主义的npm模块&#xff0c;从其他开源发布网站上下载的…...

利用AI大模型和Echarts 绘制知识图谱,实现文本信息提取和图数据库操作

引言 随着信息时代的到来&#xff0c;海量的文本数据成为了我们获取知识的重要来源。然而&#xff0c;如何从这些文本数据中提取出有用的信息&#xff0c;并将其以可视化的方式展示出来&#xff0c;一直是一个具有挑战性的问题。近年来&#xff0c;随着人工智能技术的发展&…...

Telegram电报+86手机接收验证码及账号解封方法

Telegram电报86手机无法接受验证码目前可用Telegram X获取&#xff0c;测试可用。获取验证码的前提是需要确保网络通畅 不要同一时段获取超过太多验证码&#xff0c;获取过多验证码将会很长一段时间收不到验证码&#xff0c;6小时最多获取2次验证码。 方法1&#xff1a;使用官…...

迅饶科技 X2Modbus 网关 AddUser 任意用户添加漏洞复现

0x01 产品简介 X2Modbus是上海迅饶自动化科技有限公司Q开发的一款功能很强大的协议转换网关, 这里的X代表各家不同的通信协议, 2是T0的谐音表示转换, Modbus就是最终支持的标准协议是Modbus协议。用户可以根据现场设备的通信协议进行配置,转成标准的Modbus协议。在PC端仿真…...

基于YOLOv8+PyQt5复杂场景下船舶目标检测系统

1. 应用场景 复杂场景下船舶目标检测系统的应用场景包括&#xff1a; 港口管理和安全&#xff1a;监控港口区域&#xff0c;确保船舶安全地进出港口&#xff0c;预防相撞事故的发生。 海洋交通监控&#xff1a;实时追踪海上交通流&#xff0c;并识别违规或异常航行行为&#x…...

Spring Boot | Spring Security ( SpringBoot安全管理 )、Spring Security中 的 “自定义用户认证“

目录 : Spring Boot 安全管理 &#xff1a;一、Spring Security 介绍二、Spring Security 快速入门2.1 基础环境搭建 :① 创建Spring Boot 项目② 创建 html资源文件③ 编写Web控制层 2.2 开启安全管理效果测试 :④ 添加 spring-boot-starter-security 启动器⑤ 项目启动测试 三…...

力扣经典150题第五十五题:逆波兰表达式求值

目录 题目描述和要求示例解释解题思路算法实现复杂度分析测试和验证总结和拓展参考资料 题目描述和要求 给你一个字符串数组 tokens&#xff0c;表示一个根据逆波兰表示法表示的算术表达式。请你计算该表达式&#xff0c;并返回一个表示表达式值的整数。 注意&#xff1a; 有…...

C#队列(Queue)的基本使用

概述 在编程中&#xff0c;队列&#xff08;Queue&#xff09;是一种常见的数据结构&#xff0c;它遵循FIFO&#xff08;先进先出&#xff09;的原则。在C#中&#xff0c;.NET Framework提供了Queue<T>类&#xff0c;它位于System.Collections.Generic命名空间下&#x…...

预训练模型介绍

一、什么是GPT GPT 是由人工智能研究实验室 OpenAI 在2022年11月30日发布的全新聊天机器人模型, 一款人工智能技术驱动的自然语言处理工具 它能够通过学习和理解人类的语言来进行对话, 还能根据聊天的上下文进行互动,能完成撰写邮件、视频脚本、文案、翻译、代码等任务 二、 为…...

Pandas入门篇(三)-------数据可视化篇3(seaborn篇)(pandas完结撒花!!!)

目录 概述一、语法二、常用单变量绘图1. 直方图&#xff08;histplot&#xff09;2. 核密度预估图&#xff08;kdeplot&#xff09;3. 计数柱状图&#xff08;countplot&#xff09; 三、常用多变量绘图1.散点图(1) scatterplot(2)regplot 散点图拟合回归线(3)jointplot 散点图…...

SpringBoot中阿里OSS简单使用

官方文档:Java跨域设置实现跨域访问_对象存储(OSS)-阿里云帮助中心 1.pom中引入依赖 <dependency><groupId>com.aliyun.oss</groupId><artifactId>aliyun-sdk-oss</artifactId><version>3.15.1</version> </dependency> 如…...

websocket简介

服务端推送消息给浏览器 WebSocket 教程 - 阮一峰的网络日志...

Linux的shell外壳

Shell外壳 在计算机领域&#xff0c;“shell”&#xff08;外壳&#xff09;是指一种用户界面&#xff0c;提供了访问操作系统服务的方式。Shell 是用户与操作系统之间的桥梁&#xff0c;它解释并执行用户输入的命令。 Shell 的主要功能包括&#xff1a; 命令解释&#xff1a…...

支付宝支付流程

第一步前端&#xff1a;点击去结算&#xff0c;前端将商品的信息传递给后端&#xff0c;后端返回一个商品的订单号给到前端&#xff0c;前端将商品的订单号进行存储。 对应的前端代码&#xff1a;然后再跳转到支付页面 // 第一步 点击去结算 然后生成一个订单号 // 将选中的商…...

打招呼得不到回复,跟头像还有关系?

现在很多人有个想法,那就是觉得某些公司是不是为了某些目的才往出发的招聘信息啊,其实他们并不需要招聘新员工。 目录 已读不回? 头像很重要 选择自己的精修照片 已读不回? 很有这种可能,但你细心观察会发现,的确有很多大公司,...

【网络原理】HTTPS 的工作过程

系列文章目录 【网络通信基础】网络中的常见基本概念 【网络编程】网络编程中的基本概念及Java实现UDP、TCP客户端服务器程序&#xff08;万字博文&#xff09; 【网络原理】UDP协议的报文结构 及 校验和字段的错误检测机制&#xff08;CRC算法、MD5算法&#xff09; 【网络…...

Python语言在地球科学中地理、气象、气候变化、水文、生态、传感器等数据可视化到常见数据分析方法的使用

Python是功能强大、免费、开源&#xff0c;实现面向对象的编程语言&#xff0c;Python能够运行在Linux、Windows、Macintosh、AIX操作系统上及不同平台&#xff08;x86和arm&#xff09;&#xff0c;Python简洁的语法和对动态输入的支持&#xff0c;再加上解释性语言的本质&…...

【JVM】class文件格式,JVM加载class文件流程,JVM运行时内存区域,对象分配内存流程

这篇文章本来只是想讲一下class文件格式&#xff0c;讲着讲着越讲越多。JVM这一块吧&#xff0c;知识比较散比较多&#xff0c;如果深研究下去如死扣《深入理解Java虚拟机》&#xff0c;这本书很深很细&#xff0c;全记住是不可能的&#xff0c;其实也没必要。趁这个机会直接把…...

GPU系列(六)-NVIDIA GPU 驱动安装

1. 安装驱动 1.1 查看系统是否识别显卡 lspci | grep -i vga03:00.0 VGA compatible controller: NVIDIA Corporation GP102 [TITAN X] (rev a1) 0a:00.0 VGA compatible controller: Matrox Electronics Systems Ltd. G200eR2 (rev 01) 识别出显卡为 NVIDIA 的 TITAN X。 …...

做网站白云/查询seo

https://vjudge.net/problem/POJ-1125 题意&#xff1a; 题意不是很好理解&#xff0c;首先输入一个n&#xff0c;表示有n个股票经纪人&#xff0c;接下来输入n行&#xff0c;每行第一个数m为该股票经纪人认识的经纪人数&#xff0c;然后输入m对数&#xff08;a&#xff0c;t&a…...

大型网站维护费用/制作公司网站的步骤

繁花如伊我和您有相同的问题&#xff0c;或者至少症状是相同的。背景&#xff1a;我正在使用Windows计算机本地安装的Rails 3&#xff0c;mysql2 gem和MySQL社区服务器版本5.5.21(32位)。我libmysql.dll从MySQL安装中获取了客户端库()&#xff0c;并将其复制到了ruby安装的bin文…...

简洁手机导航网站模板下载安装/新闻发布会稿件

Centos 通过yum安装(RPM分发进行安装)MySQL的几个人默认目录如下&#xff1a;目录目录内容/usr/bin客户端程序和脚本/usr/sbinmysqld服务器/var/lib/mysql日志文件&#xff0c;数据库文件/usr/share/mysql错误消息和字符集文件/etc/my.cnf配置文件假如要把目录移到/home/data下…...

佛山企业网站建设电话/国际机票搜索量大涨

https://blog.csdn.net/qq_34337272/article/details/81072874 http://c.biancheng.net/view/4603.html https://blog.csdn.net/qq_33764491/article/details/81083644 mysql默认可重复读事物隔离级别行级锁足够用了&#xff0c;但是为了效率&#xff0c;经常降低隔离级别为r…...

做企业内部管理网站要多久/中国十大seo公司

转载自 https://www.jianshu.com/p/6a792118fae4 (一)前言 React Native开发使用到微信好友或者微信朋友圈分享功能&#xff0c;闲来没事写一下&#xff0c;需要的可以看下 (二)应用申请审核 首先微信开发平台去注册账号并且创建一个移动应用。(地址:https://open.weixin.…...

河南怎样做网站推广/网络推广哪家好

这里是修真院后端小课堂&#xff0c;每篇分享文从 【背景介绍】【知识剖析】【常见问题】【解决方案】【编码实战】【扩展思考】【更多讨论】【参考文献】 八个方面深度解析后端知识/技能&#xff0c;本篇分享的是&#xff1a; 【MAVEN 跳过 JUNIT TEST 的几种姿势 】 PPT 链…...