パーティクルの色をスクリプトで変える [Unity]

Unityでパーティクルの色を変える場合、ちょっとてこずったのでポイントをまとめました。

下図の赤線部のように Shader が Particles/Alpha Blended Premultiply になっている場合は下記のコードで色指定できます。

この場合は赤になります。
※コードの gameObject のインスペクタに ParticleSystemコンポーネント が Add されています。

gameObject.GetComponent<ParticleSystem>().startColor = Color.red;

次に、3Dオブジェクトをパーティクルさせる場合は、下図の赤線部のようにShaderを Standard 等に変更することが多いと思いますが、その色をスクリプトで変えるにはマテリアルの色を変更することになる為、下記のコードで色指定できます。

gameObject.GetComponent<Renderer>().material.SetColor("_Color", Color.red);

Shader の種類によっては "_Color" が使えない場合があります。
※詳しくは下記の記事に書かれていました。

 ・マテリアルのプロパティをスクリプトから変更【Unity】

Post a comment

※承認されるまではコメントは表示されません。

Trackbacks

URL: http://b.i-tach.com/wp-trackback.php?p=996