- Home /
Enabling and Disabling Shurken Particles
I have literally spent all day on this and I am coming to believe it is impossible. All I want is knowledge on how to do the following.
var myparticles : WhatGoesHereNothingWorks;
function Start()
{
myparticles.enabledsomehow = true;
}
I have found a ton of threads answering the "how do you enable disable particles" question. None of the syntax of any of the solutions works.
var myparticles : Transform;
function Start () {
myparticles.particleEmitter.emit = true;
}
This slaps me with "MissingComponentException: There is no 'ParticleEmitter' attached to the "myparticles" game object, but a script is trying to access it. I don't know what it's looking for here, since the big thing emblazoned "PARTICLE SYSTEM" is being ignored.
GameObject.particleEmitter.emit = true;
Also does not work.
myparticles.GetComponent(ParticleEmitter).emit= false;
slaps me with NullReferenceException: Object reference not set to an instance of an object.
There are other things I've tried, I could go on. I'm actually starting to think I'm too stupid to make games effectively in Unity. I have another three pages of errors and various bogged down confused syntax that also didn't work, but I'm exhausted, disillusioned, and just want to stop seeing errors. It's the four line scripts that really smash the human soul.
EDIT:
Forget it, don't waste your time on my question, I worked around it. I slapped the particle system on an empty and then used...
var gameempty : Transform;
function Start()
{
gameempty.gameObject.SetActiveRecursively(true);
}
I am a thousand times done trying to access anything at all on a Shuriken particle system with scripting.
-Bro B
Should the 'myparticles' variable be a 'GameObject'? This would allow you to do the last snippet of code, I think... (It's worth a try!)
Answer by numberkruncher · May 28, 2012 at 12:24 AM
Yes, this is achieved in a slightly different way with the Shuriken particle system:
var _particles : ParticleSystem;
function Awake() {
_particles = gameempty.gameObject.GetComponentInChildren<ParticleSystem>();
_particles.enableEmission = false;
}
The way in which the above is implemented will obviously vary according to your needs!