Browse Source

Also implemented slight blood and vore ball particles trails

readme
Nico de Poel 5 years ago
parent
commit
5b99d8374f
  1. 35
      Assets/Scripts/Support/ParticleTrailController.cs

35
Assets/Scripts/Support/ParticleTrailController.cs

@ -40,9 +40,7 @@ public class ParticleTrailController : MonoBehaviour
case ParticleTrail.Blood: case ParticleTrail.Blood:
{ {
main.gravityModifierMultiplier = 0.05f; 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); shape.scale = new Vector3(6f, 6f, 6f);
break; break;
@ -50,14 +48,24 @@ public class ParticleTrailController : MonoBehaviour
case ParticleTrail.Tracer: case ParticleTrail.Tracer:
case ParticleTrail.Tracer2: case ParticleTrail.Tracer2:
{ {
// Split trails, e.g. Scrag projectile
break; break;
} }
case ParticleTrail.SlightBlood: 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; break;
} }
case ParticleTrail.VoreBall: case ParticleTrail.VoreBall:
{ {
main.startLifetime = 0.3f;
main.startColor = SetupGradient(VoreColorKeys);
shape.scale = new Vector3(16f, 16f, 16f);
break; break;
} }
} }
@ -70,6 +78,15 @@ public class ParticleTrailController : MonoBehaviour
transform.position = endPosition; 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) private static ParticleSystem.MinMaxGradient SetupGradients(GradientColorKey[] minKeys, GradientColorKey[] maxKeys)
{ {
return new ParticleSystem.MinMaxGradient 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(63, 63, 63, 255), 0.5f),
new GradientColorKey(new Color32(47, 47, 47, 255), 1.0f), 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),
};
} }
Loading…
Cancel
Save