当前位置: 首页 > news >正文

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

未完待续。。。。。。

相关文章:

Godot

前言 为什么要研究开源引擎 主要原因有: 可以享受“信创”政策的红利,非常有利于承接政府项目。中美脱钩背景下,国家提出了“信创”政策。这个政策的核心就是,核心技术上自主可控。涉及的产业包括:芯片、操作系统、数据…...

【Docker】Docker与Kubernetes:区别与优势对比

前言 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux或Windows操作系统的机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。   kubernetes,简称K8s&a…...

通过内网穿透本地MariaDB数据库,实现在公网环境下使用navicat图形化工具

公网远程连接MariaDB数据库【cpolar内网穿透】 文章目录 公网远程连接MariaDB数据库【cpolar内网穿透】1. 配置MariaDB数据库1.1 安装MariaDB数据库1.2 测试局域网内远程连接 2. 内网穿透2.1 创建隧道映射2.2 测试随机地址公网远程访问3. 配置固定TCP端口地址3.1 保留一个固定的…...

1 Python实现23种计模式

23种计模式之Python实现(史上最全最通俗易懂) 第一篇 Python与设计模式:前言 第二篇(23种设计模式) 1 创建类设计模式(5种) 单例模式 工厂模式 简单工厂模式 抽象工厂模式 建造者模式 原型…...

力扣:179. 最大数(Python3)

题目: 给定一组非负整数 nums,重新排列每个数的顺序(每个数不可拆分)使之组成一个最大的整数。 注意:输出结果可能非常大,所以你需要返回一个字符串而不是整数。 来源:力扣(LeetCode…...

js逆向-某敏感网站登录参数分析

声明 本文仅供学习参考,如有侵权可私信本人删除,请勿用于其他途径,违者后果自负! 如果觉得文章对你有所帮助,可以给博主点击关注和收藏哦! 前言 目标网站:aHR0cHM6Ly9tZGZnaGcuNXhwb2lqaHRm…...

docker 安装常用环境

什么是容器 作为稍懂服务器的人都知道服务器是有系统的,一般来说是linux系统,我们可以在里边操作各种,比如说安装nginx、部署服务、数据库等。简单来说,容器理解成一个超精简的linux系统,可以进入这个系统进行安装各种…...

git clone慢的解决办法

在网站 https://www.ipaddress.com/ 分别搜索: github.global.ssl.fastly.net github.com 得到ip: 打开hosts文件 sudo vim /etc/hosts 在hosts文件末尾添加 140.82.114.3 github.com 151.101.1.194 github.global-ssl.fastly.net 151.101.65.194 g…...

Picasso网络原生PICA Token通过XCM集成进入Moonriver生态

波卡上的首选多链开发平台Moonbeam宣布Moonriver和Picasso(分别为Moonbeam和Composable Finance的Kusama对应平行链)已达成XCM集成。该集成将Picasso的PICA Token引入Moonriver生态系统使用,并允许用户在Picasso网络上使用MOVR。两条平行链都…...

STM32 CAN通信自定义数据包多帧连发乱序问题

场景: can标准帧中每一帧只能传输8字节,而应用中传输一包的内容往往超过8字节,因此需要把一个包拆成多个帧发送,接收端才把收到的多帧重新组装成一个完整的包 问题描述 在一问一答的两块板间通信,多帧连发是能够按照…...

STM32 配置中断常用库函数

单片机学习 目录 一、配置AFIO相关库函数 1.1函数GPIO_AFIODeInit 1.2函数GPIO_EventOutputConfig 1.3函数GPIO_EventOutputCmd 1.4函数GPIO_EXTILineConfig 二、配置EXTI相关库函数 2.1函数EXTI_DeInit 2.2函数EXTI_Init 2.3函数EXTI_StructInit 2.4函数 EXTI_Gener…...

性能测试常见的指标详解

一、什么是性能测试 性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。 我们可以认为性能测试是:通过在测试环境下对系统或构件的性能进行探测,用以验证在生产环境下系统性能是否达到预估的性能需求…...

【键盘变成了快捷键,怎么办?】

**最便捷的操作:**拔掉键盘有线插头,将键盘驱动进行卸载,重新插上键盘即可 键盘驱动如何卸载: 以win10为例,点击开始菜单栏选择设置 选择左上角系统 选择系统中,点击最下方关于,点击右侧的设备管理器 选…...

LeetCode Hot100 105.从前序与中序遍历序列构造二叉树

题目&#xff1a;给定两个整数数组 preorder 和 inorder &#xff0c;其中 preorder 是二叉树的先序遍历&#xff0c; inorder 是同一棵树的中序遍历&#xff0c;请构造二叉树并返回其根节点。 代码&#xff1a; class Solution {private Map<Integer, Integer> indexM…...

今天先水一章

水贴&#xff0c;可自动忽略...

网页设计作业-音乐网站首页

效果图 网盘链接 链接&#xff1a;https://pan.baidu.com/s/1CO4jAOY0zk1AWTx_pC3UmA?pwdfuck 提取码&#xff1a;fuck...

【2023 云栖】阿里云刘一鸣:Data+AI 时代大数据平台建设的思考与发布

云布道师 本文根据 2023 云栖大会演讲实录整理而成&#xff0c;演讲信息如下&#xff1a; 演讲人&#xff1a;刘一鸣 | 阿里云自研大数据产品负责人 演讲主题&#xff1a;DataAI 时代大数据平台应该如何建设 今天分享的主题是 DataAI 时代大数据平台应该如何建设&#xff0…...

【DP】mobiusp正在创作乐曲

输入样例1&#xff1a; 5 2 1 7 7 1 3 输出样例1&#xff1a; 2 输入样例2&#xff1a; 10 3 2 5 6 4 4 5 7 3 5 6 输出样例2&#xff1a; 1 #include<iostream> #include<cstring> #include<algorithm> #include<vector> using namespace std; typede…...

docker国内镜像加速

创建或修改 /etc/docker/daemon.json 文件&#xff0c;修改为如下形式 {"registry-mirrors": ["https://registry.docker-cn.com","http://hub-mirror.c.163.com","https://docker.mirrors.ustc.edu.cn"] } Docker中国区官方镜像htt…...

Calling PeopleTools APIs 调用PeopleTools API

Calling PeopleTools APIs 调用PeopleTools API You can call all of the PeopleTools APIs from an Application Engine program. When using APIs, remember that: 您可以从应用程序引擎程序调用所有PeopleTools API。使用API时&#xff0c;请记住: All the PeopleTools …...

利用最小二乘法找圆心和半径

#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …...

Linux应用开发之网络套接字编程(实例篇)

服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …...

日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする

日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする 1、前言(1)情况说明(2)工程师的信仰2、知识点(1) にする1,接续:名词+にする2,接续:疑问词+にする3,(A)は(B)にする。(2)復習:(1)复习句子(2)ために & ように(3)そう(4)にする3、…...

如何为服务器生成TLS证书

TLS&#xff08;Transport Layer Security&#xff09;证书是确保网络通信安全的重要手段&#xff0c;它通过加密技术保护传输的数据不被窃听和篡改。在服务器上配置TLS证书&#xff0c;可以使用户通过HTTPS协议安全地访问您的网站。本文将详细介绍如何在服务器上生成一个TLS证…...

【Zephyr 系列 10】实战项目:打造一个蓝牙传感器终端 + 网关系统(完整架构与全栈实现)

🧠关键词:Zephyr、BLE、终端、网关、广播、连接、传感器、数据采集、低功耗、系统集成 📌目标读者:希望基于 Zephyr 构建 BLE 系统架构、实现终端与网关协作、具备产品交付能力的开发者 📊篇幅字数:约 5200 字 ✨ 项目总览 在物联网实际项目中,**“终端 + 网关”**是…...

蓝桥杯3498 01串的熵

问题描述 对于一个长度为 23333333的 01 串, 如果其信息熵为 11625907.5798&#xff0c; 且 0 出现次数比 1 少, 那么这个 01 串中 0 出现了多少次? #include<iostream> #include<cmath> using namespace std;int n 23333333;int main() {//枚举 0 出现的次数//因…...

基于matlab策略迭代和值迭代法的动态规划

经典的基于策略迭代和值迭代法的动态规划matlab代码&#xff0c;实现机器人的最优运输 Dynamic-Programming-master/Environment.pdf , 104724 Dynamic-Programming-master/README.md , 506 Dynamic-Programming-master/generalizedPolicyIteration.m , 1970 Dynamic-Programm…...

ABAP设计模式之---“简单设计原则(Simple Design)”

“Simple Design”&#xff08;简单设计&#xff09;是软件开发中的一个重要理念&#xff0c;倡导以最简单的方式实现软件功能&#xff0c;以确保代码清晰易懂、易维护&#xff0c;并在项目需求变化时能够快速适应。 其核心目标是避免复杂和过度设计&#xff0c;遵循“让事情保…...

现有的 Redis 分布式锁库(如 Redisson)提供了哪些便利?

现有的 Redis 分布式锁库&#xff08;如 Redisson&#xff09;相比于开发者自己基于 Redis 命令&#xff08;如 SETNX, EXPIRE, DEL&#xff09;手动实现分布式锁&#xff0c;提供了巨大的便利性和健壮性。主要体现在以下几个方面&#xff1a; 原子性保证 (Atomicity)&#xff…...

纯 Java 项目(非 SpringBoot)集成 Mybatis-Plus 和 Mybatis-Plus-Join

纯 Java 项目&#xff08;非 SpringBoot&#xff09;集成 Mybatis-Plus 和 Mybatis-Plus-Join 1、依赖1.1、依赖版本1.2、pom.xml 2、代码2.1、SqlSession 构造器2.2、MybatisPlus代码生成器2.3、获取 config.yml 配置2.3.1、config.yml2.3.2、项目配置类 2.4、ftl 模板2.4.1、…...