As you may have seen in previous blog posts I have been working on creating a fountain with particle effects all controlled in blueprint in UE4 with some configurable behaviour. I have learnt a lot doing this project from working with particle effects to blueprints but mostly making sure that the direction you start taking a project isn't going to bring you to a halt later on. Which is something I experienced. The brief I was following set that only 400 particles were allowed on screen at any give point. Which was perfectly reasonable but I stupidly decided to go ahead with a fountain design that required having 48 streams of water cascading from the 3 tiers. This meant that I was restricting myself massively on how much i could do with each particle emitter. I didn't realise the mistake until I had modelled textured and got in engine the fountain.
Luckily not all was lost, I made a new model that only had 4 streams of water meaning that a lot more particle could be used on each emitter. I was able to carry on working on the particle I had already started on and I could still use the water shader I had made for the previous fountain.
I was able to still hit all the major points in the brief but due to having to model a fountain twice I lost the time I set to doing the extras in making the second one. Otherwise i am happy with the overall outcome of this project. i was able to add some basic configurable behavior in setting the age and strength of the fountain.
The age variable was done by doing a linear interpolate from the base texture adding a multiply layer over the top, the reason i did it that way instead of lerping a completely new texture was to keep within the set texture budget. the multiply layer is half the size of the main texture sample but as it's applied over the top and not replacing the main texture you still keep a high textile density. I also changed the colour and depth bias in the water shader and the particle colour simultaneously to this so that it gave an overall effect of the changing the age of the fountain.
The strength variable controls the amount of particles being spawned as well as the strength of the water shader and loudness of the audio. This one needs the most work, as I would prefer it so that the water streams become a weaker/ thinner stream of water instead of dripping. Also currently it just currently controls the volume of the audio, but ideally it would use a blend space to merge into a less harsh water stream audio sample as the strength is reduced.
Given the setbacks I think the fountain was a success. Remodelling allowed me to add some metalness to the model which adds to the aesthetic as well gave me the opportunity to really get the most out of the particles. The water shader is something I am particularly happy with as the depth bias and refraction gives a realistic edge that I haven't been able to achieve on previous attempts at water. As well as shader work my proficiency with Cascade in UE4 has increased dramatically something I hope to carry on working on in future projects.
I am Elliott Pacel, a Technical Artist at Reflections, Ubisoft.