2017-04-21 112 views
0

我是Unity新手,我可以用一只手。我想做的事是:Unity 3d - 通过点击更改纹理

在我的“渲染”我将有:

例如,3D金字塔,每个面拥有差异材料/ ID。 而我有6个纹理,6个按钮。

我想要做的是, 通过点击其中一个按钮来选择一个纹理,并将实际金字塔纹理交换/绘制到按钮纹理。我想这样做,我想要多少次。就像一本让孩子们画画的彩色书。但他们首先选择颜色,然后选择颜色。

如果我不够清楚,请提问。 感谢您的支持!

+0

是有一些代码可以共享,提供了一个[最小的,完整verifable示例](HTTPS:/ /stackoverflow.com/help/mcve)? – spacepickle

+0

不,没有。我只能通过点击一个按钮来进行纹理交换。 但这不是我想要的。 @spacepickle –

+0

我想我看到了 - 你在问如何构建用户界面以选择金字塔的一个面? – spacepickle

回答

0

首先,你必须存储材料的阵列 -

public Material[] materials 

然后,在任何按钮保存其指数从材料阵列访问材料的点击。例如,buttonIndex = 2

现在可以使用其上所选择的材料需要施加金字塔工作面MeshRenderer部件 -

GameObject pyramidFace1; 
... 
pyramidFace1.GetComponent<MeshRenderer>().material = materials[buttonIndex]; 
... 
+0

首先,感谢您的帮助。但是另一个问题来了。我仍然不知道“点击”部分是如何工作的。正如我所说,即时新的统一。 @Mukesh Saini –