protected override void InitializeSettings(ParticleSettings settings) { settings.TextureName = "explosion"; settings.MaxParticles = 100; settings.Duration = TimeSpan.FromSeconds(2); settings.DurationRandomness = 1; settings.MinHorizontalVelocity = 20; settings.MaxHorizontalVelocity = 30; settings.MinVerticalVelocity = -20; settings.MaxVerticalVelocity = 20; settings.EndVelocity = 0; settings.MinColor = Color.DarkGray; settings.MaxColor = Color.Gray; settings.MinRotateSpeed = -1; settings.MaxRotateSpeed = 1; settings.MinStartSize = 10; settings.MaxStartSize = 10; settings.MinEndSize = 100; settings.MaxEndSize = 200; // Use additive blending. settings.SourceBlend = Blend.SourceAlpha; settings.DestinationBlend = Blend.One; }
protected override void InitializeSettings(ParticleSettings settings) { settings.IsSparkling = true; settings.TextureName = "Sprites\\sparkleF5"; settings.TextureName1337 = "Sprites\\1337\\sparkleF51337"; settings.MaxParticles = 500; settings.Duration = TimeSpan.FromSeconds(4); settings.MinHorizontalVelocity = 0; settings.MaxHorizontalVelocity = 200; settings.MinVerticalVelocity = -10; settings.MaxVerticalVelocity = 50; settings.Gravity = new Vector3(0, -100, 0); settings.EndVelocity = 0; settings.MinColor = Color.Yellow; settings.MaxColor = Color.White; settings.MinRotateSpeed = -2; settings.MaxRotateSpeed = 2; settings.MinStartSize = 8; settings.MaxStartSize = 8; settings.MinEndSize = 8; settings.MaxEndSize = 8; settings.SourceBlend = Blend.SourceAlpha; settings.DestinationBlend = Blend.One; }
protected override void InitializeSettings(ParticleSettings settings) { settings.TextureName = "CFX2_T_ShinyStar"; settings.MaxParticles = 100; settings.Duration = TimeSpan.FromSeconds(2); settings.DurationRandomness = 1; settings.MinHorizontalVelocity = 20; settings.MaxHorizontalVelocity = 30; settings.MinVerticalVelocity = -20; settings.MaxVerticalVelocity = 20; settings.EndVelocity = 0; settings.MinColor = new Color(255, 140, 0, 255); settings.MaxColor = new Color(255, 140, 0, 255); settings.MinRotateSpeed = -1; settings.MaxRotateSpeed = 1; settings.MinStartSize = 7; settings.MaxStartSize = 7; settings.MinEndSize = 10; settings.MaxEndSize = 10; // Use additive blending. settings.BlendState = BlendState.Additive; }
protected override void InitializeSettings(ParticleSettings settings) { settings.TextureName = "smoke"; settings.MaxParticles = 600; settings.Duration = TimeSpan.FromSeconds(10); settings.MinHorizontalVelocity = 0; settings.MaxHorizontalVelocity = 15; settings.MinVerticalVelocity = 10; settings.MaxVerticalVelocity = 20; // Create a wind effect by tilting the gravity vector sideways. settings.Gravity = new Vector3(-20, -5, 0); settings.EndVelocity = 0.75f; settings.MinRotateSpeed = -1; settings.MaxRotateSpeed = 1; settings.MinStartSize = 5; settings.MaxStartSize = 10; settings.MinEndSize = 50; settings.MaxEndSize = 200; }
protected override void InitializeSettings(ParticleSettings settings) { settings.TextureName = "Textures//fire"; settings.MaxParticles = 2400; settings.Duration = TimeSpan.FromSeconds(2); settings.DurationRandomness = 1; settings.MinHorizontalVelocity = 0; settings.MaxHorizontalVelocity = 15; settings.MinVerticalVelocity = -10; settings.MaxVerticalVelocity = 10; // Set gravity upside down, so the flames will 'fall' upward. settings.Gravity = new Vector3(0, 15, 0); settings.MinColor = new Color(255, 255, 255, 10); settings.MaxColor = new Color(255, 255, 255, 40); settings.MinStartSize = 5; settings.MaxStartSize = 10; settings.MinEndSize = 10; settings.MaxEndSize = 40; // Use additive blending. settings.BlendState = BlendState.Additive; }
protected override void InitializeSettings(ParticleSettings settings) { settings.TextureName = "CFX4Smoke"; settings.MaxParticles = 12; settings.Duration = TimeSpan.FromSeconds(3); settings.MinHorizontalVelocity = 0; settings.MaxHorizontalVelocity = 15; settings.MinVerticalVelocity = 0; settings.MaxVerticalVelocity = 0; // Create a wind effect by tilting the gravity vector sideways. settings.Gravity = new Vector3(0, 0, 0); settings.MinColor = new Color(255, 140, 0, 255); settings.MaxColor = new Color(255, 140, 0, 255); settings.EndVelocity = 0.75f; settings.MinRotateSpeed = -1; settings.MaxRotateSpeed = 1; settings.MinStartSize = 4; settings.MaxStartSize = 7; settings.MinEndSize = 35; settings.MaxEndSize = 50; }
protected override void InitializeSettings(ParticleSettings settings) { settings.TextureName = "Sprites\\star"; settings.TextureName1337 = "Sprites\\1337\\skull"; settings.MaxParticles = 100; settings.Duration = TimeSpan.FromSeconds(2); settings.DurationRandomness = 1; settings.MinHorizontalVelocity = 200; settings.MaxHorizontalVelocity = 300; settings.MinVerticalVelocity = -200; settings.MaxVerticalVelocity = 200; settings.EndVelocity = 0; settings.MinColor = Color.Yellow; settings.MaxColor = Color.White; settings.MinRotateSpeed = -1; settings.MaxRotateSpeed = 1; settings.MinStartSize = 10; settings.MaxStartSize = 10; settings.MinEndSize =40; settings.MaxEndSize = 60; // Use additive blending. settings.SourceBlend = Blend.SourceAlpha; settings.DestinationBlend = Blend.One; }
public override void InitializeSettings(ParticleSettings settings) { settings.TextureName = "smoke"; settings.MaxParticles = 2200; settings.Duration = TimeSpan.FromSeconds(6); settings.MinHorizontalVelocity = 0; settings.MaxHorizontalVelocity = 0; settings.MinVerticalVelocity = 100; settings.MaxVerticalVelocity = 100; // Create a wind effect by tilting the gravity vector sideways. settings.Gravity = new Vector3(100, -5, 0); settings.EndVelocity = 0.75f; settings.MinRotateSpeed = 0; settings.MaxRotateSpeed = 0; settings.MinColor = Color.Yellow; settings.MaxColor = Color.Red; settings.MinStartSize = 4; settings.MaxStartSize = 7; settings.MinEndSize = 35; settings.MaxEndSize = 140; settings.BlendState = BlendState.Additive; }
protected override void InitializeSettings(ParticleSettings settings) { settings.TextureName = "Textures//blank"; settings.MaxParticles = 2400; settings.Duration = TimeSpan.FromSeconds(10); settings.DurationRandomness = 1; settings.MinHorizontalVelocity = -1; settings.MaxHorizontalVelocity = 1f; settings.MinVerticalVelocity = -1; settings.MaxVerticalVelocity = 1f; // Set gravity upside down, so the flames will 'fall' upward. settings.Gravity = new Vector3(0, 0, 0); settings.MinColor = Color.Green; settings.MaxColor = Color.Green; settings.MinStartSize = 0.1f; settings.MaxStartSize = 1; settings.MinEndSize = 0.5f; settings.MaxEndSize = 2f; settings.MinRotateSpeed = 0.1f; settings.MaxRotateSpeed = 0.5f; // Use additive blending. settings.BlendState = BlendState.Additive; }
protected override void InitializeSettings(ParticleSettings settings) { settings.TextureName = "smoke"; settings.MaxParticles = 1000; settings.Duration = TimeSpan.FromSeconds(3); settings.DurationRandomness = 1.5f; settings.EmitterVelocitySensitivity = 0.1f; settings.MinHorizontalVelocity = 0; settings.MaxHorizontalVelocity = 1; settings.MinVerticalVelocity = -1; settings.MaxVerticalVelocity = 1; settings.MinColor = new Color(64, 96, 128, 255); settings.MaxColor = new Color(255, 255, 255, 128); settings.MinRotateSpeed = -4; settings.MaxRotateSpeed = 4; settings.MinStartSize = 2; settings.MaxStartSize = 4; settings.MinEndSize = 5; settings.MaxEndSize = 15; }
protected override void InitializeSettings(ParticleSettings settings) { settings.TextureName = "smoke"; settings.MaxParticles = 600; settings.Duration = TimeSpan.FromSeconds(15); settings.MinHorizontalVelocity = 0; settings.MaxHorizontalVelocity = 15; settings.MinVerticalVelocity = 30; settings.MaxVerticalVelocity = 50; // Create a wind effect by tilting the gravity vector sideways. settings.Gravity = new Vector3(-20, -5, 0); settings.EndVelocity = 0.75f; settings.MinRotateSpeed = -1; settings.MaxRotateSpeed = 1; settings.MinStartSize = 4; settings.MaxStartSize = 7; settings.MinEndSize = 35; settings.MaxEndSize = 140; }
protected override void InitializeSettings(ParticleSettings settings) { settings.TextureName = "CFX4Smoke"; settings.MaxParticles = 500; settings.Duration = TimeSpan.FromSeconds(3); settings.DurationRandomness = 1.5f; settings.EmitterVelocitySensitivity = 0.1f; settings.MinHorizontalVelocity = 0; settings.MaxHorizontalVelocity = 1; settings.MinVerticalVelocity = -1; settings.MaxVerticalVelocity = 1; settings.MinColor = new Color(0, 0, 0, 255); settings.MaxColor = new Color(0, 0, 0, 128); settings.MinRotateSpeed = -4; settings.MaxRotateSpeed = 4; settings.MinStartSize = 1; settings.MaxStartSize = 3; settings.MinEndSize = 4; settings.MaxEndSize = 11; }
protected override void InitializeSettings( ParticleSettings settings ) { settings.TextureName = "sparkParticle"; settings.MaxParticles = 200; settings.Duration = TimeSpan.FromSeconds( 1 ); settings.DurationRandomness = 0; settings.MinHorizontalVelocity = 0; settings.MaxHorizontalVelocity = 0; settings.MinVerticalVelocity = 0; settings.MaxVerticalVelocity = 0; settings.EndVelocity = 0; settings.AlignWithVelocity = true; settings.StretchVelocity = 2f; settings.StretchFactor = 1f; settings.FadePower = 0; settings.MinStartSize = .01f; settings.MaxStartSize = .03f; settings.MinEndSize = .01f; settings.MaxEndSize = .03f; settings.Mask = MaskHelper.Glow( 1 ); }
protected override void InitializeSettings( ParticleSettings settings ) { settings.TextureName = "pixieParticle"; settings.MaxParticles = 200; settings.Duration = TimeSpan.FromSeconds( 1.25f ); settings.DurationRandomness = 1; settings.MinHorizontalVelocity = 0; settings.MaxHorizontalVelocity = 0; settings.MinVerticalVelocity = 0; settings.MaxVerticalVelocity = 0; settings.EndVelocity = 1; settings.MinRotateSpeed = -1f; settings.MaxRotateSpeed = 1f; settings.FadePower = 10; settings.MinStartSize = 0f; settings.MaxStartSize = .1f; settings.MinMidSize = .1f; settings.MaxMidSize = .35f; settings.MinEndSize = 0; settings.MaxEndSize = 0; }
protected override void InitializeSettings(ParticleSettings settings) { settings.TextureName = "smoke"; settings.MaxParticles = 200; settings.Duration = TimeSpan.FromSeconds(4); settings.MinHorizontalVelocity = 0; settings.MaxHorizontalVelocity = 50; settings.MinVerticalVelocity = -10; settings.MaxVerticalVelocity = 50; settings.Gravity = new Vector3(0, -20, 0); settings.EndVelocity = 0; settings.MinColor = Color.LightGray; settings.MaxColor = Color.White; settings.MinRotateSpeed = -2; settings.MaxRotateSpeed = 2; settings.MinStartSize = 10; settings.MaxStartSize = 10; settings.MinEndSize = 100; settings.MaxEndSize = 200; }
protected override void InitializeSettings(ParticleSettings settings) { settings.TextureName = "smoke"; settings.MaxParticles = 200; settings.Duration = TimeSpan.FromSeconds(4); settings.MinHorizontalVelocity = 0; settings.MaxHorizontalVelocity = 50; settings.MinVerticalVelocity = -10; settings.MaxVerticalVelocity = 50; settings.Gravity = new Vector3(0, -20, 0); settings.EndVelocity = 0; settings.MinColor = Color.LightGray; settings.MaxColor = Color.White; settings.MinRotateSpeed = -2; settings.MaxRotateSpeed = 2; settings.MinStartSize = 10; settings.MaxStartSize = 10; settings.MinEndSize = 100; settings.MaxEndSize = 200; }
public override void InitializeSettings(ParticleSettings settings) { settings.TextureName = "explosion"; settings.MaxParticles = 100; settings.Duration = TimeSpan.FromSeconds(2); settings.DurationRandomness = 1; settings.MinHorizontalVelocity = 20; settings.MaxHorizontalVelocity = 30; settings.MinVerticalVelocity = -20; settings.MaxVerticalVelocity = 20; settings.EndVelocity = 0; settings.MinColor = Color.DarkGray; settings.MaxColor = Color.Gray; settings.MinRotateSpeed = -1; settings.MaxRotateSpeed = 1; settings.MinStartSize = 7; settings.MaxStartSize = 7; settings.MinEndSize = 70; settings.MaxEndSize = 140; // Use additive blending. settings.BlendState = BlendState.Additive; }
protected override void InitializeSettings(ParticleSettings settings) { settings.TextureName = "fire"; settings.MaxParticles = 2400; settings.Duration = TimeSpan.FromSeconds(2); settings.DurationRandomness = 1; settings.MinHorizontalVelocity = 0; settings.MaxHorizontalVelocity = 15; settings.MinVerticalVelocity = -10; settings.MaxVerticalVelocity = 10; // Set gravity upside down, so the flames will 'fall' upward. settings.Gravity = new Vector3(0, 15, 0); settings.MinColor = new Color(255, 255, 255, 10); settings.MaxColor = new Color(255, 255, 255, 40); settings.MinStartSize = 5; settings.MaxStartSize = 10; settings.MinEndSize = 10; settings.MaxEndSize = 40; // Use additive blending. settings.BlendState = BlendState.Additive; }
protected override void InitializeSettings(ParticleSettings settings) { settings.TextureName = "explosion"; settings.MaxParticles = 100; settings.Duration = TimeSpan.FromSeconds(2); settings.DurationRandomness = 1; settings.MinHorizontalVelocity = 20; settings.MaxHorizontalVelocity = 30; settings.MinVerticalVelocity = -20; settings.MaxVerticalVelocity = 20; settings.EndVelocity = 0; settings.MinColor = Color.DarkGray; settings.MaxColor = Color.Gray; settings.MinRotateSpeed = -1; settings.MaxRotateSpeed = 1; settings.MinStartSize = 10; settings.MaxStartSize = 10; settings.MinEndSize = 100; settings.MaxEndSize = 200; // Use additive blending. settings.SourceBlend = Blend.SourceAlpha; settings.DestinationBlend = Blend.One; }
/// <summary> /// Loads graphics for the particle system. /// </summary> protected override void LoadContent() { settings = content.Load <ParticleSettings>(settingsName); particles = new ParticleVertex[settings.MaxParticles]; LoadParticleEffect(); vertexDeclaration = new VertexDeclaration(GraphicsDevice, ParticleVertex.VertexElements); // Create a dynamic vertex buffer. int size = ParticleVertex.SizeInBytes * particles.Length; vertexBuffer = new DynamicVertexBuffer(GraphicsDevice, size, BufferUsage.WriteOnly | BufferUsage.Points); }
/// <summary> /// Loads graphics for the particle system. /// </summary> protected override void LoadContent() { return; settings = content.Load <ParticleSettings> (settingsName); // Allocate the particle array, and fill in the corner fields (which never change). particles = new ParticleVertex[settings.MaxParticles * 4]; for (int i = 0; i < settings.MaxParticles; i++) { particles [i * 4 + 0].Corner = new Short2(-1, -1); particles [i * 4 + 1].Corner = new Short2(1, -1); particles [i * 4 + 2].Corner = new Short2(1, 1); particles [i * 4 + 3].Corner = new Short2(-1, 1); } LoadParticleEffect(); // Create a dynamic vertex buffer. vertexBuffer = new DynamicVertexBuffer(GraphicsDevice, ParticleVertex.VertexDeclaration, settings.MaxParticles * 4, BufferUsage.WriteOnly); // Create and populate the index buffer. ushort[] indices = new ushort[settings.MaxParticles * 6]; for (int i = 0; i < settings.MaxParticles; i++) { indices [i * 6 + 0] = (ushort)(i * 4 + 0); indices [i * 6 + 1] = (ushort)(i * 4 + 1); indices [i * 6 + 2] = (ushort)(i * 4 + 2); indices [i * 6 + 3] = (ushort)(i * 4 + 0); indices [i * 6 + 4] = (ushort)(i * 4 + 2); indices [i * 6 + 5] = (ushort)(i * 4 + 3); } indexBuffer = new IndexBuffer(GraphicsDevice, typeof(ushort), indices.Length, BufferUsage.WriteOnly); indexBuffer.SetData(indices); }
protected override void InitializeSettings( ParticleSettings settings ) { settings.TextureName = "pixieParticle"; settings.MaxParticles = 1000; settings.Duration = TimeSpan.FromSeconds( 1.75f ); settings.DurationRandomness = 0; settings.MinHorizontalVelocity = 0; settings.MaxHorizontalVelocity = 0; settings.MinVerticalVelocity = 0; settings.MaxVerticalVelocity = 0; settings.Colors = new Vector3[] { Color.Pink.ToVector3(), new Color( 0xFF, 0xDB, 0x69 ).ToVector3(), // soft yellow Color.Turquoise.ToVector3() }; settings.EmitterVelocitySensitivity = .5f; settings.EndVelocity = 1; settings.MinRotateSpeed = -1; settings.MaxRotateSpeed = 1; settings.FadePower = 10; settings.MinStartSize = 0f; settings.MaxStartSize = .05f; settings.MinMidSize = .075f; settings.MaxMidSize = .25f; settings.MinEndSize = 0; settings.MaxEndSize = 0; }
/// <summary> /// Derived particle system classes should override this method /// and use it to initalize their tweakable settings. /// </summary> protected abstract void InitializeSettings(ParticleSettings settings);
/// <summary> /// Loads graphics for the particle system. /// </summary> protected override void LoadContent() { settings = content.Load<ParticleSettings>(settingsName); particles = new ParticleVertex[settings.MaxParticles]; LoadParticleEffect(); vertexDeclaration = new VertexDeclaration(GraphicsDevice, ParticleVertex.VertexElements); // Create a dynamic vertex buffer. int size = ParticleVertex.SizeInBytes * particles.Length; vertexBuffer = new DynamicVertexBuffer(GraphicsDevice, size, BufferUsage.WriteOnly | BufferUsage.Points); }
/// <summary> /// Derived particle system classes should override this method /// and use it to initalize their tweakable settings. /// </summary> protected abstract void InitializeSettings(ParticleSettings settings);
/// <summary> /// Derived particle system classes should override this method /// and use it to initalize their tweakable settings. /// </summary> public abstract void InitializeSettings(ParticleSettings settings);
public ParticleSystem(ParticleSettings settings) { this.settings = settings; }
/// <summary> /// Loads graphics for the particle system. /// </summary> protected override void LoadContent() { return; settings = content.Load<ParticleSettings> (settingsName); // Allocate the particle array, and fill in the corner fields (which never change). particles = new ParticleVertex[settings.MaxParticles * 4]; for (int i = 0; i < settings.MaxParticles; i++) { particles [i * 4 + 0].Corner = new Short2 (-1, -1); particles [i * 4 + 1].Corner = new Short2 (1, -1); particles [i * 4 + 2].Corner = new Short2 (1, 1); particles [i * 4 + 3].Corner = new Short2 (-1, 1); } LoadParticleEffect (); // Create a dynamic vertex buffer. vertexBuffer = new DynamicVertexBuffer (GraphicsDevice, ParticleVertex.VertexDeclaration, settings.MaxParticles * 4, BufferUsage.WriteOnly); // Create and populate the index buffer. ushort[] indices = new ushort[settings.MaxParticles * 6]; for (int i = 0; i < settings.MaxParticles; i++) { indices [i * 6 + 0] = (ushort)(i * 4 + 0); indices [i * 6 + 1] = (ushort)(i * 4 + 1); indices [i * 6 + 2] = (ushort)(i * 4 + 2); indices [i * 6 + 3] = (ushort)(i * 4 + 0); indices [i * 6 + 4] = (ushort)(i * 4 + 2); indices [i * 6 + 5] = (ushort)(i * 4 + 3); } indexBuffer = new IndexBuffer (GraphicsDevice, typeof(ushort), indices.Length, BufferUsage.WriteOnly); indexBuffer.SetData (indices); }
/// <summary> /// Initializes the component. /// </summary> public void Initialize(string path) { //InitializeSettings(new ParticleSettings(path)); settings = new ParticleSettings(path); // Allocate the particle array, and fill in the corner fields (which never change). particles = new ParticleVertex[settings.MaxParticles * 4]; for (int i = 0; i < settings.MaxParticles; i++) { particles[i * 4 + 0].Corner = new Short2(-1, -1); particles[i * 4 + 1].Corner = new Short2(1, -1); particles[i * 4 + 2].Corner = new Short2(1, 1); particles[i * 4 + 3].Corner = new Short2(-1, 1); } }
public void LoadContent() { this.settings = this.content.Load<ParticleSettings>(this.settingsName); this.particles = new ParticleVertex[this.settings.MaxParticles]; this.LoadParticleEffect(); this.vertexDeclaration = new VertexDeclaration(this.GraphicsDevice, ParticleVertex.VertexElements); int size = 32 * (int)this.particles.Length; this.vertexBuffer = new DynamicVertexBuffer(this.GraphicsDevice, size, BufferUsage.WriteOnly | BufferUsage.Points); }