A blog dedicated to the Design and Production of Interactive Entertainment

Doing some work recently on flamethrower effect for a client. This is progress made over the course of two days. I completely changed my approach in the latter half of the second day and I think the results were improved considerably.

Day 1

Transparent spheres with refraction and a flipbook sprite animation baked from a fluid simulation in maya to create the ‘flames’

Overall the effect looks quite naive and unrealistic

Can see clear repetition of the fire sprite

something odd about the ‘spit’ droplets

the fire sprites rotate to face the camera, which looks on in VR

There is no smoke coming from the fire

Day 2 Morning

Looked at reference material and tried to copy the motion of the fire more accurately, switched from translucent blending to additive. Locked the ‘spit’ spheres to uniform scaling so that droplets were all perfectly spherical.

There is still repetition of the fire sprite

Sprites still rotate to face camera

The color of the fire is too uniform and does not match the reference

No smoke

Day 2 Afternoon

Started using blackbody node in Material Editor, driving the temperature with the red channel of a particle colour node. This was done to more accurately emulate the falloff in heat over time.

Repetition is less noticeable with the colour gradient in effect

The rotation is still an issue

The fire looks like it is dissipating and smoking more believably

Day 2 Evening

Studied reference material more closely, observed that flamethrowers seem to be made up of lots of smaller explosions and flames grow outwards spherically. Replaced the flipbook sprite with tessellation distorted spheres that grow over time. The tesselation uses procedural noise which pans in the +Z direction, (upwards). There is a constant acceleration in the -Z axis to mimic the effects of gravity, but, over the life of each particle, a force in the +Z direction grows until it overcomes the gravity effect, which mimics the convection effect of the fire.

There is still repetition, although it is less noticeable

As the fire uses geometry, the screen facing rotation is now non-existent

The fire looks much closer to the source images.

The fire looks good from multiple angles

The fire is expensive to render due to lots of overlapping transparency, panning procedural noise and tesselation.

In Conclusion

There is still a bit of work to be done in regards to optimizing the effect for virtual reality. But overall I am pleased with the visual result that I have achieved so far, and I think my approach would be suitable for a variety of effects, particularly those that are intended to be seen in VR headsets where a more ‘volumetric’ look might be more desirable than a flat animated sprite.

Perhaps combining this approach with smaller sprites could produce a greater effect!

The effect isn’t perfect, and I would love to hear from people with criticism. However, It goes to show how much of an improvement can be made in a very little amount of time if you are willing to experiment and close attention is paid to reference material!

This is some work I did over the course of 3 days with the exciting JunoVR, who are working on spaces and tools for a mindful life. The brief was to create a beautiful natural environment that responds to players breathing. The 3 day time-frame was tight, and as a result I relied on assets that were provided for me, assets downloaded from the megascans website, and megascans mixer was used to create some quick, realistic ground and snow materials.

The bulk of my time was spent working on shader effects for reactive wind, particle effects, blending between materials and creating believable breath and snow motion through the use of vector fields.

The scene was intended to give an idea of what sort of projects JunoVR will create in the future, and sets the groundwork for future collaboration, which I am very happy to say will be occurring soon!

There’s a lot that could be improved on, and I can wait to explore the possibilities as we move forwards!

I threw together a scene quickly using the Arizona Desert Assets on the Unreal Marketplace. This was a small paid job done to help an individual developer meet an encroaching deadline. Due to the severe time constrains no custom assets were used, with the exception of the dirt ground material, which I developed using Megascans Mixer. It was a good into to Megascans, and it was fun working with a complete pack of assets.

Although I did not have time to model anything myself, I explored the area using google maps, and created a reference sheet. It would be fun to have a stab at this environment with custom foliage and a higher level of realism!

In anticipation of the release of the new series of Planet Earth (which, was absolutely incredible), I watched the underwater episode from the first series. One of the things that particularly stuck with me were the Underwater Vents, so feeling inspired, today I had a quick go at creating them as a particle effect.

So this is what I achieved so far. It’s basically a bunch of spheres spawning very quickly. Scaling with their life and with a drag force applied. On top of that there is a panning heightmap which is fed into the world position node to create the illusion of some secondary motion, and finally, there is a sparkly 512 specular map and a panning 512 bump map generated from procedural noise to give some added fidelity.

The world position offset caused seams to be come visible in the mesh, so I am currently combating this by rotating the mesh to perpetually face teh camera, which does alleviate that issue, but also seems to have an unusual effect on the lighting.

I quickly sculpted some coral-like geo and threw them together to create the test scene above.

There is heavy fringing, some dof, and a bit of grain to suggest an underwater environment.

To improve the scene I would spend more time modelling different coral and rock variations with better textures, add some more ‘wispy’ elements to the smoke, add some heat distortion, and perhaps even a bit of ocean wildlife.

I’m just playing around at the moment with a wind and foliage in Unreal. The wind in Unreal is pretty simple, but I want to come up with a way of doing trunks, then branches which inherit movement from the trunks, and then leaves and so on. Each with their own layer of wind on top.

So far I have only modelled some very simple foliage and applied a little simplegrasswind to it, which is being driven by scalar values held in a material parameter collection. I wonder if there is a way to control the direction of the wind…

Just a quick update to show off some of the progress we are making on the bedroom environment for our final year University project. We are using Unreal Engine, and a mix of photoscanned and modelled props.