Sewer Spill Vertex Animated Material
Dinked around with new methods of optimizing my vertex shader a while back and set up this gloopy animated sewer slime with just a 2048 texture (and some material trickz)! All the color and random motion variation is being done procedurally in the material
VR Dynamic Liquid Prototype
Here's a VR project I have been working on for school where I used Nvidia's FleX particle library in order to simulate accurate liquid physics and soft body effects. Below are some examples taken from a prototype I put together. You can see the finished product on Steam!
Button Mini Games
Found a good workflow for generating and saving animation curves, so naturally the next thing I had to do was make a bunch of button pressing mini games to ... thoroughly test... the workflow... yes...
Vertex Offset Whirlpool Shader
A UE4 shader I put together that uses basic math expressions to offset the vertices of a given surface around a world space location (and recalculates the vertex normals). You can see an example of the spiral parameters being offset on the +Y axis by a transform handle on the left. The example on the right is using the same expressions being used to blend two PBR materials (based on world position).
Vertex Animated Destructables
I spend a lot of my spare time in Houdini, learning the pipeline and finding applications in my own work. One of the earliest demonstrations I have of this is a destruction simulation that I exported as a texture. All of the vertex animation and normal information is stored in a single texture (which you can see on the right). The mesh that shatters (on the left) is a static mesh with nothing but a material applied.
UE4 Dynamic Foliage Tool
I put this tool together to add interactivity to my foliage. I put together a function that takes the foliage that you paint in using Unreal Engine’s foliage brush and swaps in interactive physics objects in a radius around you. It works on a radial line trace, so any foliage within a certain range of the player character can be interacted with. Once the character moves, the dynamic foliage is returned back to its static state. This way you can have thousands of foliage actors without any slowdown.
UE4 Imposter Rotation Variance
For my Goldshire Cliffs environment I decided I wanted to fake the background islands by using 3D impostors. But as I began placing each actor, I got tired of having to set the rotation offset for each material instance. So, using the same object position variance setup I used in my procedural arcade, I was able to generate a random 0 to 1 value based on the impostor's world position and use that to determine a random "rotation" for my impostor actor.
2D(ish) Platformer Puzzle Game
This prototype was a small project I put together to experiment with using 2D sprites in 3D environments. The gameplay consists primarily of physics based puzzles and basic platforming.
The entire game space was made from a single instanced block blueprint, allowing me to easily prototype new level configurations, animations, and physics parameters. The player character was handled using a combination of UE4's Paper2D system and few custom functions I wrote in order to lock the player and camera along a single axis.