// Update is called once per frame void Update() { //turn lightsaber off and on// if (wand != null) { on = wand.IsGripDown(); } endPos = cube; //extend the line// if (on) { endPos.localPosition = Vector3.zero; //update line positions// lineRend.SetPosition(0, startPos.position); lineRend.SetPosition(1, endPos.position); //pan texture// textureOffset -= Time.deltaTime * 2f; if (textureOffset < -10f) { textureOffset += 10f; } lineRend.sharedMaterials[1].SetTextureOffset("_MainTex", new Vector2(textureOffset, 0f)); } else { lineRend.SetPosition(0, Vector3.zero); lineRend.SetPosition(1, Vector3.zero); } }
// Update is called once per frame void Update() { on = wand.IsGripDown(); if (on) { particlesys.Play(); ParticleSystem.Particle[] particles = new ParticleSystem.Particle[GetComponent <ParticleSystem>().particleCount]; particlesys.GetParticles(particles); for (int i = 0; i < particles.Length; i++) { Vector3 dir = target.position - particles[i].position; if (dir.sqrMagnitude < 1) { particles[i].remainingLifetime = 0; } dir.Normalize(); particles[i].velocity += dir * Time.deltaTime * 10f; } particlesys.SetParticles(particles, particles.Length); } else { ParticleSystem.Particle[] particles = new ParticleSystem.Particle[GetComponent <ParticleSystem>().particleCount]; particlesys.GetParticles(particles); for (int i = 0; i < particles.Length; i++) { particles[i].remainingLifetime = 0; } particlesys.SetParticles(particles, particles.Length); particlesys.Stop(); } }
// Update is called once per frame void FixedUpdate() { if (wand != null) { on = wand.IsGripDown(); lightObject.enabled = on; } if (intensity > 1.3f || intensity < 0.7f) { inc = !inc; } if (inc) { intensity += FlickerSpeed * Time.fixedDeltaTime; } else { intensity -= FlickerSpeed * Time.fixedDeltaTime; } lightObject.intensity = intensity; }