You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Godot中能否创建真正的自定义类型?如何实现属性分专属板块展示

问题解答

Godot 支持两类自定义类型实现,可根据你的需求选择:

方案1:GDScript 层面快速实现属性分组需求

你想要的「属性归属到PlayerController专属板块」的效果不需要调整注册逻辑,直接在脚本导出变量前加export_group声明即可,修改你的脚本如下:

extends Node
class_name PlayerController

# 新增这一行,后续所有导出变量都会自动归到"PlayerController"分组下
export_group("PlayerController")
export var max_speed = 32
export var id = 1
export(NodePath) var node_path
onready var node = get_node(node_path)

...

这种方式不需要编写编辑器插件,属性面板就会自动将这部分变量放到独立的PlayerController分组下,继承时也会清晰展示分层属性栈,完全满足常规开发需求。

方案2:创建和原生引擎类型完全一致的真正自定义类型

如果你需要的是和引擎内置Node、Sprite2D等原生类型完全等价、不是「挂载脚本的父类实例」的自定义类型,需要使用引擎扩展方案:

  • Godot 3.x 版本使用 GDNative 扩展开发
  • Godot 4.x 版本使用 GDExtension 扩展开发
    你可以用C++、C#、Rust等语言编写自定义类型逻辑,编译为动态链接库后注册到引擎中,这种方式注册的类型就是原生级别的自定义类型:属性会自动归属到对应类型的专属面板分组,运行时是独立类型,不需要挂载额外脚本,性能也和原生引擎类型一致。
    你也可以直接修改Godot引擎源码,在内置类型中添加你需要的PlayerController类型,重新编译编辑器即可使用,适合定制化引擎的场景。

内容的提问来源于stack exchange,提问作者majkrzak

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 23:15:04