2017-04-21 20 views
0

私はUnityで初めてです。私は手を使うことができます。私は何をしたいことはある:私の私が持っているだろう「レンダリング」でUnity 3d - クリックしてテクスチャを変更してください。

例えば、3Dピラミッドは、それぞれの顔が違い材料/ IDを所有しています。 そして私は6つのテクスチャ、6つのボタンを持っています。

私がしたいことは、 6つのボタンの1つをクリックして1つのテクスチャを選択し、実際のピラミッドテクスチャをボタンテクスチャにスワップ/ペイントします。私はそれをやりたい、何回それを欲しいのか。子供たちがペイントするためのカラーブックのように。しかし、彼らは最初に色を選び、次に色をつける場所を選ぶ。

私が十分明確でない場合は、それを聞いてください。 ご協力いただきありがとうございます。

public Material[] materials 

を次に、いずれかのボタンストア材料配列から材料をアクセスするためにそのインデックスのクリックに -

+0

を(HTTPS:/ /stackoverflow.com/help/mcve)? – spacepickle

+0

いいえ、そこにはありません。私はボタンをクリックするだけでテクスチャを入れ替えることができました。 しかし、それは私が欲しいものではありません。 @spacepickle –

+0

私は見ると思います - ユーザーがピラミッドの顔の1つを選択するためのインターフェースを構築する方法を尋ねていますか? – spacepickle

答えて

0

まず、あなたは配列に資料を保存しなければなりません。例えば、buttonIndex = 2の場合。

今、あなたは選択された材料を適用する必要のあるピラミッド顔のMeshRendererコンポーネントを使用することができます - あなたはそれが[最小限の、完全なverifable例]を提供して共有することができますいくつかのコードがあります

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

まず、あなたの助けをありがとう。しかし別の質問が来るように。私はまだ "クリック"の部分がどのように機能するか知りません。私が言ったように、私は団結に新しい。 @Mukesh Saini –

関連する問題