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.hqwc.cn/news/54513.html

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

相关文章

JNI之Java实现蓝牙交互

蓝牙概述 蓝牙,是一种支持设备短距离通信(一般10m内)的无线电技术,能在包括移动电话、PDA、无线耳机、笔记本电脑、相关外设等众多设备之间,通过蓝牙设备之间的无线通信实现数据传输,实现数据传输&#xf…

中国政府版 Windows 10 开发完成,即将大规模推广

早在今年 3 月 20 日,就有媒体曝光中国政府专用 Windows 10 已经完成第一版。而就在今天微软在上海举办的发布会中,微软再次透露了中国政府版 Windows 10 的最新情况——已经开始试点测试。这就意味着政府版 Windows 10 或很快大规模推广。 据了解&#…

FFmpeg中硬解码后深度学习模型的图像处理dnn_processing(一)

ffmpeg 硬件解码 ffmpeg硬件解码可以使用最新的vulkan来做,基本上来说,不挑操作系统是比较重要的,如果直接使用cuda也是非常好的选择。 AVPixelFormat sourcepf AV_PIX_FMT_NV12;// AV_PIX_FMT_NV12;// AV_PIX_FMT_YUV420P;AVPixelFormat d…

【java安全】CommonsBeanUtils1

文章目录 【java安全】CommonsBeanUtils1前言Apache Commons BeanutilsBeanComparator如何调用BeanComparator#compare()方法?构造POC完整POC 调用链 【java安全】CommonsBeanUtils1 前言 在之前我们学习了java.util.PriorityQueue,它是java中的一个优…

计算机视觉与图形学-神经渲染专题-Seal-3D(基于NeRF的像素级交互式编辑)

摘要 随着隐式神经表示或神经辐射场 (NeRF) 的流行,迫切需要与隐式 3D 模型交互的编辑方法,以完成后处理重建场景和 3D 内容创建等任务。虽然之前的作品从不同角度探索了 NeRF 编辑,但它们在编辑灵活性、质量和速度方面受到限制,无…

海外媒体发稿:软文写作方法方式?一篇好的软文理应合理规划?

不同种类的软文会有不同的方式,下面小编就来来给大家分析一下: 方法一、要选定文章的突破点: 所说突破点就是这篇文章文章软文理应以什么样的视角、什么样的见解、什么样的语言设计理念、如何文章文章的标题来写。不同种类的传播效果&#…

ubuntu搭建wifi热点,共享网络(x86、arm相同)

目录 1 首先检查网络管理器服务是否开启 (ubuntu需要界面) 2 创建并配置需要共享的wifi 首先,明确下这篇文章说的是啥,是为了在ubuntu系统的电脑上,搭建一个wifi热点,供其他移动设备连接上网。就像你…

【Android】控件与布局入门 - 简易计算器

目录 1. 基础开发环境 2. 计算器的布局和相关按钮 3. 计算器的主要运算逻辑 4. APK 文件 5. 项目源码 1. 基础开发环境 JDK:JDK17 Android Studio:Android Studio Giraffe | 2022.3.1 Android SDK:Android API 34 Gradle: gradle-8.0-bi…

MySQL5.7源码编译Debug版本

编译环境Ubuntu22.04LTS 1 官方下载MySQL源码 https://dev.mysql.com/downloads/mysql/?spma2c6h.12873639.article-detail.4.68e61a14ghILh5 2 安装基础软件 cmakeclangpkg-configperl 参考:https://dev.mysql.com/doc/refman/5.7/en/source-installation-prere…

LeetCode-Java(05)

19. 删除链表的倒数第 N 个结点 两个方法,方法一是先走一遍链表得出链表长度,再走第二遍,找到倒数第n个数。方法二是双指针,首先快指针就比慢指针多走n步,然后这俩指针同步走,快指针走到头了,慢…

uni-app、H5实现瀑布流效果封装,列可以自定义

文章目录 前言一、效果二、使用代码三、核心代码总结 前言 最近做项目需要实现uni-app、H5实现瀑布流效果封装,网上搜索有很多的例子,但是代码都是不够完整的,下面来封装一个uni-app、H5都能用的代码。在小程序中,一个个item渲染…

redis缓存雪崩和缓存击穿

目录 缓存雪崩 解决方案: 缓存击穿 ​解决方案 缓存雪崩 缓存雪崩是指在同一时段大量的缓存key同时失效或者Redis服务宕机,导致大量请求到达数据库,带来巨大压力。 解决方案: u 给不同的 Key 的 TTL 添加随机值 u 利用 Redis …