こんにちは、只今ゲームを作っております。
パーティクルの色を2色くらい使いたいので、スクリプトで変えたいのですがエラーが出て困っています。
やった事
C#
1[SerializeField] private GameObject[] driftParticles; 2 foreach (var effect in driftParticles) {// ドリフトのエフェクト 3 effect.SetActive(true); 4 ParticleSystem.MainModule particleColor = effect.GetComponent<ParticleSystem>().main; 5 particleColor.startColor = Color.blue; 6 } 7 }
エラーです
C#
1NullReferenceException: Do not create your own module instances, get them from a ParticleSystem instance 2UnityEngine.ParticleSystem+MainModule.set_startColor (UnityEngine.ParticleSystem+MinMaxGradient value) <0x1b9a68aeb90 + 0x0005a> in <171d57267e034dac885b879a27b3e82b>:0 3PlayerCar.CarDrift () (at Assets/Scrips/Cart/PlayerCar.cs:226) 4PlayerCar.FixedUpdate () (at Assets/Scrips/Cart/PlayerCar.cs:141) 5 6
見たサイト
ParticleSystem.startColorをスクリプトから変更したい
ParticleのstartColorをスクリプトで変更する
どうかお願いします。
追記です。
インスペクターに入れているオブジェクトは
AssetStoreからインポートしたものです。
Effect textures and prefabs これです。
これの プレファブの HitEffect_Aを使っております。
それをそのままインスペクタで設定しております。
階層構造は
です。
やりたい事が分かりにくかったので少し修正
1秒目は青色
2秒目はオレンジみたいにしたいです。
回答1件
あなたの回答
tips
プレビュー