public ParticleEmitter Expand(float multiplier) { if (!didInit) { return(this); } shapeModule.radius *= multiplier; shapeModule.boxThickness *= multiplier; emissionModule.rateOverTime = MultiplyCurve(emissionModule.rateOverTime, multiplier); emissionModule.rateOverDistance = MultiplyCurve(emissionModule.rateOverTime, multiplier); for (int i = 0; i < emissionModule.burstCount; i++) { ParticleSystem.Burst burst = emissionModule.GetBurst(i); burst.count = MultiplyCurve(burst.count, multiplier); emissionModule.SetBurst(i, burst); } mainModule.startSize = MultiplyCurve(mainModule.startSize, Mathf.Pow(multiplier, 0.6f)); mainModule.startLifetime = MultiplyCurve(mainModule.startLifetime, Mathf.Pow(multiplier, 0.3f)); return(this); }
private void Start() { particles = GetComponentInChildren <ParticleSystem>(); emission = particles.emission; burst = emission.GetBurst(0); particles.Stop(); }
void Start() { ParticleSystem.EmissionModule TapParticleEmission = TapParticle.emission; TapParticleBurstCount = (int)TapParticleEmission.GetBurst(0).count.constant; var dur = TapParticle.main; TapParticleDuration = dur.duration; if (TapParticleInner != null) { ParticleSystem.EmissionModule TapParticleInnerEmission = TapParticleInner.emission; TapParticleInnerBurstCount = (int)TapParticleInnerEmission.GetBurst(0).count.constant; } }
void InstantiateParticleSystem() { GameObject particleGO = Instantiate <GameObject>(AsteraX.AsteroidsSO.GetAsteroidParticlePrefab(), transform.position, Quaternion.identity); ParticleSystem particleSys = particleGO.GetComponent <ParticleSystem>(); ParticleSystem.MainModule main = particleSys.main; main.startLifetimeMultiplier = size * 0.5f; ParticleSystem.EmissionModule emitter = particleSys.emission; ParticleSystem.Burst burst = emitter.GetBurst(0); ParticleSystem.MinMaxCurve burstCount = burst.count; burstCount.constant = burstCount.constant * size; burst.count = burstCount; emitter.SetBurst(0, burst); }
public void PlayDestroyedParticleEffect() { float magnitude = (linePoints[1] - linePoints[0]).magnitude; GameObject instantiated = GameObject.Instantiate(team.resources.tronWallDestroyedPrefab, (linePoints[1] + linePoints[0]) / 2, transform.rotation); ParticleSystem ps = instantiated.EnsureComponent <ParticleSystem>(); ParticleSystem.MainModule main = ps.main; main.startColor = team.teamColor.color; ParticleSystem.ShapeModule shape = ps.shape; shape.radius = magnitude * .65f; ParticleSystem.EmissionModule emission = ps.emission; ParticleSystem.Burst burst = emission.GetBurst(0); burst.count = Mathf.Min(magnitude * burst.count.constant, maxParticlesOnDestroy); emission.SetBurst(0, burst); ps.Play(); }
void InstantiateParticleSystem(int ndx) { if (particleSystems.Length <= ndx) { return; } GameObject particleGO = Instantiate <GameObject>(particleSystems[ndx], transform.position, Quaternion.identity); ParticleSystem particleSys = particleGO.GetComponent <ParticleSystem>(); ParticleSystem.MainModule main = particleSys.main; main.startLifetimeMultiplier = size * 0.5f; ParticleSystem.EmissionModule emitter = particleSys.emission; ParticleSystem.Burst burst = emitter.GetBurst(0); ParticleSystem.MinMaxCurve burstCount = burst.count; burstCount.constant = burstCount.constant * size; burst.count = burstCount; emitter.SetBurst(0, burst); Destroy(particleGO, 4f); }
public static void EmitAt(ParticleSystem particlesystem, Vector3 location, Quaternion rotation) { if (particlesystem == null) { return; } particlesystem.transform.position = location; particlesystem.transform.rotation = rotation; foreach (ParticleSystem ps in particlesystem.gameObject.GetComponentsInChildren <ParticleSystem>()) { if (ps == null) { continue; } ParticleSystem.EmissionModule em = particlesystem.emission; ps.Emit((em.GetBurst(0).count.mode == ParticleSystemCurveMode.TwoConstants) ?Random.Range(em.GetBurst(0).minCount, em.GetBurst(0).maxCount): ((int)em.GetBurst(0).count.constant)); } }
private void Awake() { cutingWind = GetComponentInChildren <ParticleSystem>(); _audioSource = GetComponent <AudioSource>(); //Ball = GetComponentInChildren<ParticleSystem>(); _pointLigth = GetComponentInChildren <Light>(); trBall = GetComponentInChildren <TrailRenderer>(); cutingWindMain = cutingWind.main; BallMain = Ball.main; shapeWInd = cutingWind.shape; emissionWind = cutingWind.emission; _burstWind = emissionWind.GetBurst(1); cutingWindMain.startColor = grColor; BallMain.startColor = grColor; trBall.colorGradient = grColor; _pointLigth.intensity = 0; _audioSource.loop = true; }
private void DisableSelf() { if (!edgeCollider.enabled) { return; } edgeCollider.enabled = false; lineRenderer.enabled = false; GameObject instatiated = GameObject.Instantiate(GameManager.Instance.neutralResources.tronWallDestroyedPrefab, transform.position, transform.rotation); ParticleSystem ps = instatiated.EnsureComponent <ParticleSystem>(); ParticleSystem.MainModule main = ps.main; ParticleSystem.ShapeModule shape = ps.shape; shape.radius = explosionRadius; ParticleSystem.EmissionModule emission = ps.emission; ParticleSystem.Burst burst = emission.GetBurst(0); burst.count = numberOfParticles; emission.SetBurst(0, burst); ps.Play(); }
// Token: 0x06001296 RID: 4758 RVA: 0x0005B0F4 File Offset: 0x000592F4 public void ProcessEffectElement(float radius, float minimumValidRadius) { if (this.particleSystem) { if (this.particleSystemOverrideMaterial) { ParticleSystemRenderer component = this.particleSystem.GetComponent <ParticleSystemRenderer>(); if (this.particleSystemOverrideMaterial) { component.material = this.particleSystemOverrideMaterial; } } ParticleSystem.EmissionModule emission = this.particleSystem.emission; int num = (int)emission.GetBurst(0).maxCount + (int)((radius - minimumValidRadius) * this.bonusEmissionPerBonusRadius); emission.SetBurst(0, new ParticleSystem.Burst(0f, (float)num)); if (this.particleSystemEmitParticles) { this.particleSystem.gameObject.SetActive(true); return; } this.particleSystem.gameObject.SetActive(false); } }
public void UpdateParticleSystem() { ParticleSystem refSystem = referenceLine.GetComponent <ParticleSystem>(); ParticleSystem.MainModule refSetting = refSystem.main; ParticleSystem.EmissionModule refEmission = refSystem.emission; ParticleSystem.RotationOverLifetimeModule refRotationLifeTime = refSystem.rotationOverLifetime; ParticleSystem.SizeOverLifetimeModule refSizeLifetime = refSystem.sizeOverLifetime; ParticleSystemRenderer refRenderer = refSystem.GetComponent <ParticleSystemRenderer>(); ParticleSystem.Burst refBurst = refEmission.GetBurst(0); foreach (Line line in triangleComplex.lines) { ParticleSystem particleSystem = line.GetComponent <ParticleSystem>(); ParticleSystem.MainModule particleSettings = particleSystem.main; ParticleSystem.EmissionModule particleEmission = particleSystem.emission; ParticleSystem.RotationOverLifetimeModule particleRotationLifeTime = particleSystem.rotationOverLifetime; ParticleSystem.SizeOverLifetimeModule particleSizeLifetime = particleSystem.sizeOverLifetime; ParticleSystemRenderer particleRenderer = particleSystem.GetComponent <ParticleSystemRenderer>(); particleSettings.customSimulationSpace = refSetting.customSimulationSpace; particleSettings.duration = refSetting.duration; particleSettings.emitterVelocityMode = refSetting.emitterVelocityMode; particleSettings.flipRotation = refSetting.flipRotation; particleSettings.gravityModifier = refSetting.gravityModifier; particleSettings.gravityModifierMultiplier = refSetting.gravityModifierMultiplier; particleSettings.loop = refSetting.loop; particleSettings.maxParticles = refSetting.maxParticles; particleSettings.playOnAwake = refSetting.playOnAwake; particleSettings.prewarm = refSetting.prewarm; particleSettings.scalingMode = refSetting.scalingMode; particleSettings.simulationSpace = refSetting.simulationSpace; particleSettings.simulationSpeed = refSetting.simulationSpeed; particleSettings.startColor = refSetting.startColor; particleSettings.startDelay = refSetting.startDelay; particleSettings.startDelayMultiplier = refSetting.startDelayMultiplier; particleSettings.startLifetime = refSetting.startLifetime; particleSettings.startLifetimeMultiplier = refSetting.startLifetimeMultiplier; particleSettings.startRotation = refSetting.startRotation; particleSettings.startRotation3D = refSetting.startRotation3D; particleSettings.startRotationMultiplier = refSetting.startRotationMultiplier; particleSettings.startRotationX = refSetting.startRotationX; particleSettings.startRotationXMultiplier = refSetting.startRotationXMultiplier; particleSettings.startRotationY = refSetting.startRotationY; particleSettings.startRotationYMultiplier = refSetting.startRotationYMultiplier; particleSettings.startRotationZ = refSetting.startRotationZ; particleSettings.startRotationZMultiplier = refSetting.startRotationZMultiplier; particleSettings.startSize = refSetting.startSize; particleSettings.startSize3D = refSetting.startSize3D; particleSettings.startSizeMultiplier = refSetting.startSizeMultiplier; particleSettings.startSizeX = refSetting.startSizeX; particleSettings.startSizeXMultiplier = refSetting.startSizeXMultiplier; particleSettings.startSizeY = refSetting.startSizeY; particleSettings.startSizeYMultiplier = refSetting.startSizeYMultiplier; particleSettings.startSizeZ = refSetting.startSizeZ; particleSettings.startSizeZMultiplier = refSetting.startSizeZMultiplier; particleSettings.startSpeed = refSetting.startSpeed; particleSettings.startSpeedMultiplier = refSetting.startSpeedMultiplier; particleSettings.stopAction = refSetting.stopAction; particleSettings.useUnscaledTime = refSetting.useUnscaledTime; particleEmission.burstCount = refEmission.burstCount; particleEmission.enabled = refEmission.enabled; particleEmission.rateOverDistance = refEmission.rateOverDistance; particleEmission.rateOverDistanceMultiplier = refEmission.rateOverDistanceMultiplier; particleEmission.rateOverTime = refEmission.rateOverTime; particleEmission.rateOverTimeMultiplier = refEmission.rateOverTimeMultiplier; particleRotationLifeTime.enabled = refRotationLifeTime.enabled; particleRotationLifeTime.separateAxes = refRotationLifeTime.separateAxes; particleRotationLifeTime.x = refRotationLifeTime.x; particleRotationLifeTime.xMultiplier = refRotationLifeTime.xMultiplier; particleRotationLifeTime.y = refRotationLifeTime.y; particleRotationLifeTime.yMultiplier = refRotationLifeTime.yMultiplier; particleRotationLifeTime.z = refRotationLifeTime.z; particleRotationLifeTime.zMultiplier = refRotationLifeTime.zMultiplier; particleSizeLifetime.enabled = refSizeLifetime.enabled; particleSizeLifetime.separateAxes = refSizeLifetime.separateAxes; particleSizeLifetime.size = refSizeLifetime.size; particleSizeLifetime.sizeMultiplier = refSizeLifetime.sizeMultiplier; particleSizeLifetime.x = refSizeLifetime.x; particleSizeLifetime.xMultiplier = refSizeLifetime.xMultiplier; particleSizeLifetime.y = refSizeLifetime.y; particleSizeLifetime.yMultiplier = refSizeLifetime.yMultiplier; particleSizeLifetime.z = refSizeLifetime.z; particleSizeLifetime.zMultiplier = refSizeLifetime.zMultiplier; particleRenderer.minParticleSize = refRenderer.minParticleSize; particleEmission.SetBursts(new ParticleSystem.Burst[] { refBurst }); } }