我一直在开发具有低寡资产的迷你RPG。我目前有一个有效的库存系统,上面有合适的玩家物品(例如装甲和武器)
在搅拌机中,我将网眼设计为具有不同的材料区域,希望能够实现某种类型的染料系统。每个设备使用一定数量的共享材料(初级皮革,次级皮革等)
有人对如何实现此功能有任何建议吗?设备是可编写脚本的对象。当玩家从清单中单击“使用”时,它将转到EquipmentManager.cs,在该设备实例中,它以SkinnedMeshRenderer实例化到玩家上(原始游戏对象是常规网格物体)。
染料也是具有基本Color32的可编写脚本的对象,我认为我可以从DyeManager.cs中更改“ mat.color = dye.color”。
问题在于,并非所有设备对象都使用相同的材料。因此,返回Material []数组时顺序永远不会恒定。例如,一个头饰可能有4种材料(主要是皮革,皮革等),而作为胸件可能只有两种材料(主要是皮革,特殊的皮革)。
我主要只是在寻找有关某人在运行时如何进行这项工作的建议。我以前设法更改过材料,但是使用.sharedMaterials弄乱了所有设备项目,因为当设备装满时,项目已从常规MeshRenderer更改为SkinnedMeshRenderer,编译器告诉我应该使用sharedMaterials。>
答案 0 :(得分:0)
您可以通过更改反照率谷脚本来执行此操作。像这样:
m_Renderer.material.SetTexture("_RedArmor", mat_armor);