GODOT游戏引擎简介,包含与unity性能对比测试,以及选型建议

在这里插入图片描述
GODOT,是一个免费开源的3D引擎。本文以unity作对比,简述两者区别和选型建议。由于是很久以前写的ppt,技术原因视频和部分章节丢失了。建议当做业务参考。
在这里插入图片描述
GODOT目前为止遇到3个比较重大的基于,第一个是oprea的合作奖,第二个是用支持c#换来的微软的投资,第三个是虚幻商城的支持
在这里插入图片描述
虽然我总结了一些特点(优点),但说到底最大的优势还是免费开源,MIT协议
在这里插入图片描述
GODOT是支持脚本混编的。不同语言支持程度不同,有些api不对其他语言支持。所以GDScript是绕不开的必学科目
在这里插入图片描述
此处不贴视频了。你可以去b站看,有很多。
在这里插入图片描述
godot的编辑器提供了开发流程所必要的工具链。比如调试工具profiler、可视化shader编辑器、帧动画编辑器、骨骼绑定编辑等。
与unity相比没什么太大差别,只是有些地方名称不同而已。比如资源树中,unity的每个对象都是gameobject,而godot是node。功能、用法都没毛区别
在这里插入图片描述
下面看看渲染性能表现。
测试方式:用比较经典(懒惰)的方式,递增物理方块同屏渲染
测试移动设备:小米平板4


以下是godot和unity在不同物体数量下的帧率对比:
在这里插入图片描述
3d渲染结论:unity不愧是3d手游首选引擎,3d渲染性能强悍,碾压godot。可以看到当场景中存在3000个物体后,unity还能达到18帧,而godot已经卡的上气不接下气
在这里插入图片描述
接着看看2d的渲染性能表现
在这里插入图片描述
在渲染2d物体时结论出现了翻转,在同屏渲染1500物体时,godot能到到51帧,而unity只有1帧。这是因为unity在2d渲染时,使用的是“伪渲染”,既物体本质是3d的。而godot是实打实的2d物体。

tips: 为毛看起来两个引擎的2d渲染性能看起来都不如3d ?
这是因为3d物体没有加贴图,所有像素的颜色值都是一个颜色,计算消耗仅是法线 * 颜色 * 光照。
而2d物体加了贴图,虽然每个方块看起都较小,但为了更快的展现效果贴了比较大的贴图。这样就增加了很多纹理寻址的性能消耗。

在这里插入图片描述
除了脚本语法的编写差异,其他差异基本都在表中。
还要补充一点,godot的android调试发包是必须加key的。这一点不如unity省事。

关于选型

1. GODOT更适合2d项目开发

这个结论来自于性能测试,2d渲染性能表现亮眼。在制作一些需要巨量渲染,诸如割草类型游戏的项目时,2d的优越渲染性能是唯一关注点。

2. GODOT更适合中级以上工程师参与开发

该结论来源于
1. godot的工具链虽然提供也比较完整,但质量偏下,bug层出不穷
2. 插件少、不全面且质量偏下
3. 版本更新较慢、社区支持有限
很多情况下需要开发者利用自身丰富的开发经验来填补引擎支持的不足和缺陷

3. GODOT适合对免费开源有强制需求的项目

godot使用mit协议,你可以任意修改底层代码进行商业销售。而其他引擎存在各种不易知道的暗坑和收费陷阱。比如unity,在某些硬件设备下需要对用户,对你没看错,是用户收取使用费。

4. GODOT更适合中小型项目开发

与其他成熟商业引擎相比,godot在社区活跃、插件广度、教程数量上都比较匮乏。在遇到比较尖锐的问题时,诸如图形缓存复用、黑屏定位时往往不会轻易找到解决办法。另外godot的编辑器质量堪忧,即使在最新的3.1版本也存在正常保存项目会损坏场景文件的情况。还有丢失资源时,偶尔还会出现无提示崩溃情况。这些都为大型项目带来不可预估的延期风险和开发难度。所以推荐中小型项目使用

没了

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

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

相关文章

13-把矩阵看作是对系统的描述

探索矩阵乘法:更深刻的理解与应用视角 🧩🔍 引言 📖 在我们进一步探讨矩阵乘法之前,让我们从不同的角度来理解什么是矩阵,以及如何将矩阵视为一个系统。我们之前已经介绍了矩阵的基本概念和运算&#xff…

手搓 自然语言模型 LLM 拆分em结构设计 网络参数对比

数据 数据集 新的em编码参数表 voc_sizehidden_sizetotaltotal Bmax_lensecondsdays65536512374865920.03749B10242560.2655361024828375040.08284B20485120.5655362048<

公检系统创新:利用校对软件优化法律文书流程

公检系统可以通过利用校对软件来优化法律文书的流程&#xff0c;从而提高效率和准确性。以下是在创新方面利用校对软件的一些方法&#xff1a; 1.自动校对和修正&#xff1a;校对软件可以与公检系统集成&#xff0c;自动检测文书中的拼写、语法和标点符号错误&#xff0c;并提供…

quill 富文本编辑器 @提及

使用插件quill-mention&#xff0c;实现在quill 富文本编辑器使用或#提及用户。 1. 安装 npm install quill-mention --save2. 官方给的示例quill-mention import "quill-mention";const atValues [{ id: 1, value: "Fredrik Sundqvist" },{ id: 2, va…

做嵌入式的门槛高吗,要996吗?

好像但凡编程序的&#xff0c;都有被称为IT工程师的可能&#xff0c;嵌入式&#xff08;软件&#xff09;自然而然在大家的眼中也是IT的范畴。作为IT届的标志性规则&#xff0c;996的确是基本每个互联网软件公司的标配。但是从我经历的几家嵌入式软件公司来看加班是必须有的&am…

【前端 | CSS】5种经典布局

页面布局是样式开发的第一步&#xff0c;也是 CSS 最重要的功能之一。 常用的页面布局&#xff0c;其实就那么几个。下面我会介绍5个经典布局&#xff0c;只要掌握了它们&#xff0c;就能应对绝大多数常规页面。 这几个布局都是自适应的&#xff0c;自动适配桌面设备和移动设备…

智慧防灾:数字孪生技术的应用

最近的“杜苏芮”“卡努”有没有对大家产生影响呢&#xff1f; 频繁发生的台风和其他自然灾害引起了人们对于灾害预防和应对的高度关注。在这种背景下&#xff0c;数字孪生作为一项前沿技术&#xff0c;为灾害预防领域提供了全新的解决方案。本文就带大家了解一下数字孪生技术…

数据要素市场之破四化建四化,拆墙又砌墙

摘要&#xff1a;8月8日&#xff0c;首届贵州科技节“2023数据要素流通关键技术论坛”在贵阳举行。此次论坛由贵州省科学技术协会指导&#xff0c;贵州省计算机学会主办&#xff0c;中国计算机学会贵阳会员活动中心、贵州轻工职业技术学院、贵州电子科技职业学院、贵州省大数据…

SSM——环境搭建、产品操作、订单操作

SSM 环境搭建与产品操作 1. 环境准备 1.1 数据库与表结构 1.1.1 创建用户与授权 数据库我们使用 Oracle Oracle 为每个项目创建单独 user &#xff0c; oracle 数据表存放在表空间下&#xff0c;每个用户有独立表空间 创建用户及密码 语法 [ 创建用户 ] &#xff1a; crea…

翻出了我当时学习的笔记来了html

php&#xff1a;高级语言 web应用程序 万维网 浏览器中查看 apache&#xff1a;服务器 mysql&#xff1a;数据库 html 标签 css&#xff1a;层叠样式表 javascript&#xff1a;客户端脚本 js jquery mysql数据库基础 php语法基础 面向对象&#xff08;物件&#xff09; smar…

Python爬虫遇到重定向问题解决办法汇总

在进行Python爬虫任务时&#xff0c;遇到重定向问题是常见的问题之一。重定向是指在发送请求时&#xff0c;服务器会返回一个新的URL&#xff0c;将请求重新定向到该URL。为了帮助您解决这个问题&#xff0c;本文将提供一些实用的解决办法&#xff0c;并给出相关的代码示例&…

如何设置 Eclipse Git 插件中的默认作者和提交者

1、git提交代码时默认带出Windows的系统用户 2、Window->Preferences->Team->Configuration->Add Entry 3、输入键值对&#xff08;user.name要设置的值&#xff09;&#xff08;user.email要设置的值&#xff09;->应用保存 4、应用后&#xff0c;再次提交代码…

【新】通达OA前台反序列化漏洞分析

0x01 前言 注&#xff1a;本文仅以安全研究为目的&#xff0c;分享对该漏洞的挖掘过程&#xff0c;文中涉及的所有漏洞均已报送给国家单位&#xff0c;请勿用做非法用途。 通达OA作为历史上出现漏洞较多的OA&#xff0c;在经过多轮的迭代之后已经很少前台的RCE漏洞了。一般来说…

Leetcode-每日一题【剑指 Offer 16. 数值的整数次方】

题目 实现 pow(x, n) &#xff0c;即计算 x 的 n 次幂函数&#xff08;即&#xff0c;xn&#xff09;。不得使用库函数&#xff0c;同时不需要考虑大数问题。 示例 1&#xff1a; 输入&#xff1a;x 2.00000, n 10输出&#xff1a;1024.00000 示例 2&#xff1a; 输入&#…

Go语言进阶

个人笔记&#xff0c;大量摘自Go语言高级编程、Go|Dave Cheney等 更新 go get -u all 在非go目录运行go install golang.org/x/tools/goplslatest更新go tools&#xff1a;在go目录运行go get -u golang.org/x/tools/...&#xff0c;会更新bin目录下的应用&#xff1b; 运行…

解决 Android Studio 的 Gradle 面板上只有关于测试的 task 的问题

文章目录 问题描述解决办法 笔者出问题时的运行环境&#xff1a; Android Studio Flamingo | 2022.2.1 Android SDK 33 Gradle 8.0.1 JDK 17 问题描述 笔者最近发现一个奇怪的事情。笔者的 Android Studio 的 Gradle 面板上居然除了用于测试的 task 之外&#xff0c;其它什…

浅谈JVM中的即时编译器(Just-In-Time compiler, JIT)

Java虚拟机&#xff08;JVM&#xff09;中的即时编译器&#xff08;Just-In-Time compiler, JIT&#xff09;是一个非常重要的组件&#xff0c;它负责将字节码转换为本地机器代码。在不使用JIT的情况下&#xff0c;JVM通过解释字节码来执行程序&#xff0c;这意味着它会为每个字…

安全作业-Race竞争型漏洞、原型链污染

1.race漏洞一直卡在虚拟机安装上(待研究) 2.原型链污染 一、第一题js代码 const express require(express) var hbs require(hbs); var bodyParser require(body-parser); const md5 require(md5); var morganBody require(morgan-body); const app express(); var use…

MySQL:表的约束和基本查询

表的约束 表的约束——为了让插入的数据符合预期。 表的约束很多&#xff0c;这里主要介绍如下几个&#xff1a; null/not null,default, comment, zerofill&#xff0c;primary key&#xff0c;auto_increment&#xff0c;unique key 。 空属性 两个值&#xff1a;null&am…

尚硅谷大数据项目《在线教育之采集系统》笔记004

视频地址&#xff1a;尚硅谷大数据项目《在线教育之采集系统》_哔哩哔哩_bilibili 目录 P047 P048 P049 P050 P051 P052 P053 P054 P055 P056 P047 /opt/module/datax/job/base_province.json [atguigunode001 ~]$ hadoop fs -mkdir /base_province/2022-02-22 [atgu…