Selects a texture to be used for tinting particle start colors.
#pragma strict private var ps: ParticleSystem; public var alphaThreshold: float = 0.0f; public var colorAffectsParticles: boolean = true; public var alphaAffectsParticles: boolean = true; public var bilinearFiltering: boolean = false; function Start() { ps = GetComponent.<ParticleSystem>(); var main: var = ps.main; main.startSpeed = 0.0f; main.startSize = 0.5f; main.startLifetime = 1.0f; var emission: var = ps.emission; emission.rateOverTime = 500.0f; var shape: var = ps.shape; shape.shapeType = ParticleSystemShapeType.Circle; shape.radius = 6.0f; shape.texture = AssetDatabase.GetBuiltinExtraResource.<Texture2D>("Default-Particle.psd"); } function Update() { var shape: var = ps.shape; shape.textureClipThreshold = alphaThreshold; shape.textureColorAffectsParticles = colorAffectsParticles; shape.textureAlphaAffectsParticles = alphaAffectsParticles; shape.textureBilinearFiltering = bilinearFiltering; } function OnGUI() { var y: float = 120.0f; var spacing: float = 40.0f; GUI.Label(new Rect(25, y, 140, 30), "Alpha Threshold"); alphaThreshold = GUI.HorizontalSlider(new Rect(165, y + 5, 100, 30), alphaThreshold, 0.0f, 1.0f); y += spacing; colorAffectsParticles = GUI.Toggle(new Rect(25, y + 5, 200, 30), colorAffectsParticles, "Color Affects Particles"); y += spacing; alphaAffectsParticles = GUI.Toggle(new Rect(25, y + 5, 200, 30), alphaAffectsParticles, "Alpha Affects Particles"); y += spacing; bilinearFiltering = GUI.Toggle(new Rect(25, y + 5, 200, 30), bilinearFiltering, "Bilinear Filtering"); y += spacing; }
using UnityEditor; using UnityEngine;
public class ExampleClass : MonoBehaviour { private ParticleSystem ps; public float alphaThreshold = 0.0f; public bool colorAffectsParticles = true; public bool alphaAffectsParticles = true; public bool bilinearFiltering = false;
void Start() { ps = GetComponent<ParticleSystem>();
var main = ps.main; main.startSpeed = 0.0f; main.startSize = 0.5f; main.startLifetime = 1.0f;
var emission = ps.emission; emission.rateOverTime = 500.0f;
var shape = ps.shape; shape.shapeType = ParticleSystemShapeType.Circle; shape.radius = 6.0f; shape.texture = AssetDatabase.GetBuiltinExtraResource<Texture2D>("Default-Particle.psd"); }
void Update() { var shape = ps.shape; shape.textureClipThreshold = alphaThreshold; shape.textureColorAffectsParticles = colorAffectsParticles; shape.textureAlphaAffectsParticles = alphaAffectsParticles; shape.textureBilinearFiltering = bilinearFiltering; }
void OnGUI() { float y = 120.0f; float spacing = 40.0f;
GUI.Label(new Rect(25, y, 140, 30), "Alpha Threshold"); alphaThreshold = GUI.HorizontalSlider(new Rect(165, y + 5, 100, 30), alphaThreshold, 0.0f, 1.0f); y += spacing;
colorAffectsParticles = GUI.Toggle(new Rect(25, y + 5, 200, 30), colorAffectsParticles, "Color Affects Particles"); y += spacing;
alphaAffectsParticles = GUI.Toggle(new Rect(25, y + 5, 200, 30), alphaAffectsParticles, "Alpha Affects Particles"); y += spacing;
bilinearFiltering = GUI.Toggle(new Rect(25, y + 5, 200, 30), bilinearFiltering, "Bilinear Filtering"); y += spacing; } }