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

Godot中自定义资源无法作为导出变量默认值显示的问题

自定义资源作为导出变量默认值不显示的解决方法

你当前的写法问题在于:直接用CUSTOM_RESOURCE.new()动态创建实例作为导出变量的默认值,Godot编辑器不会将这个临时实例序列化到场景中,因此检查器里无法显示默认资源。

解决方法有两种,推荐第一种:

方法一:使用预加载的资源文件作为默认值

  1. 在编辑器中创建一个CUSTOM_RESOURCE格式的资源文件:右键文件系统 → 新建资源 → 找到CUSTOM_RESOURCE并创建,保存为your_custom_res.tres(或.res)。
  2. 在脚本中预加载该资源作为默认值:
extends Node2D
export(Resource) var custom_res = preload("res://your_custom_res.tres")

这样编辑器就能识别到这个预加载的资源引用,检查器里会正常显示默认值,场景实例化时也会自动加载该资源。

方法二:Tool脚本动态初始化(不推荐)

如果不想单独创建资源文件,可以用tool标记脚本,在编辑器阶段初始化资源:

tool
extends Node2D
export(Resource) var custom_res

func _init():
    if not custom_res:
        custom_res = CUSTOM_RESOURCE.new()

但这种方法要注意tool脚本会在编辑器中运行,可能带来额外的性能或逻辑问题,仅适合简单场景。

如果是Godot 4.x版本,语法调整为@export即可:

extends Node2D
@export var custom_res: CUSTOM_RESOURCE = preload("res://your_custom_res.tres")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 19:45:34