Unity3d Unity 3d-通过单击更改纹理

Unity3d Unity 3d-通过单击更改纹理,unity3d,click,textures,paint,swap,Unity3d,Click,Textures,Paint,Swap,我对团结是个新手,我需要一只手。我想做的是: 在我的“渲染”中,我将有: 例如,在三维棱锥体中,每个面拥有不同的材质/id。 我有6个纹理,6个按钮 我想做的是, 通过单击这6个按钮中的一个来选择一个纹理,然后将实际的棱锥体纹理交换/绘制到按钮纹理。我想做,我想做多少次。就像一本供孩子们画画的彩色书。但他们先选择颜色,然后在哪里上色 如果我不够清楚,请问一下。 谢谢你的支持 首先,您必须以数组形式存储材质- public Material[] materials 然后,单击任意按钮存储其索引以

我对团结是个新手,我需要一只手。我想做的是:

在我的“渲染”中,我将有:

例如,在三维棱锥体中,每个面拥有不同的材质/id。 我有6个纹理,6个按钮

我想做的是, 通过单击这6个按钮中的一个来选择一个纹理,然后将实际的棱锥体纹理交换/绘制到按钮纹理。我想做,我想做多少次。就像一本供孩子们画画的彩色书。但他们先选择颜色,然后在哪里上色

如果我不够清楚,请问一下。
谢谢你的支持

首先,您必须以数组形式存储材质-

public Material[] materials
然后,单击任意按钮存储其索引以从材质数组访问材质。例如,
按钮索引=2

现在,可以使用需要应用选定材质的棱锥体面的网格渲染器组件-

GameObject pyramidFace1;
...
pyramidFace1.GetComponent<MeshRenderer>().material = materials[buttonIndex];
...
游戏对象金字塔面1;
...
pyramidFace1.GetComponent().material=materials[buttonIndex];
...

是否有一些代码可供您共享,以提供一个新的解决方案?不,没有。我只能通过点击一个按钮来进行纹理交换。但这不是我想要的@SpacePickle我想我明白了-你是在问如何为用户构建界面来选择金字塔的一个面吗?是的。想象:我有一个B C D E F纹理;我有13个物体的表面(每一个都是材质);我想按一个字母(纹理),例如C,然后我想把它放在3号物体的表面上。如果我也想要,我想把它放在2号上。那我就不想有那种感觉了。所以我按下纹理B,把它放在数字2上。。。又一次。忘记了首先识别你,谢谢你的帮助。但另一个问题来了。我仍然不知道“点击”部分是如何工作的。正如我所说,我对团结是个新手@穆克什·塞尼