public override UnityEngine.Color GetColour(double x, double y) { UnityEngine.Color col1 = SourceModule.GetColour(x, y); float hueChange = (float)HueModule.GetValue(x, y); float satChange = (float)SatModule.GetValue(x, y); float lumChange = (float)LumModule.GetValue(x, y); // Read hsl: float h = col1.r; float s = col1.g; float l = col1.b; HslRgb.ToHsl(ref h, ref s, ref l); // Boost all 3: h = (h + hueChange) % 1f; s *= 1f + satChange; l *= 1f + lumChange; // Back to colour: HslRgb.ToRgb(ref h, ref s, ref l); // Now RGB: col1.r = h; col1.g = s; col1.b = l; return(col1); }
public override UnityEngine.Color GetColour(double x, double y) { // Read H: float h = (float)HueModule.GetValue(x, y); // Read S: float s = (float)SaturationModule.GetValue(x, y); // Read V: float v = (float)BrightModule.GetValue(x, y); // Convert to RGB: HsvRgb.ToRgb(ref h, ref s, ref v); // Now RGB. return(new Color(h, s, v, 1f)); }
public override UnityEngine.Color GetColour(double x, double y) { // Read H: float h = (float)HueModule.GetValue(x, y); // Read S: float s = (float)SaturationModule.GetValue(x, y); // Read L: float l = (float)LumModule.GetValue(x, y); // Convert to RGB: HslRgb.ToRgb(ref h, ref s, ref l); // Now RGB. return(new Color(h, s, l, 1f)); }
protected override void OnInitialize() { //Emitter = new Emitter(shape: new CircleEmitterShape(64.0f, EmissionDirection.Out, true, true, 0.5f)); CircleEmitterShape circleShape = new CircleEmitterShape(32.0f, EmissionDirection.Out, false, false); RectangleEmitterShape rectangleShape = new RectangleEmitterShape( new Vector2(128.0f, 128.0f), EmissionDirection.Out, true, true); Emitter = new Emitter(4096, shape: circleShape); Emitter.Texture = Texture; //Emitter.Space = Space.Local; Curve angleCurve = new Curve(); angleCurve.Keys.Add(0.0f, 0.0f); angleCurve.Keys.Add(0.25f, 0.1f); angleCurve.Keys.Add(0.5f, 1.0f); angleCurve.Keys.Add(1.0f, 10.0f); Curve forwardVelocityCurve = new Curve(); forwardVelocityCurve.Keys.Add(0.0f, 0.0f); forwardVelocityCurve.Keys.Add(0.20f, 128.0f); forwardVelocityCurve.Keys.Add(0.5f, 512.0f); forwardVelocityCurve.Keys.Add(1.0f, 3000.0f); Curve4 colorCurve = new Curve4(); colorCurve.Add(0.0f, new Vector4(0.0f, 1.0f, 0.5f, 1.0f)); colorCurve.Add(0.25f, new Vector4(30.0f, 1.0f, 0.5f, 1.0f)); colorCurve.Add(0.5f, new Vector4(120.0f, 1.0f, 0.5f, 1.0f)); colorCurve.Add(0.8f, new Vector4(30.0f, 1.0f, 0.5f, 1.0f)); colorCurve.Add(1.0f, new Vector4(240.0f, 1.0f, 0.5f, 0.0f)); //Emitter.Config.Color.SetNormal(new Vector4(300.0f, 1.0f, 0.5f, 1.0f)); Emitter.Config.Color.SetRandomBetween( new Vector4(0.0f, 1.0f, 0.5f, 0.0f), new Vector4(30.0f, 1.0f, 0.6f, 0.0f)); //Emitter.Config.Color.SetNormal(new Vector4(0f, 1.0f, 0.5f, 1.0f)); Emitter.Config.Scale.SetRandomBetween(0.0333f, 0.0667f); Emitter.Config.Life.SetRandomBetween(0.2f, 1.0f); Emitter.Config.Speed.SetRandomBetween(32.0f, 128.0f); Emitter.Config.Speed.SetNormal(256.0f); ScaleModule s = ScaleModule.Lerp(0.5f, 2.0f); //Emitter.AddModule(RotationModule.RandomCurve(angleCurve)); //Emitter.AddModule(SpeedModule.Lerp(64.0f, 512.0f)); Emitter.AddModule(s); Emitter.AddModule(TextureAnimationModule.OverLifetime(5, 5)); //Emitter.AddModule(AttractorModule.Basic(new Vector2(512.0f, 512.0f), 64.0f, 1024.0f, 10, 8.0f)); //ColorModule baseColorModule = ColorModule.RandomLerp( // new Vector4(0f, 1.0f, 0.5f, 0.0f), // new Vector4(360f, 1.0f, 0.5f, 0.0f)); //Emitter.AddModule(baseColorModule); //Emitter.AddModule(baseColorModule); Curve alphaCurve = new Curve(); alphaCurve.Keys.Add(0.0f, 0.0f); alphaCurve.Keys.Add(0.1f, 1.0f); alphaCurve.Keys.Add(0.667f, 1.0f); alphaCurve.Keys.Add(1.0f, 0.0f); Emitter.AddModule(HueModule.RandomLerp(0.0f, 30.0f)); Emitter.AddModule(LightnessModule.Lerp(0.667f)); Emitter.AddModule(AlphaModule.Curve(alphaCurve)); //Emitter.RemoveModules(s, baseColorModule); //Emitter.Enabled = true; }