Godot引擎4.3到4.4版本升级指南
godot-docs Godot Engine official documentation 项目地址: https://gitcode.com/gh_mirrors/go/godot-docs
作为一款持续迭代的开源游戏引擎,Godot 4.4版本带来了诸多改进和新特性。本文将全面解析从4.3升级到4.4版本时需要注意的关键变更点,帮助开发者顺利完成项目迁移。
版本升级概述
Godot 4.4作为4.x系列的一个增量更新版本,保持了良好的向后兼容性。大多数4.3版本的项目可以安全地升级到4.4,但仍有一些破坏性变更需要开发者特别关注。
核心系统变更
文件访问(FileAccess)改进
文件存储相关方法现在都增加了返回值,用于指示操作是否成功。这包括:
store_8
/store_16
/store_32
/store_64
store_buffer
store_csv_line
store_double
/store_float
/store_half
store_line
store_pascal_string
store_real
store_string
store_var
这些方法原本返回void
,现在改为返回bool
类型。对于C#项目,这属于二进制不兼容变更,需要重新编译。
操作系统相关变更
read_string_from_stdin
方法新增了buffer_size
参数,默认值为1024。这个变更在GDScript中是不兼容的,需要开发者手动调整调用方式。
正则表达式增强
compile
和create_from_string
方法新增了show_error
可选参数,用于控制是否显示错误信息。
GUI节点变更
RichTextLabel改进
push_meta
方法新增了tooltip
可选参数,可以为元数据添加工具提示。set_table_column_expand
方法新增了shrink
参数,控制列是否可收缩。
GraphEdit调整
connect_node
方法新增keep_alive
可选参数,frame_rect_changed
信号的参数类型从Vector2
改为Rect2
,这属于不兼容变更。
物理系统变更
SoftBody3D增强
set_point_pinned
方法新增了insert_at
可选参数,可以指定插入点的位置。
渲染系统重大更新
粒子系统改进
所有粒子类(CPUParticles2D
、CPUParticles3D
、GPUParticles2D
、GPUParticles3D
)的restart
方法都新增了keep_seed
可选参数,控制是否保留随机种子。
着色器系统变更
Shader
类的get_default_texture_parameter
和set_default_texture_parameter
方法的纹理类型从Texture2D
扩展为更通用的Texture
类型。类似地,VisualShaderNodeCubemap
和VisualShaderNodeTexture2DArray
的相关属性类型也进行了扩展。
RenderingDevice调整
draw_list_begin
方法进行了重构,移除了多个参数并新增了breadcrumb
可选参数。缓冲创建方法新增了enable_device_address
参数。
导航系统增强
NavigationServer2D
和NavigationServer3D
的query_path
方法新增了callback
可选参数,支持异步路径查询。
编辑器插件变更
EditorInterface改进
open_scene_from_path
新增set_inherited
参数,popup_node_selector
和popup_property_selector
新增了current_value
参数。
废弃方法移除
EditorSceneFormatImporter
的_get_import_flags
方法被完全移除,因为这个方法从未被引擎实际使用。
重要行为变更
曲线资源(Curve)范围强制
Curve
资源现在会强制实施其值范围。如果有点落在默认的[0,1]范围之外,需要调整min_value
和max_value
。
着色器节点类型变更
VisualShaderNodeVec4Constant
节点的输入类型改为Vector4
,需要开发者重新创建常量值。
CSG系统重构
CSG系统现在使用Manifold库,不再支持非流形(non-manifold)网格。对于需要渲染非流形几何体(如四边形或平面)的情况,建议改用MeshInstance3D
。
Android传感器变更
Android传感器事件现在默认禁用,需要在项目设置的Input Devices > Sensors中手动启用。
升级建议
- 全面测试:虽然大多数变更都是兼容的,但仍建议进行全面测试
- 关注返回值:特别是文件操作相关方法现在都有返回值
- 检查类型变更:注意纹理类型和参数类型的扩展
- 处理不兼容变更:如GraphEdit的信号参数类型变更
- 调整CSG使用:如有非流形几何体需求,改用MeshInstance3D
通过关注这些关键变更点,开发者可以顺利将项目从Godot 4.3升级到4.4版本,享受新版本带来的性能改进和新特性。
godot-docs Godot Engine official documentation 项目地址: https://gitcode.com/gh_mirrors/go/godot-docs
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考