Godot服务器架构Skill godot-server-architecture

此技能提供了Godot游戏引擎中低级服务器访问的专家蓝图,适用于需要高性能的场景,如程序生成、粒子系统和体素引擎开发。它教导如何使用RID绕过场景树开销,并包括最佳实践和常见错误避免。关键词:Godot、服务器架构、RID、高性能、渲染服务器、物理服务器、NavigationServer、低级访问、游戏优化。

游戏开发 0 次安装 0 次浏览 更新于 3/23/2026

name: godot-server-architecture description: “使用RID实现低级服务器访问(RenderingServer、PhysicsServer2D/3D、NavigationServer)以实现最高性能的专家蓝图。绕过场景树开销,用于程序生成、粒子系统和体素引擎。在节点太慢或管理数千个对象时使用。关键词:RenderingServer、PhysicsServer、NavigationServer、RID、canvas_item、body_create、低级、性能。”

服务器架构

基于RID的服务器API、直接渲染/物理访问和对象池定义最高性能模式。

可用脚本

headless_manager.gd

用于专用服务器生命周期管理、参数解析和无头模式优化的管理器。

rid_performance_server.gd

具有RID生命周期管理和批处理操作的专业服务器包装器。

服务器架构中绝对不要做的事情

  • 绝对不要忘记释放RIDsRenderingServer.canvas_item_create() 后不释放?内存泄漏(垃圾回收不跟踪RIDs)。完成后必须调用 canvas_item_free(rid)
  • 绝对不要将服务器API与节点用于同一对象 — 为同一实体创建RID体和CharacterBody2D?冲突并导致双重模拟成本。选择一种方法。
  • 绝对不要使用服务器进行原型设计 — 调试服务器代码很痛苦(没有检查器、print_tree或可视化工具)。先使用节点,然后优化到服务器。
  • 绝对不要跳过RID验证 — 调用 body_set_state(invalid_rid, ...) = 崩溃。使用 RID.is_valid(rid) 或在数组/字典中跟踪RIDs。
  • 绝对不要在没有首先分析的情况下使用服务器 — 过早优化。在Godot 4中,节点可以很好地处理10k+对象。首先分析,然后用服务器替换瓶颈。
  • 绝对不要忘记设置形状变换PhysicsServer2D.body_add_shape(body, shape) 没有变换?形状偏移在(0,0)。通过 body_set_shape_transform() 设置变换。
  • 绝对不要使用RenderingServer处理UI — 通过canvas_item_create()创建UI元素?没有自动层、输入或主题。使用Control节点处理UI。

无需节点的直接渲染访问。

# 创建画布项(2D精灵等效)
var canvas_item := RenderingServer.canvas_item_create()
RenderingServer.canvas_item_set_parent(canvas_item, get_canvas_item())

# 绘制纹理
var texture_rid := load("res://icon.png").get_rid()
RenderingServer.canvas_item_add_texture_rect(
    canvas_item,
    Rect2(0, 0, 64, 64),
    texture_rid
)

PhysicsServer2D

无需节点创建物理体。

# 创建体
var body_rid := PhysicsServer2D.body_create()
PhysicsServer2D.body_set_mode(body_rid, PhysicsServer2D.BODY_MODE_RIGID)

# 创建形状
var shape_rid := PhysicsServer2D.circle_shape_create()
PhysicsServer2D.shape_set_data(shape_rid, 16.0)  # 半径

# 将形状分配给体
PhysicsServer2D.body_add_shape(body_rid, shape_rid)

何时使用服务器

使用服务器用于:

  • 程序生成(数千个对象)
  • 粒子系统
  • 体素引擎
  • 自定义渲染

使用节点用于:

  • 常规游戏对象
  • UI
  • 原型设计

参考

相关