Navigation

Ventuz Introduction

  • Introduction
  • Getting Started
  • Ventuz Editions
  • Ventuz Products
  • Realtime Rendering
  • Frequently Asked Questions
  • Common Mistakes
  • Deploying a Ventuz Presentation
  • Scene Performance and Tweaks

Quick Guides

  • Quick Guide Index
  • Business Logic
  • 3D Art
  • 2D Art
  • Programming
  • System Engineer

General

  • Index
  • What's New
  • Ventuz System Requirements
  • Communication Protocol Overview
  • Configuration Editor
  • Audio / Video Configuration
  • Machine Configuration
  • Web Configuration Editor and License Manager
  • GPI Configuration for Runtime or Director
  • Supported Formats
  • Supported Hardware
  • Multisampling / Anti-Aliasing
  • Input Subsystem
  • Ventuz Proprietary Files
  • Migrating Content to Ventuz 6
  • Migrating Content to Ventuz 5
  • Summary Shortcuts
  • Terminology
  • Manual Index

Ventuz Designer

  • Designer Indices
Introduction
  • Designer Introduction Index
  • Designer Overview
  • Realtime Rendering
  • Project Browser
  • Designer Interface
  • Designer Options
  • Working with Nodes
  • Hierarchy and Content Editors
  • 2D Workflow
  • 3D Workflow
  • Animation Workflow
  • Best Practices
  • Reading Data in Ventuz
  • Display Images and Movies
  • Scene Performance and Tweaks
  • Deploying a Ventuz Presentation
  • Render to Disk
User Interface
  • Designer User Interface Index
  • Designer Interface
  • Renderer Window
  • Layer Editor
  • Property Editor
  • Property Groups
  • Hierarchy Editor
  • Content Editor
  • Find and Replace
  • Toolbox
  • Animation Editor
  • Shader Editor
  • Text Editor
  • Message View
  • Scene Tree
  • Stage Editor
  • Container Outline
  • Watches Editor
  • Performance Statistics
2D Workflow
  • 2D Workflow Index
  • 2D Workflow
  • Layer Editor
  • Common Layer Properties
  • IPP Effects
  • Color Correction FX
  • Distortion FX
  • Filter FX
  • Hierarchy and Content Editors
  • Display Images and Movies
3D Workflow
  • 3D Workflow Index
  • 3D Workflow
  • Hierarchy and Content Editors
  • Renderer Window
  • Camera Navigation
  • Manipulate Objects with Gizmos
  • Layer Editor
  • Property Editor
  • Hierarchy Editor
  • Working with Nodes
  • Isolated Objects
  • Containers
  • Text Rendering
  • Character Sets
  • Geometry Import
  • Display Images and Movies
  • Particle System
  • Creating Realistic Reflections
  • Unreal Integration
  • Notch Integration
  • E2E Node Overview
Logic Workflow
  • Logic Workflow Index
  • Hierarchy and Content Editors
  • Content Editor
  • Hierarchy Editor
  • Working with Nodes
  • Property Editor
  • Containers
  • Project and Scene Data
  • Reading Data in Ventuz
  • Display Images and Movies
  • Input Subsystem
  • Multitouch
  • TUIO Protocol
  • Open Sound Control
  • Unreal Integration
  • Notch Integration
  • E2E Node Overview
Animation Workflow
  • Animation Workflow Index
  • Animation Workflow
  • Animation Editor
  • Content Editor
  • Hierarchy Editor
  • Property Editor
  • Animation and State Engine
  • Templates
  • Template Engine
  • Unreal Integration
  • Notch Integration
Project Structure
  • Project Structure Index
  • Annotations
  • Projects and Scenes
  • Project Properties
  • Project Maintenance
  • Project and Scene Data
  • Scene Management
  • Scene Statistics
  • Scene Tree
  • Performance Statistics
How Tos
  • Designer How to Index
  • How to Run Ventuz
  • How to Work with Designer
  • Ventuz Designer Drag&Drop Workflow
  • How to work with Shadows
  • How to Build Content for Multiple Screens
  • How to Use Emoijs
  • How to Build a Template
  • How to Use the Color Difference Keyer
  • How To Use the HDR Engine
  • How Create Lens Flares and Bloom
  • How to Create Visuals Loader Node
  • How to Remote Control with a Phone
  • How to use Head Mounted Displays
  • How to work with 3D Reference Layers
  • How to create a Firework Particle System
  • How to use DDS with new Block Compression modes
  • How to use the Substance Integration
  • How To Integrate Unreal
  • How To Integrate Notch
  • How To use the Vertex Integration
  • How To Control and Customize Ventuz
Reference
  • Available Nodes
  • Animation Nodes
  • Material&Color Nodes
  • Data Nodes
  • E2E Nodes
  • Geometry Nodes
  • Interaction Nodes
  • IO Nodes
  • Layers
  • Light Nodes
  • Logic Nodes
  • Render Option Nodes
  • Slides Nodes
  • Sound Nodes
  • Text Nodes
  • Texture Nodes
  • VR Nodes
  • World Nodes
  • Summary Shortcuts
  • Layer Editor Shortcuts
  • Hierarchy Editor Shortcuts
  • Content Editor Shortcuts
  • Animation Editor Shortcuts
  • Director Shortcuts

Ventuz Director

  • Index
  • Introduction
  • Environment
  • Show
  • User Interface
  • Assets
  • Taking Action
  • Property Editor
  • Shot Box
  • Project Data
  • Pages
  • Playlist
  • Timeline
  • Content References
  • Topology
  • Channels
  • Macros
  • Designing Templates
  • Plug-Ins
  • Shortcuts
  • Command Line Options
  • Application Settings
  • Glossary
  • GPI Configuration

Ventuz Runtime & Configuration

  • Runtime Index
  • Configuration Configuration Editor
  • Machine Configuration
  • Video/Audio Configuration
  • Web Configuration Editor and License Manager
  • Render Setup Editor
  • Warping and Soft-Edging Editor
  • Machine Clustering
  • Supported Hardware
  • Director Mode
  • Runtime How Tos Index
  • How to Configure Audio
  • How to Use Live Options
  • How To Play Out On Multiple Screens
  • How To Render on a Machine Cluster
  • How to Use Head Mounted Displays
  • How to Setup Spout with Ventuz
  • How to Use Newtek NDI
  • How to Use a Mixed Frame Rate Cluster
  • How to Use Tracking

How To

Designer
  • Designer How to Index
  • How to Run Ventuz
  • How to Work with Designer
  • Ventuz Designer Drag&Drop Workflow
  • How to work with Shadows
  • How to Build Content for Multiple Screens
  • How to Use Emoijs
  • How to Build a Template
  • How to Use the Color Difference Keyer
  • How To Use the HDR Engine
  • How Create Lens Flares and Bloom
  • How to Create Visuals Loader Node
  • How to Remote Control with a Phone
  • How to use Head Mounted Displays
  • How to work with 3D Reference Layers
  • How to create a Firework Particle System
  • How to use DDS with new Block Compression modes
  • How to use the Substance Integration
  • How To Integrate Unreal
  • How To Integrate Notch
  • How To build and playback Ventuz Content in Vertex
Runtime & Configuration
  • Runtime How Tos Index
  • How to Configure Audio
  • How to Use Live Options
  • How To Play Out On Multiple Screens
  • How To Render on a Machine Cluster
  • How to use Head Mounted Displays
  • How to setup Spout with Ventuz
  • How to use Newtek NDI
  • How to use a Mixed Frame Rate Cluster
  • How to use Tracking
  • How To Integrate Unreal
  • How To Integrate Notch
  • How To build and playback Ventuz Content in Vertex
Director
  • How To Control Multiple Graphics Independently From Each Other
  • How to use the Companion with Director

Ventuz Node Reference

ANIMATION
  • Mover
  • Alternator
  • Simple Control
  • Timeline Control
  • Anmation Rig
  • Keyframe Animation
  • Animation Group
COLOR/MATERIAL
  • Alpha
  • Fog
  • Ground Fog
  • Sky Box
  • Color to RGBA
  • HSLA to Color
  • RGBA to Color
  • Color Transformer
  • HLSL Shader
  • Color
  • Material
  • Color Picker
  • Substance Material
DATA
  • Database
  • Excel
  • JSON
  • RSS Feed
  • Resource Linker
  • Text File
  • XML
E2E
  • E2E Axis
  • E2E Data
  • E2E Control
  • E2E Layer
  • E2E Provider
  • E2E Node Overview
GEOMETRY
  • Rectangle
  • Rounded Rectangle
  • Gradient Rectangle
  • Overlay Rectangle
  • Cube
  • Circle
  • Sphere
  • Cylinder
  • Cone
  • Torus
  • Chart
  • Random Points
  • Mesh Loader
  • Geometry Import (Live)
  • Volume
  • Get Bounding Box
  • Arrow
  • Particle System
  • Path Renderer
  • Geometry Renderer
INTERACTION
  • Interaction Rect
  • Touch Button
  • Touch Excluder
  • Touch Marker
  • Touch Paint
  • Touch Pattern
  • Touch Proxy
  • Touch Ripples
  • Touch Transformations
  • Web Browser
  • Touch Teleport
  • Touch Simulator
INPUT/OUTPUT (I/O)
  • GPI
  • Joystick
  • Keyboard
  • MIDI
  • Mouse
  • Network
  • Open Sound Control
  • Serial
  • Timecode
  • DMX
  • HTTP
  • RamDiskWriter
LAYER
  • 3D Layers
  • 3D Layer Reference
  • 2D Layers
  • PSD Import Layer
  • E2E Layer
  • Others
LIGHT
  • Light Sources
LOGIC
  • Array Processing
  • Convert To Text
  • Cluster Synchronization
  • Counter
  • Date Time
  • Directory
  • Dispatcher
  • Enumeration
  • Expressions
  • Invert
  • Log
  • Loop Breaker
  • Math Effects
  • Matrix Operations
  • Scene Event
  • Script
  • String Operations
  • System ID
  • Text Splitter
  • Timer
  • Toggle
  • URL
  • Value Switch
  • Value Buffer
  • Variables
  • Visual Indexer
RENDER OPTIONS
  • Alpha Blending
  • Color Write
  • Alpha Testing
  • Clip Plane
  • Filter
  • Mask
  • Mirror
  • Effect
  • Render Cube Map
  • Draw Modes
  • Stencil
  • ZTesting
SOUND
  • Audio Clip
  • Sound
  • Volume Control
  • Audio Analysis
SLIDES
  • Slide Manager
  • Slide
  • Slide Port
  • Pivot
TEXT
  • Text Effects
  • Text Layouts
  • Text Rendering
TEXTURE
  • Background
  • Hatch
  • Image
  • Texture
  • SVG Loader
  • Gradient Texture
  • Live Video
  • Movie Stream
  • Movie Frame
  • Movie Clip
  • Texture Loader
  • Snapshot
  • Snapshot Framebuffer
  • Texture Saver
  • Video Source Selector
  • VIO Input
  • Spout Receiver
  • NDI Receiver
  • Substance Loader
  • QR Code
VR/AR
  • Tracked Devices
  • Draw Tracked Devices
WORLD
  • Axis
  • Billboard
  • GetWorld
  • SetWorld
  • Arrange
  • Ticker
  • Layout
  • Group
  • World Z Sort
  • YesNo
  • Switch
  • Spread
  • Filter Pass
  • Set Pass
  • Hierarchy Container
  • Scene Port
  • Content Container
  • Template Port
  • Container Info
  • Camera
  • Paths

Advanced and Development

  • Advanced and Development Index
  • Command Line Options
  • Ventuz IP Ports
  • Ventuz Machine Service
  • TUIO
  • .NET Scripting
  • HLSL Shader Programming
  • Ventuz API and SDK
  • Ventuz Extension API
  • Ventuz VIO API
  • Ventuz File Format (VFF)
  • Ventuz Stream Out API
  • Lens Calibration File for FreeD
  • E2E Node Overview
  • Unreal Integration
  • Notch Integration
Remoting
  • Remoting Index
  • Remoting Overview
  • How To Control and Customize Ventuz
  • Remoting 4
  • Remoting 4 via Websockets
  • Remoting 4 via HTTP
  • Director Remoting
  • Deprecated Remoting
  • Remoting Machine Signature

Misc

  • Presets
« Previous:
» Index «
Next: »

How To create a Firework Particle System

Table of Contents

  1. Introduction
  2. Tips and Preparation
  3. Setup
  4. The Body
  5. Trail
  6. Flares
  7. Glitter
  8. Camera
  9. Layer FX
  10. Conclusion

In this how to you will follow steps to create a somewhat complex Particle System. It will be made of different Inline Streams and it will use Links to write into buffers that can be read out from different emitters and other streams.

This is a a very straight forward How To, but it is very important to stick to the orders of the Modules and Nodes used inside the Particle Streams. Pay attention to the Values! Sometimes slightly different values can have a big impact on the overall look and feel of the Particle System Result.

You will find a small explanation at the end of each Stream, which should give you an idea of what you have added to it, and why you have made changes to specific values.

This How To is directed to intermediate users of Ventuz. You should be familar with Nodes and Bindings, working with the Color Gradient Editor, how to handle the String node and how to get around with Materials.

Introduction

Even if it seems to be an easy task to create a firework, it is made of a complex rundown. Imagine how a firework works and how you would need to create the particles for it:

  • First the Rocket, Capsule or Mainbody is shot in the air. Gravity pulls it a bit down after a moment since it loses energy.
  • The Body has a sparkling trail which is the result of the burning propellant.
  • After a given time the Body explodes and therefore the propellant stops.
  • This ignites the blackpowder for the flares that shoot out.
  • You see the glitter in the air from the blackpowder. The Glitter is slowly pulled down due to the gravity.
  • The flares are scattering around and start to fall down due to the gravity.

Tips and Preparation

As you see, this is not as easy as it looks in first. Especially if you would need to realize this with a Ventuz Particle System. After you have a rough idea of how a single firework shot works we can start to create our own virtual firework! But before that we start with some tips related to this HowTo:

We will create several Gradients and therefore work with the Color Gradient Editor, also a good thing to know is that you can make use of a String node to Get and Set Gradients. You will see a Gradient String inside of collapsible elements like the following one.

Copy and paste the content inside a string node String node

Custom Gradient String - Test
RGBA;c0:(1, 1, 0);c0.1803922:(0.9176471, 0.4117647, 0);c0.3529412:(0.7244582, 0.3250774, 0);c0.3529412:(0.9372549, 0.827451, 0);c0.5568628:(0.9568627, 0.4, 0);c0.7098039:(0.9568627, 0.8313726, 0);c0.7098039:(0.6266181, 0.2619469, 0);c0.8745098:(0.9568627, 0, 0.07843138);c1:(0, 1, 0.9647059);a0:(1);a0.2745098:(0.1215686);a0.3568628:(1);a0.4666667:(0);a0.6156863:(1)

Bind the Gradient Property to the String node.

The Gradient will then use the content of the String node and you have a customized Gradient. You can delete the String node afterwards.

Setup

We will work in a Standard 3D-Layer, use a Particle System node and create four Inline Streams. The four streams are named: Body, Trail, Flares and Glitter.

Start by dragging and dropping a ParticleSystem into the Hierarchy Editor and select the First Inline Stream:

The Body

This is the Mainbody of our Firework and will be the longest stream. Rename the Inline Stream to Body.The Body is made of a Source emitter , Directional Gravity modifier , Gradient , Link Out , again a Gradient followed by a Simulation Module , another Gradient and a Sprite renderer.

Use the following Values for the Emitter and Modules:

Source Emitter:

Property Value
SpeedY 7
RandomSpeedX 2
RandomSpeedY 0.25
RandomSpeedZ 2
RandomSpeedAll 0
Rate 0.25
Burst 0

Directional Gravity:

Property Value
GravityY -9

Gradient:

Plain White - Remove all the stops so that just a white gradient is left.

Property Value
Operation Overwrite

Its important to set the Operation to Overwrite. If you use the Gradient inside a simulaion loop you must set the operation to overwrite, else the color will be multiplied and it just takes seconds until the color is black! A red warning message will appear to help noticing whenever this happens.

Link Out:

Property Value
LinkName Body

Gradient:

Rainbow Preset - Just select the Rainbow Preset

Property Value
Source Random
Target Color&Alpha
Operation Overwrite

Simulation:

Property Value
TimeoutEvent BodyDead
EnableTimeoutEvent true

Gradient:

Plain White - Remove all the stop so that you just got a white gradient

Property Value
Operation Overwrite

Sprite Renderer

Unfold the Materialstage with the default sprite (alphaglow_full.png) and set the color to:

Property Value
BaseColor 66,39,0

We have used a lot of Modules and Values right now. Lets go trough the "what and why": The SourceEmitter has been set to shoot a Particle every 4 seconds (0.25 / Second) with an overall speed along the Y axis of 7. With the Random Speed we have managed it that the Particle will not only go straight up, it will vary for every shot.

The DirectionalGravity will pull the Particle/Body down, we used a nearly realworld value of 9 here.

The first Gradient inside the simulation loop: We set it to White and Overwrite to make sure it will create a plain white particle for the next simulation loop again. Afterwards we are able to modify its color by adding another color ontop. Since this Gradient is inside a simulation loop we had to set it to overwrite, if we would not have done that it would just take a few seconds or loops until the color multiplied itself to black. The only possible and allowed operation for the first gradient module inside a simulation is to have the overwrite option.

The Link Out has been named Body, so another stream (e.g. a secondary emitter) can make use of this Linkbuffer. Emitters and Streams can make use of the Position and all the other values provided by the Link Out. In our case we will hook the "Trail" Inline Stream onto the Body position by using the Link Out Buffer. Since we used a Gradient with a Color-Overwrite before, it will output this color values as well.

Then again we use a Gradient. This time the Source is set to Random and it has a Rainbow-Preset applied with the Overwrite option again. Since we have the Source set to Random it will, whenever a new particle is emitted, create a differently colored particle. This Random Color Value information will be output with the next module, the Simulation

Simulation has been named BodyDead and we have set EnableTimeoutEvent. This will write internally into a buffer named BodyDead, as soon as the particle from this simulation dies. This buffer can be used to "ignite" the Flares- and Glitter- particle inline streams. We also write the Random Color Value from before into the buffer so that every Flare will have a random color when it is emitted.

Again we use a Gradient with plain White and the Overwrite option to have a plain white base color for the next module, the Sprite renderer.

The Sprite, which will render a simple alphaglow on the screen has been adjusted to a slight orange.

This is one of the most complex streams right now since we have a lot of link-outputs and buffers and we needed to create the base for all the following streams.

Trail

Time to create the Trails that are the burning propellant of the Rockets Body. The trail will constantly emit from the Body position and the black powder will fade off after a while. Create a new Inline Stream, name it Trail and use a Secondary emitter, Simulation , Gradient modifier and a Sprite renderer.

Use the following Values for the Emitter and Modules:

Secondary emitter:

Property Value
LinkName Body
RandomPosX 0.1
RandomPosY 0.1
RandomPosZ 0.1
RandomSpeedAll 0.2
Rate 250
Lifetime 0.5
RandomLifetime 65%
Jitter 1

Simulation:

Nothing changed

Gradient:

Property Value
Source Age
Target Size

Sprite:

As with the Body- Sprite, Unfold the Materialstage with the default sprite (alphaglow_full.png) and set the color to:

Property Value
BaseColor 66,39,0

What and Why:

Now we used a Secondary Emitter as the Particle Source. The advantage of the Secondary Emitter in this case is that we can use a "link" and make use of another particle's position. Therefore we used the LinkName Body, this created a link between the body- and the trailemitter. Technically it reads out the Buffer called Body which holds information like: Position, Color and Forward Vector.

The Simulation makes it possible to modify the particles in realtime and make the trail follow the body.

The gradient is used like a curve-editor: we set the source to the Age and the target to the Size of the particles. With the gradient itself we define vaules. The Gradient will be used as an "Over time..." module now. So the White at the beginning of the gradient will indicate that the particles are at the biggest size, while at the end of their Lifetime the Black will scale the particle down to zero.

The rendered particle again is set to the same slight orange color as the body.

Flares

This will also be a long Inline Stream. Create a new Inline Stream named Flares with the following emitter and modules: We need a Secondary emitter, Directional Gravity module, Simulation , a Gradient and an Animation module, a Sprite renderer and Link Out .

Use the following Values for the Emitter and Modules:

Secondary Emitter:

Property Value
LinkName BodyDead
RandomPosShape Bouble
RandomSpeedAll 2.2
RandomSpeedShape Bouble
Rate 0
Burst 100
Lifetime 3
RandomLifetime 33%
Jitter 1

Directional Gravity:

Property Value
GravityY -0.75

Simulation:

nothing Changed

Gradient: Just a Custom Gradient, which can be used with the Copy&Paste into a String node technique.

Flares: Color&Alpha Gradient String
RGBA;c0:(1, 1, 1);c0.8588235:(0.9490196, 0.9490196, 0.9490196);c1:(0, 0, 0)

Animation:

Property Value
Source Age
Target Sprite Rotation
Base 0.5
BaseRandom 2
SpeedRandom 1

Sprite:

Property Value
Scale 0.575

New Material Stage - Base&Alpha and use the Spike Star Texture

Link Out:

Property Value
LinkName Sparks

What and Why:

Again we used a Secondary emitter which was bound to the LinkName BodyDead. Whenever a Body dies it will start to emit - in our case Burst - around 100 Particles. The RandomSpeed was set to 2, which will shoot the particle burst in all directions. Since we used Bouble for the RandomPosShape, the particles will not emit in a real spherical manner, the Bouble will distribute the particles more uneven. The same goes for the RandomSpeedShape. We also set the Burst instead of the Rate, since we want to have a real Burst for one time instead of a constant emmiter with a rate. RandomLifetime has been set to 33% which will let the overall emitted particles die randomly - 33% earlier and later.

Gravity has been set to a low minus value (-0.75) which will pull the particles/flares a bit down, but not as heavy as the earth-like gravity.

The Simulation is mandatory.

With the Gradient, which is set to have a fade-to-black it at the very end, we manage it to have the particles to fade out at the end of their lifetime.

The Animation has its Target set to the Sprite Rotation. We modified the BaseRandom to 2, the result is now a Value between 2 and -2. So each emitted particle will have a random rotation at the beginning. By setting the SpeedRandom to 1 the particles will rotate either clockwise or counterclockwise with a random speed value (again between a range of -1 to 1).

As Sprite we selected the internal resource SpikeStar and used a Scale value of 0.575.

The Link Out LinkName is Sparks since we want to use a Secondary emitter that will create the glitter which some people like to call "golden shower firework sparks".

Glitter

The last stream of the whole particle system. The Glitter is a lot of small sparks that fall down like the famous golden shower effects for fireworks. The Glitter is made of a Secondary emitter , Directional Gradient , Simulation , three Gradient and a Sprite renderer .

Use the following Values for the Emitter and Modules:

Secondary:

Property Value
LinkName Sparks
Rate 50
LifeTime 4
RandomLifetime 59%
Jitter 0.606

Directional Gravity:

Property Value
GravityY -0.271

Simulation:

Nothing Changed

Gradient:

Just a Custom Gradient

Property Value
Target Size

Glitter: Size Gradient String
RGBA;c0:(0.372549, 0.372549, 0.372549);c0.07843138:(0.827451, 0.827451, 0.827451);c0.2627451:(0.6668763, 0.6668763, 0.6668763);c0.2745098:(1, 1, 1);c0.3254902:(0.6122126, 0.6122126, 0.6122126);c0.4745098:(0.4823863, 0.4823863, 0.4823863);c0.4862745:(1, 1, 1);c0.5137255:(0.2588235, 0.2588235, 0.2588235);c0.6117647:(0.2066414, 0.2066414, 0.2066414);c0.6156863:(1, 1, 1);c0.6627451:(0.1795067, 0.1795067, 0.1795067);c1:(0, 0, 0)

Gradient:

Used as Constant Color

Colorvalue 155,110,28

Property Value
Source Age
Target Color&Alpha
Operation Overwrite

Gradient:

Another Custom Gradient

Property Value
Source Age
Target Color&Alpha

Glitter: Color&Alpha Gradient String
RGBA;c0:(0, 0, 0);c0.1372549:(0.1568628, 0.1568628, 0.1568628);c0.1411765:(1, 1, 1);c0.1686275:(0.3568628, 0.3568628, 0.3568628);c0.2627451:(0.7568628, 0.7568628, 0.7568628);c0.2666667:(1, 1, 1);c0.2901961:(0.7098039, 0.7098039, 0.7098039);c0.2901961:(0.4980392, 0.4980392, 0.4980392);c0.4588235:(0.5568628, 0.5568628, 0.5568628);c0.4666667:(1, 1, 1);c0.4862745:(0.5137255, 0.5137255, 0.5137255);c0.5921569:(0.4235294, 0.4235294, 0.4235294);c0.5960785:(1, 1, 1);c0.6196079:(0.3803922, 0.3803922, 0.3803922);c0.6980392:(0.3176471, 0.3176471, 0.3176471);c0.7098039:(1, 1, 1);c0.7333333:(0.2666667, 0.2666667, 0.2666667);c1:(0, 0, 0)

Sprite:

Property Value
Size 0.05

What and Why:

For the Secondary emitter we have just made adjustments to the Rate and Lifetime to have long-lasting particles with a high variation in their RandomLifetime.

The Gravity has been adjusted to pull the particles gently downwards.

The first Gradient has a general fadeout but with very bright spikes in it just to have a more glitter-like effect which scales the particles up sometimes. Another Gradient is just to set a constant Color and Overwrites the actual color.

The last Gradient has again very bright spikes but is set to add onto the color. This produces a flickering effect which is common for a golden shower firework. The small particles will start to blink and flicker.

Sprite Size has been adjusted to 0.05 which is very tiny and will allow us to have a high amount of Particles on screen. On one hand we have a high amount of Particles on screen on the other we have them very tiny and blinking and flickering.

Camera

Just create a camera in the Hierarchy Editor and set its Position to : PositionX -0.5, PositionY 2.5, PositionZ -10.

Layer FX

To have a bit more Glow and Effects applied we would add two layer effects to the 3D - Layer. The Glare and Feedback.

Adjust the FX like in the Screenshot below to enjoy a wonderful Firework Particlesystem with random Colors.

Conclusion

It is possible to have one Particle System made out of different Inline Streams. You can use a simple Particle System to create stunning Effects and on the other hand, sometimes you need to create complex Particle Systems to create simple Effects.

Links are Buffers, you can write anything at anytime into these buffers, give them a name and access these buffered values everywhere. You can use these Buffers (Link Out and Link In) to control a secondary emitter and reuse the positions, colors and vectors. You can use the DeathTime to fire a secondary emitter. Gradients can be used as a kind of curve editor. You can remap values to control other parts or modules and modifiers of a Particle System. The possibilitys you have are nearly endless and you can create amazingly complex particle systems. Even with this "How To" we have just scratched the surface, we have a lot more Emitters, Modifiers and Renderers available. If you want to dive more deeply into the Particle System world just download our Presets and have a look at them.

Since you have now successfully completed this how to you should have a better understanding of all the modules and how they work together.

If you have created a stunnig Particle System which you would like to share, we invite you to share it on our forum ​Ventuz Forum.

This Scene can be found in the donwloadable Particle Presets : FireWork_II.vzs

See also:
  • Particle System node
  • Color Gradient Editor
  • String node
  • Anchor
  • Layer IPP Effects

« Previous:
» Index «
Next: »
Copyright 2022 Ventuz Technology