art*_*rti 1 c# unity-game-engine
我在我的 Unity 项目中遇到了一些实质性的变化。我有一个带有 8 个材质的对象,我想在按下按钮时更改材质编号 5。以下代码不起作用:
objectToPaint.GetComponent<Renderer>().materials[4] = availableMaterials[i];
Run Code Online (Sandbox Code Playgroud)
当我做:
objectToPaint.GetComponent<Renderer>().material = availableMaterials[i];
Run Code Online (Sandbox Code Playgroud)
它只会改变第一种材料,并证明触发器工作正常。有什么建议?
你必须改变renderer.materials,而不是改变renderer.material
我认为,这应该有效
Material[] mats = renderer.materials;
mats[4] = availableMaterials[i];
renderer.materials = mats;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8341 次 |
| 最近记录: |