Here are some things I’ve made…
Fire Effect Shader
A demo of the UV Remap shader I wrote for our game Fireborne.
The main effect doesn’t use particles or animation sheets (the embers and glow ball do), just a custom pixel shader.
Here is another version of it, but on a character, we called them Fire Gloves!
(Character Model and Texture: Jonah Lobe)
Hex-based Planet Terrain System
This is a spherical terrain system based on Geodesics. Turns out you can generate a pretty uniform hexagonal grid on a sphere by subdividing a Dodecahedron. You only have to deal twelve pentagons, at the vertices of the original dodecahedron. Planets are fun! Hexagons are fun! So why not?
Real-time, GPU accelerated Terrain Deformation
Fast forward several months, and the hex-based terrain system is still there, but wrapped in a thick layer of fancy shaders and compute shaders! The entire thing is deformed in real-time on the GPU using a combination of Compute Shaders, GPU Tessellation and Vertex Shaders.
Planetary Fog System
As part of the game we were trying to make, I developed this Planetary Fog Rendering system, which again involved a significant number of shaders. The fog is in fact controllable per hex-tile (yes the tiles are still there), so you could clear or cover any portion of the planet in fog. If you look carefully, you can see that the fog’s thickness actually changes with the camera’s altitude. This was in order to accommodate the ground relief when close, while keeping the nice fuzzball look from afar!
A donut-shaped pyroclastic effect, derived from the effect you can find here.
Most of what I did was modify the raycasting equations to work with a different shape than a sphere.
Yes that’s right, the Pyroclastic effect is in fact Ray-Traced by your GPU!!!
Low Poly Terrain System
I initially wrote this for my friend Matt Scott and his game Faceted Flight. I since turned it into a stand alone asset and put it on the Unity Asset Store. The purpose of the system was to provide an easy way for him to generate faceted hard-edge terrains directly from height and color maps. The Terrain system supports smooth LOD transitions and even an optional object generator, so you can populate the world with lots of trees.
Procedural Terrain Generation and Object Placement
A recurring theme, obviously, the planet from our game Fireborne was procedurally generated and populated. The generation algorithm used Voronoi regions as a starting point, and then used different patterns of noise and recursive algorithms to generate and orient land tiles and place decorations. After that, the normal/displacement map blending made sure that the seams where invisible. In fact, I made a short write up on the subject.
(Textures: Jonah Lobe)