Godot 4.7 正式发布:「Lights, Camera, Action!」—— 相比 4.6 强在哪儿?

Godot 4.7 正式版于 2026 年 6 月 18 日发布,是 Godot 4 系列打磨三年后的又一里程碑。官方给它起了个电影味十足的副标题——“Lights, Camera, Action!”(灯光、镜头、开拍)。

如果说今年 1 月的 4.6 是“最精简的基线版”,专注打磨工作流与可用性,那么 4.7 就是在这个基线上“加倍投入”:让引擎本身更轻快,同时把周边工具(比如全新的资产商店)也一并做顺手。

下面从几个维度拆解 4.7 的新东西,并重点对比它相对 4.6 到底强在哪。

一、画质与渲染:HDR 与真实光照

  • HDR 输出支持:在 Windows、macOS、iOS、visionOS 以及 Linux(Wayland)上支持高动态范围输出,2D/3D 场景能呈现更鲜艳的色彩与超高亮度特效——这是 4.6 完全没有的能力。
  • AreaLight3D 矩形区域光:新增节点,可在 3D 空间实时渲染来自矩形面的光,不必再用自发光材质 + 全局光照去“假装”电视屏、广告牌发光。注意它开销不低,别把场景里的 OmniLight 全换成它。
  • Clearcoat 修复:修好了 BaseMaterial3D 清漆层此前未做能量守恒、未考虑天空反射的问题,更接近迪士尼 PBR 参考模型,车漆等材质质感显著提升。
  • 每 Pass 独立环境统一缓冲区:为现代渲染的每个 pass 分配独立内存池,消除了跨 pass 共享内存带来的复制依赖瓶颈,直接加速渲染。
  • 视口最近邻缩放:3D 渲染新增 nearest-neighbor 过滤,复古风或低分辨率提性能时用,开销与双线性相当。
  • 3D 粒子可控缩放/旋转、GradientTexture2D 圆锥渐变(FILL_CONIC)等小增强。

二、编辑器与资产管理:效率拉满

  • 全新 Asset Store 取代旧 Asset Library:可缩放预览、显示资产评分,并引入后台线程,浏览资产时不再卡住编辑器 UI。
  • 文本着色器内联预览:在着色器编辑器里敲代码(如 vec2 v4 = UV;)即可实时看到效果,不用编译完去外部看。
  • MeshLibrary 专用编辑器:为 GridMap 新增类似 TileSet 编辑器的工具,网格库编辑不再痛苦。
  • 2D 场景绘制模式:2D 编辑器默认 B 键快速散布节点(收集品、敌人),关卡铺设效率大增。
  • 3D 顶点吸附:默认 B 键高亮并拖拽顶点对齐;轨迹球风格旋转(按 U)让 3D 变换更顺手;连续按两次聚焦键 F 可跟随移动物体。
  • 检查器局部复制粘贴、远程场景树折叠、创建对话框过滤、脚本列表定位当前脚本等一堆 QoL。

三、GUI:Control 偏移变换与内置虚拟摇杆

  • Control 节点偏移变换(offset_transform):可平移/旋转/缩放 Control 节点而不影响 Container 布局(类似 CSS transform),GUI 动画更好做。
  • 内置 VirtualJoystick 虚拟摇杆节点:支持 Fixed / Dynamic / Following 三模式,移动端输入开箱即用(4.6 需自行实现或依赖插件)。
  • PopupMenu 搜索栏、RichTextLabel 图像按字号缩放([img height=1em])、Tree 拖放位置指示等。

四、移动端 / Android:可在手机上完整做游戏

随 GABE(Godot Android Build Environment)稳定版 发布,开发者现在能在 Android 设备上导出并发布游戏。此外 Android 端新增画中画、自由调整嵌入式游戏窗口、直接编辑启动画面、Perfetto 默认追踪,以及 GDScript 实现 Java 接口 的能力。

五、XR 与平台

  • 生产级首日支持 Android XR 与 Steam Frame。
  • Vulkan 子采样图像 大幅改进 Mobile 渲染器的注视点渲染性能,使其在基准测试中匹敌甚至超过 Compatibility 渲染器——新 XR 项目建议用 Mobile 渲染器。
  • 合成层改进、操作映射简化。

六、系统与导出

  • 按需下载导出模板:只下载需要的平台/架构模板,省带宽(社区反馈已省下大量时间)。
  • Tween.tween_await():可在指定信号发射前暂停补间,对话/过场动画好写多了。
  • 输入增强:失焦忽略手柄、键鼠设备识别、iOS 用 SDL3、陀螺仪体感瞄准。

七、4.7 比 4.6 强在哪?(对比速览)

维度 Godot 4.6 Godot 4.7
发布时间 2026-01-26 2026-06-18
主题定位 All about your flow(打磨工作流) Lights, Camera, Action!(画质 + 资产 + 移动)
HDR 输出 无 Windows/macOS/iOS/visionOS/Linux Wayland 支持
矩形区域光 无 新增 AreaLight3D
资产商店 旧 Asset Library 全新 Asset Store(后台线程、评分、缩放预览)
着色器预览 无内联预览 文本着色器内联实时预览
GUI 偏移变换 无 Control.offset_transform
虚拟摇杆 需自行实现 内置 VirtualJoystick 节点
Android 完整开发 编辑器 Gradle 实验 GABE 稳定版,手机上导出发布
导出模板 全量下载 按需下载指定平台/架构
3D 内容创建 已有 IK/物理默认 顶点吸附、MeshLibrary 编辑器、2D 场景绘制、轨迹球旋转
XR OpenXR 1.1、安卓 XR 编辑器 Android XR/Steam Frame 首日生产支持、Vulkan 子采样提性能

总结

4.6 把 Godot 4 的地基打得很稳,4.7 则在画质(HDR、区域光)、资产工作流(Asset Store)、GUI(偏移变换、虚拟摇杆)和移动独立开发(GABE)四个方向同时发力。两者同属当前全支持的稳定分支,4.6 项目升级到 4.7 风险很低(4.6 维护版 4.6.3 仍在支持),新项目直接用 4.7 即可。

本次 4.7 由 300+ 贡献者、1600+ PR 打磨而成。想尝鲜的开发者可前往官网下载 4.7-stable(最新维护版 4.7.2),或查阅在线文档。

探索 Dialogic 2:游戏对话与叙事的得力助手

在游戏开发领域,引人入胜的对话系统和精彩的叙事常常能为游戏增色不少,成为吸引玩家深入体验的关键因素。而 Dialogic 2,正是一款专为游戏开发者打造的强大插件,能助力开发者轻松实现复杂且生动的游戏对话与叙事。

Dialogic 2 基于 Godot 引擎开发,对 Godot 4.2 及以上版本提供良好支持。其核心功能极为丰富,为开发者打开了创意的大门。它的对话系统堪称一绝,允许开发者创建复杂的对话树。无论是分支剧情、条件判断,还是多角色同时参与的对话,都能轻松实现。想象一下,在角色扮演游戏中,玩家的不同选择通过对话分支引发截然不同的剧情走向,这无疑大大增强了游戏的重玩性与趣味性。

Godot下载地址:

https://godotengine.org/download

对于视觉小说类游戏开发,Dialogic 2 更是得心应手。通过简单直观的拖放操作,开发者就能快速搭建起视觉小说场景,灵活管理背景、角色立绘以及对话框等元素,让文字与画面完美融合,构建出引人入胜的故事世界。此外,它还提供了便捷的角色管理功能,开发者可以方便地设定角色的各项属性、状态和行为,使角色在游戏中更加鲜活立体。

值得一提的是,Dialogic 2 内置了自动更新功能。这意味着开发者无需手动操心繁琐的更新事宜,插件会自动保持在最新版本,及时享受新功能与修复的漏洞,极大地提升了开发效率与稳定性。同时,Dialogic 2 采用单元测试确保代码质量,利用 gdUnit4 测试框架,开发者可在本地运行测试,为代码的可靠性保驾护航。

从应用场景来看,Dialogic 2 的适用性十分广泛。在视觉小说游戏开发中,它能快速构建起整个游戏架构,管理对话、角色和场景,使开发者专注于故事创作。在角色扮演游戏里,其丰富的对话系统可以支持多角色互动,创造出丰富多彩的剧情分支,为玩家带来沉浸式体验。冒险游戏通过它管理对话和角色,增强玩家代入感;教育游戏借助其对话与叙事功能,实现互动式学习体验,寓教于乐。

总的来说,Dialogic 2 以其易于使用的特性、强大的功能、自动化更新以及活跃的开源社区支持,成为游戏开发者打造精彩游戏对话与叙事的不二之选。无论你是经验丰富的行业老手,还是初涉游戏开发领域的新手,Dialogic 2 都能为你的游戏开发之旅增添助力,让你的创意通过精彩的对话与叙事完美呈现。

一、安装与激活​

Dialogic 2 要求 Godot 4.2 或更高版本。确认已安装合适版本后,按以下步骤安装插件:​

  1. 前往Dialogic 官方 GitHub 仓库的 Releases 页面,下载所需版本的 Dialogic 2 压缩包。​
  1. 解压下载的压缩包,找到其中的addons文件夹,该文件夹包含了 Dialogic 插件。​
  1. 将addons文件夹移动到你的 Godot 项目文件夹中。​
  1. 打开 Godot 项目,进入项目>项目设置,点击插件标签页。​
  1. 在插件列表中找到 Dialogic,勾选其旁边的启用按钮。​
  1. 重启 Godot 编辑器,至此 Dialogic 2 插件安装并激活完成。​

Dialogic 2插件下载地址:

https://github.com/dialogic-godot/dialogic/releases

二、认识编辑器界面​

成功安装并激活插件后,在 Godot 编辑器顶部会出现一个新的Dialogic标签页(位于2D、3D、脚本和资源库旁边)。点击进入,映入眼帘的是 Dialogic 主界面。界面顶部能看到 Dialogic 的不同编辑器选项;左侧边栏会展示最近使用过的角色和时间线;右上角有几个常用功能按钮,分别是添加时间线、添加角色、参考管理器和播放时间线 。​

三、创建时间线​

时间线用于编排游戏中的对话流程等事件,创建步骤如下:​

  1. 点击右上角的添加时间线按钮。​
  1. 在弹出窗口中,选择要存放时间线的文件夹,并输入文件名。时间线文件将以.dtl格式保存。​
  1. 点击保存后,编辑器右侧会出现事件面板,可从这里往时间线上添加各种事件。若想了解某个事件及其设置详情,右键点击该事件并选择文档即可查看说明。​
  1. 点击右上角的文本编辑器按钮,可切换到文本编辑模式编写时间线内容。关于文本格式时间线的编写规则,可在相关文档中进一步学习。​
  1. 完成时间线编辑后,点击右上角的播放时间线按钮,可测试当前时间线效果。​

四、创建角色​

为游戏创建角色的步骤如下:​

  1. 点击右上角的添加角色按钮。​
  1. 如同时间线操作,需选择保存角色的位置并命名。角色文件通常以.dchr格式保存。​
  1. 在角色编辑器中,可设置角色的各项属性,如名称、立绘(可添加多个不同表情的立绘)、初始状态等。这些设置将决定角色在对话和游戏场景中的呈现效果。​

五、为游戏添加对话​

  1. 在场景中添加一个Dialogic节点。你可通过在场景树中右键点击,选择添加节点,然后在搜索框中输入Dialogic来找到并添加该节点。​
  1. 选中添加的Dialogic节点,在其属性面板中,从下拉菜单里选择之前创建好的时间线。​
  1. 若要在游戏特定时机触发对话,可通过编写 Godot 脚本实现。例如,在某个场景脚本中添加如下代码,当场景准备好时启动名为ExampleDialog的对话:​
​extends Node2D

func _ready():

Dialogic.start('ExampleDialog')

通过以上步骤,你就能利用 Dialogic 2 插件在 Godot 游戏中搭建起基础的对话系统。随着对插件的深入使用,你还可探索其更多高级功能,如条件判断、多角色同时对话、对话分支剧情等,从而打造出更丰富精彩的游戏体验。

树莓派也能跑Godot了

非官方的,但因为官方开源。所以有人做了这个。好事情,普通2D游戏用它够了。

Unofficial Godot Engine for the Raspberry Pi

https://github.com/hiulit/Unofficial-Godot-Engine-Raspberry-Pi

有兴趣做Godot或Unity开发的请进群。

运行 Godot 游戏在树莓派上需要考虑的事项:

树莓派型号:

树莓派 3B/3B+: 可以运行一些简单的 2D 游戏,但性能可能有限。
树莓派 4/400: 性能更强,可以运行更复杂的 2D 游戏甚至一些轻量级的 3D 游戏。
树莓派 5: 最新型号,拥有更强大的性能,理论上可以运行更多类型的 Godot 游戏。


Godot 版本:

Godot 3.x: 对硬件要求相对较低,可能更适合在较老的树莓派型号上运行。
Godot 4.x: 提供了更多新特性和更好的性能,但在树莓派上可能需要更多的优化。建议使用最新的稳定版本。


操作系统:

推荐使用官方的 Raspberry Pi OS 或其他轻量级的 Linux 发行版。

导出设置:

平台: 选择 Linux/X11 作为导出平台。
架构: 根据你的树莓派型号选择正确的架构 (例如 ARMv7 或 ARM64)。
渲染器: 对于 2D 游戏,Forward+ 渲染器通常可以工作。对于 3D 游戏,可能需要尝试不同的渲染器设置以获得最佳性能。

优化: 启用导出优化选项,例如移除调试符号和压缩资源。
性能优化: 降低分辨率: 在项目设置中降低游戏的默认分辨率可以显著提高性能。
减少资源使用: 优化你的游戏资源,例如使用更小的纹理和更少的多边形。

使用轻量级的脚本: 避免在 _process 函数中进行过于复杂的计算。
考虑使用 GLES2 渲染器 (Godot 3.x): 如果你的游戏是 2D 的,并且在 GLES3 下性能不佳,可以尝试使用 GLES2 渲染器。

输入设备:

确保你的树莓派连接了合适的输入设备,例如键盘、鼠标或游戏手柄。

你能不损失数百万美元成功登月吗?

对航空知识有兴趣的朋友都知道,飞行器在月球软着陆不是一件容易的事情。

即使在刚刚过去的2019年,印度也没能成功实现该技术,承载着希望的“月船2号”着陆器在距离月球表面2.1公里的时候失去了信号,从此不知所踪。

迄今为止,只有中美俄三个国家实现了月球软着陆。

印度“月船2号”着陆器失联前的直播画面

在阿波罗11号登月十周年纪念日的时候,阿塔里(Atari)公司曾经出了一款名叫“Lunar Lander”的投币式街机游戏。

游戏的玩法是通过方向调整和推力控制来引导你的着陆器,将其轻轻地放到安全而平坦的停靠区。如果玩家能将着陆器成功停放在更具挑战的险峻区域,将获得额外的积分。

街机的版本是有操纵杆的,玩家可以用其控制方向和大小不同的推力,并以屏幕顶部的海拔,水平速度和垂直速度为指导,在燃料有限的情况下按时降落飞船。

游戏内置了四个难度级别,分别调整了着陆控制器和着陆区域,玩家需要凭借高超的技巧才能涉险过关。

我们这次用Pygame Zero来简单还原一下这款游戏,如果你不打算外接操纵杆,用键盘操作也可以。

构思:

首先用绘制好的静态背景替换矢量图形,并将其用作碰撞检测和高度统计。

如果我们的背景是着陆器可以飞行的黑色背景,而着陆区所在的地方是另一种颜色,那么我们可以使用Pygame的image.get_at()函数来测试像素点是否在着陆位置。

我们还可以检测着陆器沿Y轴向下的像素线,直到抵达着陆区,这将让我们获悉着陆器当前的高度。

着陆器的控制非常简单,因为我们可以捕获左右箭头键来增加或减少着陆器的旋转角度。

然而当施加推力(通过按向上箭头)时,事情会变得有些复杂。我们需要记住推力来自哪个方向,让飞船即使打转也将继续沿该方向运动。所以我们在着陆器对象上附加了direction属性。对着陆器的位置施加一点重力,然后我们只需要一点三角函数的知识即可根据着陆器的速度和行进方向算出其运动轨迹。

要判断着陆器安全着陆还是在月球表面撞坏,我们要观察其到达高度1时,飞行器的下降速度和角度。

如果速度足够慢且角度接近垂直,则我们触发着陆成功的消息,游戏结束。

如果着陆器在没有满足这些条件的情况下达到零高度,则我们将判定坠机事故。

有兴趣的话,你还可以在此基础上添加一个有限的燃料表和可变的难度级别之类的东西。甚至可以尝试添加原始街机游戏中火箭助推器噪音的声音。

要点:

推力方位的改变可以有多种方法完成。在本例中我们简单一点,一个方向被施加推力,它就逐渐往那个方向移动,直到新的方向出现推力。你可以尝试对其进行X轴和Y轴方向计算,以获得结合点的坐标值。还可以添加操纵杆控制,提供可变的推力。

以下是核心代码段:

接下来看看效果:

视频:https://v.qq.com/x/page/b095944gc59.html

完整代码请访问:https://github.com/IoToutpost/Python_game

调试前记得先安装Pygame Zero。

线索:Wireframe #37

编译:王文文