- 追加された行はこのように表示されます。
- 削除された行は
このように表示されます。
!!!マテリアルのプロパティの変更
個々のマテリアルが持つプロパティの存在チェックは「Material.HasProperty」を使用、
float値のプロパティ変更は「Material.SetFloat」を使用します。
GameObject gameObject = GameObject.Find("xxx") as GameObject;
if (gameObject != null) {
MeshRenderer mr = targetGameObject.GetComponent<MeshRenderer>();
if (mr != null && mr.materials.Length > 0) {
Material mat = mr.sharedMaterial;
if (mat != null) {
if (mat.HasProperty("_DiffuseVal")) {
mat.SetFloat("_DiffuseVal", 0.5f);
}
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」を取得します。
----
{{lastmodified}}