Tech - Week Twelve
Particle effects are a quick and relatively easy way to get movement into an otherwise still lifeless environment. The past week I have been working on the ‘Effects Pack’ portion of the ‘Environment Pack’; creating a few particle effects based around the theme that will help bring some movement into any level made using the pack.
I have had experience before working with different particle systems, mostly CryEngine 3’s particle editor, which are inherently similar to ‘Cascade’ in UE4, being a module/ list based system as appose to ‘Niagara’ UE4’s upcoming node based particle system. I took the early part of the week familiarising myself with the editor and researching into the possibilities available. Looking at examples given by EPIC (e.g. Elemental Demo, Effects Cave) as well as examples in games and film.
![ElementalDemoFire.gif](https://static.wixstatic.com/media/4d824d_2c28d0bce1ab4bebbac9a63d8412dc9d.gif/v1/fill/w_200,h_360,al_c,pstr/4d824d_2c28d0bce1ab4bebbac9a63d8412dc9d.gif)
As if they knew that’s what I was working on, EPIC’s Unreal Engine livestream that week was based on VFX and had Bill Kladis from ImbueFX on giving some quick demo’s and tips on the UE4 editor and how to make particle effects, which was a great help.
A key point I took away from the livestream was the use of blueprint to drive the particle effects and how you can use that to add even more depth and add functionality with the use of.
![Firebarrel2.gif](https://static.wixstatic.com/media/4d824d_581f9a68d0224864b4c4674ef8f4e0f4.gif/v1/fill/w_485,h_270,al_c,pstr/4d824d_581f9a68d0224864b4c4674ef8f4e0f4.gif)
![Firebarrel.gif](https://static.wixstatic.com/media/4d824d_434806211cbb4c77ba65aa42af9269a3.gif/v1/fill/w_480,h_270,al_c,pstr/4d824d_434806211cbb4c77ba65aa42af9269a3.gif)
![fire.JPG](https://static.wixstatic.com/media/4d824d_8156e56990ce473ca464b07d8c38bf85.jpg/v1/fill/w_640,h_465,al_c,q_80,enc_auto/4d824d_8156e56990ce473ca464b07d8c38bf85.jpg)
My first focus was the fire particle effect. There are many types of fire and depending on the fuel and conditions negates how the fire will look. We decided given it was for a slum that having a fire in an oil-drum would be the best solution for the environment. After gathering a bunch of reference on oil-drum fires I knew what direction I was going to take it. One thing I didn’t want to do with this particle though was use flipbook textures as it requires having very large texture sheets that you then break up into the smaller sprites. Instead I opted to use a single image but to distort its UV coordinates to get the required animation I was aiming for in the particle effect. Alongside this I also overlayed textures set in ScreenAlignedUV space, as appose to Texture Coordinate UV space, to help tie all the particles together and give one cohesive fire look. This aided in making the effect look like one body instead a bunch of separate spawned particles overlapping one another.
![fire barrel.gif](https://static.wixstatic.com/media/4d824d_19eaaceae762433b97a84c91c766f28b.gif/v1/fill/w_173,h_266,al_c,pstr/4d824d_19eaaceae762433b97a84c91c766f28b.gif)
Dripping water was the second effect that I worked on. A basic concept but one that I wanted to utilise blueprints for to execute as cleanly as possible. To get a drip and the splash to line up all driven purely using particle system isn’t the easiest thing to do, something I have struggles with before in CryEngine. But using blueprints I was able to make 2 separate particle systems, one for the drip down and one for the splash upwards and place splash based on a linetrace down from the position of the dripping particle emitter. This means the where ever you place the dripping emitter, where the drips collide underneath the splash emitter will be placed perfectly. This not only makes it a lot easier for the user but now it’s in a blueprint means I can add additional functionality to potentially change the speed and frequency of the drips and expose that to the user.
![dripping water.gif](https://static.wixstatic.com/media/4d824d_ba176db71b444f65b9f7234f21e48911.gif/v1/fill/w_172,h_268,al_c,pstr/4d824d_ba176db71b444f65b9f7234f21e48911.gif)
One I have started and have even larger ambitions for is the carrier bag. Cascade is going to play a much smaller role in this effect but is just as important. The movement of the bags mesh is mostly going to be driven by the material using world displacement to move the vertices. The meshes rotation is going to be driven through Cascade so that I can get it to tumble and roll through the air at random. Finally the actual movement through the world is going to be driven by some basic AI in blueprint, moving the particle system getting it to fly within a given area and bounce of objects, as to not fly through them. This is something I am going to continue to work on and hope to have working to a useable state next week.
![carrier bag.gif](https://static.wixstatic.com/media/4d824d_d359b8edfbba4abe8e8368e8229558d3.gif/v1/fill/w_135,h_147,al_c,pstr/4d824d_d359b8edfbba4abe8e8368e8229558d3.gif)