如何在 godot 的 gd 脚本中的网格实例上设置空间 material 的纹理

How to set the texture of a spatial material on a mesh instance in gd script in godot

我有一个网格实例,我想要一个函数,它接收 png 文件的文件路径并将其添加到空间 material,然后将 material 添加到网格实例.我尝试使用以下内容:

var mat = SpatialMaterial.new() 
var tex = Texture.new() 
tex.resource_path = "res://icon.png" 
mat.albedo_texture = tex 
mesh.material_override = mat

但它在第 3 行返回了这个错误: Invalid set index 'resource_path' (on base: 'Nil') with value of type 'String'.

如果您能提供帮助,在此先感谢。

我终于搞清楚了。我只需要使用加载功能。以下代码有效:

var mat = SpatialMaterial.new() 
var tex = load("res://icon.png")
mat.albedo_texture = tex 
mesh.material_override = mat