添付イメージのように1部分のマテリアルだけをUnityのスクリプトでクリック(スクリプト上ではスペース)で変更をしたいと考えています。3DCGソフトで形状が少し複雑な内装モデルを作成し壁は1つのFBXのモデルでエクスポート→Unityへインポートしていますが、UIをそれぞれマテリアルを適用したい部分の壁(マテリアルを適用したい部分)に設定してあります。具体的にやりたいことはUnityにインポートしたモデルの壁Aの部分のマテリアルを用意したマテリアルから変更したいと考えています。記載してあるスクリプトはオブジェクト全体のマテリアルの変更に使用できるものですが、探してもオブジェクト1部分のマテリアルを用意したマテリアルカラーに変更するスクリプトが見つからなかった為質問させていただきました。
やりかたとしてはインポートしたモデルのelement0(例:UIを適用している壁A)を複製できるものなのか、もしくはもっと良い方法があるのかも知りたいです。
C#
1using System.Collections; 2using System.Collections.Generic; 3using UnityEngine; 4 5public class MaterialChange : MonoBehaviour 6{ 7 public Material[] _material; // 割り当てるマテリアル. 8 private int i; 9 10 // Use this for initialization 11 void Start() 12 { 13 i = 0; 14 } 15 16 // Update is called once per frame 17 void Update() 18 { 19 20 if (Input.GetKeyUp(KeyCode.Space)) 21 { 22 i++; 23 if (i == 3) 24 { 25 i = 0; 26 } 27 28 this.GetComponent<Renderer>().sharedMaterial = _material[i]; 29 } 30 31 } 32}

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/01/24 05:55
2020/01/24 06:10
2020/01/24 09:51
2020/01/24 10:19
2020/01/24 11:09
2020/01/28 01:19
2020/01/28 06:10