Godot

前言

为什么要研究开源引擎

主要原因有:

  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.mzph.cn/news/160252.shtml

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

相关文章

【Django使用】md文档10大模块第5期:Django数据库增删改查和Django视图

Django的主要目的是简便、快速的开发数据库驱动的网站。它强调代码复用,多个组件可以很方便的以"插件"形式服务于整个框架,Django有许多功能强大的第三方插件,你甚至可以很方便的开发出自己的工具包。这使得Django具有很强的可扩展…

Vue项目 配置项设置

一、项目运行时浏览器自动打开 找到package.json文件 找到"sctipts"配置项 在"serve"配置项最后加上--open "scripts": {"serve": "vue-cli-service serve --open","build": "vue-cli-service build&quo…

Redis面试内容,Redis过期策略,Redis持久化方式,缓存穿透、缓存击穿和缓存雪崩,以及解决办法

文章目录 一、redis什么是RedisRedis使用场景1、缓存2、数据共享[分布式](https://so.csdn.net/so/search?q分布式&spm1001.2101.3001.7020)3、分布式锁4、全局ID5、计数器6、限流7、位统计 Redis有5中数据类型: SSHLZRedis中一个key的值每天12点过期&#xff…

Cookie、Session、CBV加装饰器的三种方法

【0】cookie、session和Token的发展史 【1】Cookie的形式 存储形式:k:v键值对存储位置:客户端缺点:不安全,信息可能会泄露 【2】session的形式 标识符,表示我是当前用户加密出来的数据对敏感信息进行加密…

排序算法-----快速排序(非递归实现)

目录 前言 快速排序 基本思路 非递归代码实现 前言 很久没跟新数据结构与算法这一栏了,因为数据结构与算法基本上都发布完了,哈哈,那今天我就把前面排序算法那一块的快速排序完善一下,前面只发布了快速排序递归算法,…

单链表相关面试题--3.链表的中间节点

3.链表的中间节点 876. 链表的中间结点 - 力扣(LeetCode) /* 解题思路: 通过快慢指针找到中间节点,快指针每次走两步,慢指针每次走一步,当快指针走到结尾的时候,慢指针正好走到中间位置 */ typ…

HTTPS协议的加密流程

目录 一,HTTPS是什么 二,两种加密方式 三,HTTPS的加密过程 3.1 引入对称加密 3.2 引入非对称加密 3.3 引入证书 一,HTTPS是什么 HTTPS也是一个应用层协议,它是在HTTP协议的基础上引入了一个加密层。因为HTTP协议…

每天一道算法题(十)——获取和为k的子数组

文章目录 1、问题2、示例3、解决方法(1)方法1——双指针 总结 1、问题 给你一个整数数组 nums 和一个整数 k ,请你统计并返回 该数组中和为 k 的子数组的个数 。 子数组是数组中元素的连续非空序列。 2、示例 示例 1: 输入&#x…

多分类自定义采样比例

多分类自定义采样比例 import torch from torch.utils.data import DataLoader, Dataset, WeightedRandomSampler from torchvision import transforms from torchvision.datasets import ImageFolder# 假设你有一个自定义的数据集类 class CustomDataset(Dataset):def __init…

51单片机按键控制LED灯亮灭的N个玩法

51单片机按键控制LED灯亮灭的N个玩法 1.概述 这篇文章介绍按键的使用,以及通过控制LED灯的小实验,发现按键中存在的问题,然后思考并解决这些问题。达到熟练使用按键控制元器件。 2.搭建硬件环境 1.硬件准备 名称型号数量单片机STC12C205…

2023全球数字贸易创新大赛9-12

目录 回答评委提问:先说痛点-再说怎样解决 食品安全溯源是否全流程 星火• 链网

Sleuth

Sleuth 一 引言 随着服务的越来越多,对调⽤链的分析会越来越复杂。它们之间的调⽤关系也许如下图: 问题: 1:微服务之间的调⽤错综复杂,⽤户发送的请求经历那些服务,调⽤链不清楚,没有⼀ 个⾃…

【SpringCloud微服务全家桶学习笔记-Hystrix(服务降级,熔断,接近实时的监控,服务限流等)】

服务雪崩 (微服务面临的问题) 多个微服务之间调用的时候,假设微服务A调用微服务B和微服务C,微服务B和微服务C又调用其它的微服务,这就是所谓的“扇出”。如果扇出的链路上某个微服务的调用响应时间过长或者不可用&…

HarmonyOS开发(五):常用基础组件

1、组件介绍 组件(Component),是界面搭建及显示的最小单元。 组件根据功能可以分为五大类:基础组件、容器组件、媒体组件、绘制组件、画布组件 2、基础组件 基础组件是视图层的基本组成单元,它包含:Text、Image、T…

OpenCV C++ 张正友相机标定【相机标定原理、相机标定流程、图像畸变矫正】

文章目录 3.1 标定原理3.2 相机标定流程步骤1:采集棋盘格图像,批处理(调整尺寸、重命名)步骤2:提取棋盘格内角点坐标步骤3:进一步提取亚像素角点信息在棋盘标定图上绘制找到的内角点(非必须,仅为了显示)步骤4:相机标定--计算出相机内参数矩阵和畸变系数步骤5:畸变图像…

Spring (二)@Order, Ordered 失效

Spring (二)Order, Ordered 失效 先上例子 public class OrderAnnotationExample {Order(2)static class MyBeanFactoryPostProcessor1 implements BeanFactoryPostProcessor {Overridepublic void postProcessBeanFactory(ConfigurableListableBeanFa…

如何加速JavaScript 代码运行速度

如何加速JavaScript 代码运行速度 前言减少DOM访问避免不必要的变量延迟script加载异步和同步使用异步编程避免使用With关键词 前言 本文主要通过五个方面来讲解如何使Js代码得到性能优化,从而实现加快Js代码运行速度的作用。那么好,本文正式开始。 减…

感染了后缀为.[bkpsvr@firemail.cc].EKING勒索病毒如何应对?数据能够恢复吗?

导言: 在当前数字时代,勒索病毒成为网络威胁的一大隐患。本文将深入介绍一种名为[bkpsvrfiremail.cc].EKING的勒索病毒,以及如何应对遭受其攻击后,有效地恢复被加密的数据文件,并提供一些预防措施以减少感染的风险。数…

sqlserver==索引解析,执行计划,索引大小

1创建测试表 -- 创建大型表 CREATE TABLE LargeTableWithIndex (ID int IDENTITY(1,1) PRIMARY KEY,IndexedColumn int,NonIndexedColumn nvarchar(255),OtherData nvarchar(255) );2插入测试数据 -- 使用 T-SQL 插入大量数据 DECLARE @i int = 1; WHILE @i <= 100000 -- …