From 5b99d8374ff25e8bd41dc388acb1fe9a89c3607d Mon Sep 17 00:00:00 2001 From: Nico de Poel Date: Wed, 4 Aug 2021 23:31:42 +0200 Subject: [PATCH] Also implemented slight blood and vore ball particles trails --- .../Support/ParticleTrailController.cs | 35 +++++++++++++++++-- 1 file changed, 32 insertions(+), 3 deletions(-) diff --git a/Assets/Scripts/Support/ParticleTrailController.cs b/Assets/Scripts/Support/ParticleTrailController.cs index 101e442..2dda512 100644 --- a/Assets/Scripts/Support/ParticleTrailController.cs +++ b/Assets/Scripts/Support/ParticleTrailController.cs @@ -40,9 +40,7 @@ public class ParticleTrailController : MonoBehaviour case ParticleTrail.Blood: { main.gravityModifierMultiplier = 0.05f; - main.startColor = new ParticleSystem.MinMaxGradient( - new Color32(31, 0, 0, 255), - new Color32(55, 0, 0, 255)); + main.startColor = SetupGradient(BloodColorKeys); shape.scale = new Vector3(6f, 6f, 6f); break; @@ -50,14 +48,24 @@ public class ParticleTrailController : MonoBehaviour case ParticleTrail.Tracer: case ParticleTrail.Tracer2: { + // Split trails, e.g. Scrag projectile break; } case ParticleTrail.SlightBlood: { + main.gravityModifierMultiplier = 0.05f; + main.startColor = SetupGradient(BloodColorKeys); + + shape.scale = new Vector3(6f, 6f, 6f); + emission.rateOverDistance = 1.0f / (interval + 3); break; } case ParticleTrail.VoreBall: { + main.startLifetime = 0.3f; + main.startColor = SetupGradient(VoreColorKeys); + + shape.scale = new Vector3(16f, 16f, 16f); break; } } @@ -70,6 +78,15 @@ public class ParticleTrailController : MonoBehaviour transform.position = endPosition; } + private static ParticleSystem.MinMaxGradient SetupGradient(GradientColorKey[] colorKeys) + { + return new ParticleSystem.MinMaxGradient(new Gradient + { + mode = GradientMode.Blend, + colorKeys = colorKeys, + }); + } + private static ParticleSystem.MinMaxGradient SetupGradients(GradientColorKey[] minKeys, GradientColorKey[] maxKeys) { return new ParticleSystem.MinMaxGradient @@ -103,4 +120,16 @@ public class ParticleTrailController : MonoBehaviour new GradientColorKey(new Color32(63, 63, 63, 255), 0.5f), new GradientColorKey(new Color32(47, 47, 47, 255), 1.0f), }; + + private static readonly GradientColorKey[] BloodColorKeys = + { + new GradientColorKey(new Color32(31, 0, 0, 255), 0.5f), + new GradientColorKey(new Color32(55, 0, 0, 255), 1.0f), + }; + + private static readonly GradientColorKey[] VoreColorKeys = + { + new GradientColorKey(new Color32(95, 51, 63, 255), 0.5f), + new GradientColorKey(new Color32(59, 31, 35, 255), 1.0f), + }; }