Introduction Welcome to this guide on using Landscapes in Unreal Engine. The process of getting heightmaps from WorldMachine can be full of uncertainty and mystery. This guide will dispel the confusion. I found that there wasn’t a lot of information…

Fixing pip installation of PySide in OSX
I would consider myself a hobbyist programmer and enjoy quickly trying out ideas and snippets that I find around on the web. That means that I don’t want to mess around for too long getting a development environment set up.…

World Machine + Unreal + Speedtree = Fun
I had quick play with world machine and speedtree tonight. I had some ideas for a rts game so I wanted to get a basic level made up that I could prototype something in.

Super useful UE4 Remap material function
This is one of my most used material functions. I often have to get an input value and remap that into a range that is more useful. Usually I like to get things and fit them into a 0 to…

Volumetric Scattering in Unreal Engine 4 ideas UPDATE 1
Here’s a test I managed to get going. It’s pretty bare bones. but as a proof of concept it works. There are some limitations and drawbacks right now. a) It’s slow. The inital tracing is fine, its the shadow traces…

Shader Conditionals to provide pseudo control flow in materials in UE4
I came across this article about how to avoid branching in graphics shaders. The basic idea is that if there is any comparison or branching done in a shader then depending on how the GPU chooses to deal with the code,…

Unreal Engine 4 Gerster Waves with Distance Field Flow Map
This is something I’ve been meaning to do for a while. Here is some Gerster Waves implemented as a material function. I’ve then combined it with my automatic distance field flow map. The distance field is used to create a…

Volumetric Scattering in Unreal Engine 4 ideas
There already exists solutions for Atmospheric Fog and Exponential height fog in UE4 but no real solution exists for god rays and light scattering through objects like trees. One idea I’ve had is to use the Global Distance field as…