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

news2024/11/22 21:30:08

游戏行业出现一个新生事物——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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux驱动开发——(七)Linux阻塞和非阻塞IO

目录 一、阻塞和非阻塞IO简介 二、等待队列 2.1 等待队列头 2.2 等待队列项 2.3 将队列项添加/移除等待队列头 2.4 等待唤醒 2.5 等待事件 三、轮询 四、驱动代码 4.1 阻塞IO 4.2 非阻塞IO 一、阻塞和非阻塞IO简介 IO指的是Input/Output,也就是输入/输…

Docker常见问题排查思路与实战

Docker作为一种流行的容器化技术,已经在众多场景中得到广泛应用。然而,在使用过程中,我们难免会遇到各种问题。本文将介绍一些常见的Docker问题及其排查思路,并通过实战案例帮助大家更好地理解和应对这些挑战。 1. Docker容器启动…

第⑰讲:Ceph集群各组件的配置参数调整

文章目录 1.Ceph集群各组件的配置文件1.1.Ceph各组件配置方式1.2.ceph临时查看、修改配置参数的方法 2.调整Monitor组件的配置参数删除Pool资源池2.1.临时调整配置参数2.2.永久修改配置参数 1.Ceph集群各组件的配置文件 1.1.Ceph各组件配置方式 Ceph集群中各个组件的默认配置…

【linux高性能服务器编程】项目实战——仿QQ聊天程序源码剖析

hello !大家好呀! 欢迎大家来到我的Linux高性能服务器编程系列之项目实战——仿QQ聊天程序源码剖析,在这篇文章中,你将会学习到如何利用Linux网络编程技术来实现一个简单的聊天程序,并且我会给出源码进行剖析&#xff…

Flutter应用下拉菜单设计DropdownButtonFormField控件介绍

文章目录 DropdownButtonFormField介绍使用方法重点代码说明属性解释 注意事项 DropdownButtonFormField介绍 Flutter 中的 DropdownButtonFormField 是一个用于在表单中选择下拉菜单的控件。它是 DropdownButton 和 TextFormField 的组合,允许用户从一组选项中选择…

使用工具速记

文章目录 一、sqlyoy登录账号信息迁移二、idea导入之前的已配置的idea信息三、设置windows UI大小四、其他 提示:以下是本篇文章正文内容,下面案例可供参考 一、sqlyoy登录账号信息迁移 工具(sqlyog上面菜单栏)->导入导出详情->选择要导出的账号…

day03-(docker)

文章目录 DockerDocker和虚拟机的差别docker在linux安装配置镜像命令容器命令介绍Docker-容器(基本操作)docker基本操作(数据卷)数据卷挂载直接挂载四.Dockerfile自定义镜像五.Docker-Compose 安装修改权限镜像仓库![在这里插入图…

Vscode上使用Clang,MSVC, MinGW, (Release, Debug)开发c++完全配置教程(包含常见错误),不断更新中.....

1.VSCode报错头文件找不到 clang(pp_file_not_found) 在Fallback Flags中添加 -I(是-include的意思,链接你的编译器对应头文件地址,比如我下面的是MSVC的地址) 问题得到解决~

Docker基本操作 容器相关命令

docker run:运行镜像; docker pause:暂停容器,会让该容器暂时挂起; docker unpauser:从暂停到运行; docker stop:停止容器,杀死进程; docker start:重新创建进程。 docker ps:查看所有运行的容器及其状态,默认只展…

城市建筑轮廓矢量边界、建设用地数据、城市道路网分布、城市土地利用规划分布、土地利用数据、城市绿地分布

数据下载链接:数据下载链接 中国主要城市建筑底面轮廓和建筑高度空间分布数据,包括省会城市、地级市及县级市等主要城市。城市建筑底面轮廓和建筑高度数据,数据坐标为 WGS84地理坐标, 数据格式为 SHP 文件。数据范围基本覆盖城市…

OceanBase开发者大会实录 - 阳振坤:云时代的数据库

本文来自2024 OceanBase开发者大会,OceanBase 首席科学家阳振坤的演讲实录——《云时代的数据库》。完整视频回看,请点击这里 >> 在去年的开发者大会中,我跟大家分享了我对数据库产品和技术一些看法,包括单机分布式一体化&…

openjudge_2.5基本算法之搜索_200:Solitaire

题目 200:Solitaire 总时间限制: 5000ms 单个测试点时间限制: 1000ms 内存限制: 65536kB 描述 Solitaire is a game played on a chessboard 8x8. The rows and columns of the chessboard are numbered from 1 to 8, from the top to the bottom and from left to right resp…

maven-idea新建和导入项目

全局配置 新建项目 需要新建的文件夹 src/testsrc/test/javasrc/main/java 注:1、新建Java-class,输入.com.hello.hellomaven 2、快捷键psvm显示 public static void main(String[] args) {.... } package com.hello;public class hellomaven {publ…

Java-字符集和字符编码-roadmap

1 需求 2 接口 3 示例 4 参考资料 「烫烫屯屯锟斤拷」揭秘ASCII、GBK、UTF-8,B站独家,一听就懂_哔哩哔哩_bilibili 非常详细的字符编码讲解,ASCII、GB2312、GBK、Unicode、UTF-8等知识点都有_哔哩哔哩_bilibili 你懂乱码吗?锟斤…

Feign负载均衡

Feign负载均衡 概念总结 工程构建Feign通过接口的方法调用Rest服务(之前是Ribbon——RestTemplate) 概念 官网解释: http://projects.spring.io/spring-cloud/spring-cloud.html#spring-cloud-feign Feign是一个声明式WebService客户端。使用Feign能让…

Vitis HLS 学习笔记--Syn Report解读(1)

目录 1. 介绍 2. 示例一 2.1 HLS 代码 2.2 Report 解读 2.2.1 General Information 2.2.2 Timing Estimate 2.2.3 Performance & Resource Estimates 2.2.4 HW interfaces 2.2.4.1 硬件接口报告 2.2.4.2 导出至 Vivado 中的 IP 2.2.4.3 Port-Level Protocols 端…

【小梦C嘎嘎——启航篇】C++四大类型转换

😎 前言🙌C四大类型转换什么是类型转换C语言中的类型转换为什么C要嫌弃C语言的类型转换?自行搞一套呢?C强制类型转换1、static_cast2、reinterpret_cast3、const_cast4、dynamic_cast为什么要支持向下转呢? RTTI 总结撒…

C++之STL-list+模拟实现

目录 一、list的介绍和基本使用的方法 1.1 list的介绍 1.2 list的基本使用方法 1.2.1 构造方法 1.2.2 迭代器 1.2.3 容量相关的接口 1.2.4 增删查改的相关接口 1.3 关于list迭代器失效的问题 二、模拟实现list 2.1 节点类 2.2 迭代器类 2.3 主类list类 2.3.1 成员变…

yolov8 dll 编译

1. 每次用yolo v8 都要用python ,对于我这种写软件的太不方便了,下面尝试编译dll 调用, 我已经有做好的模型.best.pt 参考视频方法: yolov8 TensorRT C 部署_哔哩哔哩_bilibili 【yolov8】tensorrt部署保姆级教程,c版_哔哩哔哩_bilibili 需…

C语言基础知识笔记——万字学习记录

Hi,大家好,我是半亩花海。本文主要参考浙大翁恺老师的C语言讲解以及其他博主的C语言学习笔记,进而梳理C语言的基础知识,为后续系统性学习数据结构和其他语言等知识夯实一定的基础。(其他博主学习笔记的链接包括&#x…