♪♪♪ Zak Parrish: Hi there. Now we are going to go over the creation of a ribbon emitter. A ribbon is going to create a ribbon of particles from another emitter in the same particle system. Click to open our MyParticleSystems folder we have been working in so far. Click New and select New Folder. Call this "Ribbon". Click the Ribbon folder. We could start off with a new Material. That would be completely reasonable. However, this is going to take a Material that is essentially the same as the one we made for the beam emitter. I am going to go into the Beam folder. Drag-and-drop Mat_Beam onto the Ribbon folder, and select Copy Here. Click the Beam folder. Right-click Mat_Beam and select Rename. We will call it "Mat_Ribbon". We could reuse it without renaming it. I am renaming it for overall cleanliness. If you didn't follow the last video, you can probably pause the video right here and you have all the information you need to recreate this Material yourself. That was enough time for you to have paused and done that. Close the Material Editor. Now we are ready to create the particle system itself. Call this "P_Ribbon". Double-click P_Ribbon to open it.This is going to have two (2) parts. Drag Cascade out of the way for just a minute. We will get back to Cascade. We don't need to make another Material for that. Go into the Sprite folder to our original sprite Material, which we called Mat_Sparks. Drag-and-drop Mat_Sparks into the Ribbon folder. Select Copy Here. Double-click to open Mat_Sparks to see that Material. It is even simpler. The Material just a Radial Gradient Exponential that is multiplied by a Particle Color. The Particle Color is multiplied to drive Emissive Color. The Alpha is multiplied to drive Opacity. That should be enough for you to recreate the sparks Material with the help of your Pause button. Right-click Mat_Sparks and select Rename. We will call this "Mat_ RibbonSource". You will see why in just a moment. Double-click P_Ribbon to go into Cascade. That makes me much happier. Let's apply our Material. Some people like to do the behavior first and not worry about the Material. I like having some sort of a material ready to go. That is just a workflow preference. It is entirely up to you. Select the Initial Size module. Set the Min and Max X, Y, and Z values to 5. I have had people ask before if there is any sort of performance gain in using a Constant distribution with a single value as opposed to using Min and Max with the same value. If there is one, it should be completely imperceptible. It does not matter which method you use. Feel free to set Min and Max to the same thing, if you don't want to change to a Constant distribution. Select the Initial Velocity module. Let's move these particles out in a wider dispersal pattern. For the Max, set X and Y to 30. For the Min, set X and Y to -30. The particles are flying out in all directions. Let's go ahead increase the upward velocity a little bit. For the Max, set Z to 200. For the Min, set Z to 100. Let's add some acceleration to pull it back down to the ground. Right-click in the Emitter List, go to Acceleration, and select Const Acceleration. Set the Z value to -500. Those particles are doing their thing. I feel like the upward velocity could be a little slower. Set the Z value to 200. Select the Initial Velocity module. I am going to decrease the Initial Velocity. Set the Max Z value to 100. Set the Min Z value to 50. It is a start. What happens if I set the Max Z value to 50 and the Min Z value to 30? That is a little slower. Select the Const Acceleration module. Set the Acceleration Z value to 500. That is just not quite what I want. I want -500 for the Z value. That is silly of me. I am trying to pull down. Set the Z value to -10. That is starting to pull down. Particle systems involve a lot of tweaking. It is a lot of trial and error. That is starting to get a little better. Select the Lifetime module, we are going to increase the lifetime. Set the Min and Max values to 5 seconds. Awesome. That is kind of what I want. I want them to puff up into the air and then fall back down. We don't need quite so many particles. Click the Spawn module. Set the Constant value to 5. That should be fine. Now, we have a Color Over Life module. I don't really want that. We can use Initial Color to keep things simple. Select Color Over Life, and press Delete. Right-click, go to Color, and select Initial Color. Let's do a red color. Set X to 20. Set Y to 5. Set Z to 1. That is kind of orange. Set Y to 2. That is mostly red. We will do that. Select the Required module. Set Screen Alignment to PSA Velocity. Right-click in the Emitter List, go to Size, and select Size By Speed. In the Emitter List, select the Size By Speed module. Set the Speed Scale and Max Speed Y values to 4. There we go. Now the particles are starting to stretch out. It looks like flaming hot pieces of rice, which is kind of funny. Now, we are ready to add our ribbon emitter. Let's go ahead and create our first emitter from scratch. Right-click, and select New Particle Sprite Emitter. Right-click in the empty spot, go to TypeData, and select New Ribbon Data. Suddenly, everything seems to disappear which is no good for us. There it is. It took a second to calculate. That is not at all what we want. There are a couple key things to ribbon emitters. Select the Spawn module. Under Rate, set the Constant to 0. You are not really spawning anything. Right-click, go to Spawn, select Spawn PerUnit. Select the Spawn PerUnit module and drag it up in the stack. Under Spawn Per Unit, set the Constant to 1. That is almost going to get us there. Right-click, go to Trail, and select Source. Select the Trail Source module. Click the Source Method drop down and select PET2SRCM Particle. These are going to be emitted from a particle. Select the Source Name. We need to name this emitter. Currently, it is named Particle Emitter. Naming your emitters is a lot more important than I have let on. Let's show how to name emitters. Right-click, and choose Rename Emitter. We will call this "RibbonSource". In the Details panel for the Source module, set the Source Name to "RibbonSource". That is getting us somewhere near where we want to be, but it is not quite perfect just yet. We can use our real Material for the Required module. That would probably be a lot better. Drag-and-drop Mat_Ribbon onto the Material. Select the Ribbon Data module. In the Details panel, we have max Sheets Per Trail. We have Max Trail Count. Set Max Trail Count to 50, so we can have up to 50 trails at a given moment. Those are starting to look pretty good, but still kind of terrible. Select the Initial Size module. We're going to decrease the value. Click the Distribution drop down and select DistributionVectorConstant. Under Constant, set the X and Y values to 2. It is starting to kind of happen. We also need to get rid of the Initial Velocity. That is cool for simulating some smoke. Out of curiosity and nothing else, set Sheets Per Trail to 10. That is starting to look a little bit like smoke. You could probably simulate smoke that way. I don't really want to do that. To fix that, select the Initial Velocity module and press Delete. As you can see, now we really are just leaving trails behind. Select the Lifetime module. We need to increase the lifetime. Set the Min and Max to 3.0 seconds. You can see we are leaving those nice trails behind. Select the Color Over Life module and press Delete. Right-click, go to Color, and select Initial Color. Drag Initial Color up in the stack. We will make this something intensely blue. Set Z to 20 for blue. Set Y to 3 for green. Now we are getting these nice neon streaks. The only thing we could do to make things look a little bit better is let's add a Color Over Life module. Right-click, go to Color, and select Color Over Life. Select the Color Over Life module. Drag Color Over Life higher in the stack. We don't necessarily need the actual color to change over life. We are going to select Initial Color and press Delete. I changed my mind. I want the particles to fade out. That is my real problem. Select the Color Over Life module. Click the Distribution drop down and select DistributionVectorConstant. Again, the color will be an intense blue. Set Z to 20 for blue. Set Y to 5 for green, to give it a cyan color. Then, we will create a curve for Alpha Over Life. We already have a curve that goes down from 1. At Point 0, it has an In Val of 1. It has a value of 1 when spawned. At death and In Val of 1, it has an Out Val of 0 which is faded out. At Point 1, set the In Val to 0.7. That means these particles are going to fade out much sooner. That helps get rid of the jagged popping at the end of the trail by just a little bit. At Point 1, set the In Val to 0.4. The particles will fade really early. This kind of helps so you don't see quite as much of that popping at the end. Select the Lifetime module. Increase the Lifetime values. The lifetime could be very high now. Select the Ribbon Data module. Dead Trails on Deactivate and Dead Trails on Source Loss are checked. If they lose their source particles, then they go away. Select the Lifetime module. Set the Min and Max to 4.0 seconds. There we go. Drag-and-drop P_Ribbon into the level. Use the Move Tool to drag it up. Press G to enter Game Mode. We have some particles that are leaving ribbons behind. That is a really simple look at creating ribbons. It is a way to create a ribbon-like effect based off of another particle system. That is going to wrap things up for this video. Thank you so much for watching. ♪♪♪