マテリアルのプロパティの変更
個々のマテリアルが持つプロパティの存在チェックは「Material.HasProperty」を使用、
float値のプロパティ変更は「Material.SetFloat」を使用します。
GameObject gameObject = GameObject.Find("xxx") as GameObject; if (gameObject != null) { MeshRenderer mr = targetGameObject.GetComponent<MeshRenderer>(); if (mr != null && mr.sharedMaterial != null) { if (mr.sharedMaterial.HasProperty("_DiffuseVal")) { mr.sharedMaterial.SetFloat("_DiffuseVal", 0.5f); } } }
この場合は、マテリアル(Shader)のプロパティとして「_DiffuseVal」が存在する場合、その値を0.5に置き換えます。
その他、SetColor/SetInt/SetMatrixなどが使用できます。
スキン変形する形状の場合は、gameObject.GetComponent<SkinnedMeshRenderer>()として「SkinnedMeshRenderer」を取得します。
最終更新時間:2016年11月08日 21時36分01秒