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

从Unity转Godot:复制节点后材质无法独立,修改颜色同步问题求助

解决Godot中复制节点后材质无法独立的问题

问题根源

默认立方体Mesh自带的材质属于内置全局资源,直接使用Make Unique无法彻底切断共享关联,这是修改颜色同步的核心原因。

修复现有节点的正确操作

  1. 选中其中一个节点的MeshRenderer3D,找到材质槽右侧的箭头按钮
  2. 选择Save as New Resource,将材质保存到项目文件夹中(比如命名为blue_material.tres)
  3. 对另一个节点重复上述操作,保存为不同的材质文件(比如red_material.tres)
  4. 此时修改任意一个材质的颜色,另一个节点不会再同步变化

批量创建不同颜色长方体的高效方案

手动流程

  1. 创建基础长方体节点,给MeshRenderer3D添加全新材质资源:点击材质槽下拉菜单,选择New StandardMaterial3D
  2. 直接在编辑器中修改该材质的颜色,然后将材质保存到项目文件夹
  3. 复制节点后,对每个副本点击材质槽箭头→Make Unique,生成独立材质副本后修改颜色即可

脚本批量生成(更适合大量创建)

用GDScript自动生成带独立材质的立方体,无需手动复制:

extends Node3D

func _ready():
    # 生成10个随机颜色的立方体,间隔排列
    for index in range(10):
        var cube = MeshInstance3D.new()
        # 创建新的立方体Mesh
        cube.mesh = BoxMesh.new()
        # 创建独立的材质并设置随机颜色
        var unique_mat = StandardMaterial3D.new()
        unique_mat.albedo_color = Color(randf(), randf(), randf())
        cube.material_override = unique_mat
        # 设置位置避免重叠
        cube.position = Vector3(index * 2.5, 0, 0)
        add_child(cube)

关键提示

永远优先使用项目内保存的本地材质资源,而非Mesh自带的内置资源,这样能彻底避免共享关联问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 18:04:58