URL: http://answers.unity3d.com/questions/536529/how-to-get-a-particlesystem-to-play-when-you-cant.html
positionで位置を指定してもAndroid実機だとうまく座標が合わず、0, 0, 0の位置に表示されるっぽい。
Unity 3時代にいろいろバグが有ったがUnity 4系では修正されてると思ったが、
この謎のバグはUnity 4.2で発生した。
一度enableにして、Clear()とStop ()をする。
void Awake () { // activeをfalseにする前にParticleを取得しておく! ParticleSystem particleSystem = GetComponentInChildren <ParticleSystem>(); this.gameObject.SetActive (false); particleSystem.Clear (); particleSystem.Stop (); Destroy(this.gameObject, particleSystem.duration); particleSystem.Stop (); }
発射時にactiveにしつつ、Playする
private void Fire () // 発射メソッド { this.gameObject.SetActive (true); ParticleSystem particleSystem = this.gameObject.GetComponentInChildren <ParticleSystem>(); particleSystem.Play (); }
これで解決!