Godot

news2025/1/15 20:50:30

前言

为什么要研究开源引擎

主要原因有:

  1. 可以享受“信创”政策的红利,非常有利于承接政府项目。中美脱钩背景下,国家提出了“信创”政策。这个政策的核心就是,核心技术上自主可控。涉及的产业包括:芯片、操作系统、数据库、游戏引擎等。为什么游戏引擎能入选?首先,游戏引擎早已超出了只能制作游戏的范畴,数字孪生、仿真、军事模拟和训练、数字城市大脑等都需要游戏引擎。其次,我国游戏行业年营收接近3000亿,经济安全也是国家安全。
  2. 商业引擎的收费标准在大幅提升。近期,两大游戏引擎商业巨头Unity和虚幻引擎都大幅度提升了引擎授权费用,对研发公司带来很大的经济压力。Godot 是免费引擎,并且是通过 MIT 许可的开源软件。没有版税,没有订阅费。
  3. 容易深度定制化开发。Unity不开源;虚幻引擎虽然开源,但是代码量太大,很难定制化开发。开源引擎一般来说比较轻量,方便扩展功能和优化。这样就可以集中力量单点突破,在局部上形成对商用引擎的碾压式的优势。

为什么要Godot

工作以来,深度研究和使用过的开源引擎不少,例如cocos2d-x、Ogre、Urho3D、Godot等。关注过的引擎也不少,包括OSG、Panda、Irrlicht等。综合下来,唯独Godot没有明显的短板,跟商业引擎最为接近。最重要的指标包括:编辑器的易用性、工具链的完整性、开发社区的活跃程度、效果、性能、跨平台等。另外,综合评分也非常高。

Godot的优势:

  1. 完全免费,MIT协议,甚至你只需要改一行代码就宣称自己的引擎。
  2. 这不是美国公司开发的,以后能做政府项目。
  3. 轻量,特别适合想深入研究底层技术的人。Unity不开源,另外即使公司购买了源码,由于不开源也只能自己研究,因为形不成社区。UE开源,但太重。都不适合新手学习。
  4. 渲染器以支持Vulkan为主,能充分发挥Vulkan的性能优势。
  5. 没有短板。用过或者调研过不下十种引擎,都有短板。比如,OGRE只是个渲染引擎,想做项目必须整合各种第三方的插件;Urho3D只有一个简单的编辑器。

官方的游戏demo,已经支持4.0 dev。

https://github.com/godotengine/tps-demo.git

引擎特性

编辑器

跨平台

支持的平台非常广泛,包括Windows、Linux、MacOS、Android、iOS、Web等。

媲美商业引擎的渲染效果

支持实时GI

支持实时GI:SDFGI。使用的是SDF加速射线和场景求交,对硬件没有要求。

内置PBR渲染管线

效果非常好,目前支持4.0:

https://github.com/syafiqqun/GrphicShowcaseProject

卡渲

目前官方还没有升级到4.0,3.5.1下运行正常。

Rafael Bordoni / 3D Toon Resources · GitLab

其他

GIS

目前官方还没有升级到4.0,3.5.1下运行正常。

https://github.com/stuarta0/launceston-3d-godot

未完待续。。。。。。

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

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

相关文章

Vue 3 渲染机制解密:从模板到页面的魔法

Vue 3 渲染机制解密 前言Vue 3的响应性系统1. **Reactivity API:**2. **Proxy 对象:**3. **Getter 和 Setter:**4. **依赖追踪:**5. **批量更新:**6. **异步更新:**7. **递归追踪:**8. **删除属性:** 虚拟DOM的角色1. **减少直接操作真实 DOM:**2. **高效的批量更新:**3. **跨平…

sonar对webgoat进行静态扫描

安装sonar并配置 docker安装sonarqube,sonarQube静态代码扫描 - Joson6350 - 博客园 (cnblogs.com) 对webgoat进行sonar扫描 扫描结果 bugs Change this condition so that it does not always evaluate to "false" 意思是这里的else if语句不会执行…

git merge 和 git rebase

一、是什么 在使用 git 进行版本管理的项目中,当完成一个特性的开发并将其合并到 master 分支时,会有两种方式: git merge git rebasegit rebase 与 git merge都有相同的作用,都是将一个分支的提交合并到另一分支上,…

Redis的持久化(新)

Redis中数据都保存在内存,但是内存中的数据变换很快,也很容易丢失,比如连接断开、宕机停机等等。而Redis提供的数据持久化机制有RDB(Redis DataBase)和AOF(Append Only File)。 1.RDB RDB是指在指定的时间间隔内将内存中的数据集快照写入到磁…

static和extern

1.extern extern 是⽤来声明外部符号的,如果⼀个全局的符号在A⽂件中定义的,在B⽂件中想使⽤,就可以使⽤ extern 进⾏声明,然后使⽤。 即在一个源文件中想要使用另一个源文件,即可通过这个extern来声明使用。 2.st…

NC65 修改元数据字段长度

NC65 修改元数据字段长度,执行下面sql,执行完后需要重启NC服务才生效。 --属性 update md_property set attrlength 200 where name fphm and classidece96dd8-bdf8-4db3-a112-9d2f636d388f ;--列 update md_column set columnlength 200 where tab…

Java的判空

校验List 在进行参数非空校验时,我们总是容易直接就对任何的东西都来一个! null 其实这样并不完全正确,对list类型来说 不等于null和list.size ! 0是不一样的。 不等于null是指已经声明了list的存在,并且在堆内存中有了引用。 …

ROS设置DHCP option121

配置时,了解格式很关键,16进制填写格式如下: 将要访问的IPV4地址:192.168.100.0/24 192.168.30.254 转换为:掩码 目标网段 网关 0x18c0a864c0a81efe,0不用填写 ROS配置如下图: 抓…

【Qt开发流程】之富文本处理

描述 Scribe框架提供了一组类,用于读取和操作结构化的富文本文档。与Qt中以前的富文本支持不同,新的类集中在QTextDocument类上,而不是原始文本信息。这使开发者能够创建和修改结构化的富文本文档,而不必准备中间标记格式的内容。…

修改 OkHttp3 的超时时间

修改 OkHttp3 的超时时间 一. 前言二. 导入mavengradle 三. 设置超时时间 一. 前言 OkHttp是一个处理网络请求的开源项目,是安卓端最火热的轻量级框架,由移动支付Square公司开发。OkHttp3是Java和Android都能用,Android还有一个著名网络库叫Volley,那个…

关于用css设置input输入框hover的时候的样式以及当input为disabled的时候,不要让hover样式生效

效果如果&#xff1a; 编辑状态下的时候&#xff1a; 只读状态下的时候&#xff1a; 代码如图&#xff1a; <input type"text" name"dataForm.exportCode" id"exportCodeItem" required :disabled"editDisabled" />input:not(…

Web自动化测试流程:从入门到精通,帮你成为测试专家!

Web应用程序在今天的软件开发中占据着越来越重要的地位。保证Web应用程序的质量和稳定性是非常必要的&#xff0c;而自动化测试是一种有效的方法。本文将介绍Web自动化测试流程&#xff0c;并提供代码示例。 步骤一&#xff1a;选取测试工具 选择适合自己团队的自动化测试工具…

UML建模图文详解教程——用例图

版权声明 本文原创作者&#xff1a;谷哥的小弟作者博客地址&#xff1a;http://blog.csdn.net/lfdfhl本文参考资料&#xff1a;《UML面向对象分析、建模与设计&#xff08;第2版&#xff09;》吕云翔&#xff0c;赵天宇 著 用例图概述 用例图(use case diagram)是表示一个系统…

【数据结构】链表中二级指针的应用

&#x1f984;个人主页:修修修也 &#x1f38f;所属专栏:数据结构 ⚙️操作环境:Visual Studio 2022 (注:为方便演示本篇使用的x86系统,因此指针的大小为4个字节) 目录 &#x1f4cc;形参的改变不影响实参! 1.调用函数更改整型时传值调用与传址调用的区别 &#x1f38f;传值…

【Pytorch】Visualization of Fature Maps(2)

学习参考来自 使用CNN在MNIST上实现简单的攻击样本https://github.com/wmn7/ML_Practice/blob/master/2019_06_03/CNN_MNIST%E5%8F%AF%E8%A7%86%E5%8C%96.ipynb 文章目录 在 MNIST 上实现简单的攻击样本1 训练一个数字分类网络2 控制输出的概率, 看输入是什么3 让正确的图片分…

表格制作软件排行榜,热门做表格的软件推荐

在数字化时代&#xff0c;表格不仅仅是企业管理和数据整理的重要工具&#xff0c;更是学术研究、项目规划以及日常生活中必不可少的一部分。为了更高效地进行表格制作&#xff0c;选择一款优秀的表格制作软件是至关重要的。在众多的软件中&#xff0c;我们特别推荐一款备受好评…

【电路笔记】-电流源

电流源 文章目录 电流源1、概述1.1 理想电流源1.2 实际电流源1.3 连接规则 2、依赖电流2.1 压控电流源2.2 电流控制电流源 3、总结 本文为前面文章 电压源的延续&#xff0c;我们将在本文介绍电流源。 与电压源的情况类似&#xff0c;我们将首先介绍理想电流源的概念&#xff…

基于springboot实现摄影跟拍预定管理系统【项目源码+论文说明】计算机毕业设计

基于springboot实现摄影跟拍预定管理系统演示 摘要 首先,论文一开始便是清楚的论述了系统的研究内容。其次,剖析系统需求分析,弄明白“做什么”,分析包括业务分析和业务流程的分析以及用例分析,更进一步明确系统的需求。然后在明白了系统的需求基础上需要进一步地设计系统,主要…

【Redis】持久化-RDBAOF混合持久化

文章目录 前置知识RDB&#xff08;定期备份&#xff09;触发机制流程说明RDB文件的处理RDB 的优缺点 AOF&#xff08;实时备份&#xff09;使用AOF命令写入AOF工作流程文件同步重写机制重写触发机制AOF进制重写流程 混合持久化启动时数据恢复 总结 前置知识 回顾MySQL MySQL的事…

UVM项目笔记——通过寄存器模型实现AHB接口的寄存器读写(内含源码)

目录 1.前言 2.DRIVER实现 2.1 AHB二级流水时序 2.2 “队列错位法”实现driver 2.3 driver代码 2.4 仿真log与波形 2.5 多级流水拓展方法 1.前言 UVM driver在接口协议的实现中起着非常重要的作用&#xff0c;因为它一端处理基于类的事务级sequence&#xff0c;另一端处…