Godot — 当前最佳实践¶
最后验证:2026-02-12 | 引擎:Godot 4.6
自模型训练数据(~4.3)以来新增或变更的实践。 这是对智能体内置知识的补充(而非替代)。
GDScript (4.5+)¶
-
可变参数:函数可以接受任意数量的参数
-
抽象类和方法:使用
@abstract强制继承 -
脚本回溯:即使在 Release 构建中也提供详细调用堆栈
物理 (4.6)¶
- Jolt Physics 是新项目的默认 3D 物理引擎
- 比 GodotPhysics3D 具有更好的确定性和稳定性
- 某些 HingeJoint3D 属性(
damp)仅适用于 GodotPhysics - 切换:Project Settings → 物理 → 3D → 物理引擎
- 2D 物理未改变(仍为 Godot Physics 2D)
渲染 (4.6)¶
- D3D12 是 Windows 上的默认后端(原为 Vulkan)——以获得更好的驱动兼容性
- 辉光现在在色调映射之前处理,并采用屏幕混合模式——现有的辉光设置可能看起来有所不同
- SSR 已彻底改进——在真实感、稳定性和性能方面有显著提升
- AgX 色调映射器——新增白点和对比度控制
渲染 (4.5)¶
- Shader Baker:预编译着色器以消除启动卡顿
- SMAA 1x:新增 AA 选项——比 FXAA 更锐利,比 TAA 更节省性能
- 模板缓冲:可用于高级遮罩/传送门效果
- 弯曲法线贴图:法线贴图纹理中的方向性遮蔽
- 高光遮蔽:环境光遮蔽现在会影响反射
无障碍 (4.5+)¶
- 屏幕阅读器支持:Control 节点通过 AccessKit 与无障碍工具集成
- 实时翻译预览:直接在编辑器中测试不同语言的 GUI 布局
- FoldableContainer:新增手风琴式 UI 节点,用于可折叠区域
- 递归禁用 Control:通过单个属性禁用整个节点层次结构的鼠标/焦点交互
动画 (4.5+)¶
- BoneConstraint3D:使用修改器将骨骼绑定到其他骨骼
- AimModifier3D, CopyTransformModifier3D, ConvertTransformModifier3D
动画 (4.6)¶
- IK 系统完全恢复:为 3D 重新引入了完整的逆向运动学
- 可用修改器:CCDIK、FABRIK、Jacobian IK、Spline IK、TwoBoneIK
- 通过
SkeletonModifier3D节点应用
资源 (4.5+)¶
duplicate_deep():对嵌套资源树进行显式深拷贝- 保留旧的
duplicate()行为以实现向后兼容 - 当你需要嵌套资源的逐实例副本时,请使用
duplicate_deep()
导航 (4.5+)¶
- 专用 2D 导航服务器:不再通过 3D NavigationServer 代理
- 减少仅 2D 游戏的导出二进制文件大小
UI (4.6)¶
- 双焦点系统:鼠标/触摸焦点现在与键盘/游戏手柄焦点分离
- 视觉反馈因输入方法而异
- 在设计自定义焦点行为时请考虑这一点
编辑器工作流 (4.6)¶
- 灵活的停靠区拖放,带蓝色轮廓预览(包括底部面板)
- 大多数面板支持浮动窗口(Debugger 除外)
- 新增键盘快捷键:Alt+O(Output)、Alt+S(Shader)
- 导出变量自动生成:将资源从 FileSystem 拖入脚本编辑器
- 启用“Live Preview”后,Quick Open 对话框中会显示实时预览
- 新增的“Select Mode”(v 键)可防止意外变换;旧模式已重命名为“Transform Mode”(q 键)
工具¶
- ripgrep 没有
gdscript类型:*.gd注册在gap(GAP 编程语言)下。rg --type gdscript是硬错误——搜索永远不会执行。 始终使用rg --glob "*.gd"(shell)或glob: "*.gd"(Grep 工具)来过滤 GDScript 文件。
平台 (4.5+)¶
- visionOS 导出:开源以来首个新平台(窗口化应用模式)
- SDL3 手柄驱动:更好的跨平台手柄支持
- Android:边到边显示、相机画面访问、16KB 页面支持(Android 15+)
- Linux:Wayland 子窗口支持,实现多窗口能力
本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 cl/Claude-Code-Game-Studios