tool extends SpatialMaterial export var ptex : String = "" setget set_ptex func set_ptex_no_render(s : String) -> void : ptex = s func set_ptex(s : String) -> void : if ptex == s: return ptex = s call_deferred("update_texture") func update_texture() -> void: var mm_graph = mm_loader.create_gen(parse_json(ptex)) if mm_graph == null: return var mm_material : MMGenMaterial = mm_graph.get_node("Material") if ! (mm_material is MMGenMaterial): return mm_renderer.add_child(mm_graph) var status = mm_material.render_textures() while status is GDScriptFunctionState: status = yield(status, "completed") mm_material.update_material(self) mm_graph.queue_free()