Ghislain Girardot
ghislaingir.bsky.social
Ghislain Girardot
@ghislaingir.bsky.social
UE content creator, specialized in tech art. I don't share my opinion much.
🥳New 30-min video out!
I dive into different ways to rasterize dynamic effects (explosions, attacks, etc.) using Niagara, and show how to apply them to foliage & particles. Check it out!⬇️
November 11, 2025 at 12:42 AM
🥳 New Video Alert!
In this 15-min deep dive, I walk through an experimental scriptable tool I built that fetches textures in material light functions to paint light dynamically, all in-editor. Check it out! 🔥
November 7, 2025 at 12:54 AM
Oh! Sphere and cone tracing makes an appearance too :) One of the coolest use cases for SDFs.
October 31, 2025 at 1:12 AM
This one isn’t in the video, but it’s part of the example project I just released on my Patreon.

You can bake 3D SDFs of splines using Niagara and Scriptable Tools :)
October 31, 2025 at 1:12 AM
I also cover how to bake SDFs for splines — using good old Blueprints :)
October 31, 2025 at 1:12 AM
I also show how to bake the SDF of a single asset, using a few hacks to create custom bounds using geometry scripting to expand the SDF.
October 31, 2025 at 1:12 AM
A good chunk of the video is an overview of tools you can build to bake SDFs in-engine.

For example, one tool cuts out geometry from the scene and generates its SDF using geometry scripting.
October 31, 2025 at 1:12 AM
I go over how you can quickly & easily bake your own SDFs in Blender and how to sample them in UE.
I also touch on more advanced techniques commonly used with SDFs, like approximating ambient occlusion.
October 31, 2025 at 1:12 AM
There’s a fair bit of theory in the video. For instance, it’s not immediately obvious why a distance field projection might require multiple steps to actually project onto a surface.
I also briefly cover how to create custom debug tools using a few fun hacks :)
October 31, 2025 at 1:12 AM
I also briefly touch on some more experimental stuff using Niagara and the Jump Flood Algorithm.
October 31, 2025 at 1:12 AM
I tried to cover a lot of ground in just 1h20, so I skim over some examples.

Here, for instance, I briefly mention using Niagara’s Rigid Mesh Collision Interface to generate an SDF approximation of an animated skeletal mesh in real time.
October 31, 2025 at 1:12 AM
I also show how to map a texture using distance fields — and more importantly, how to fix the infamous mipmap seam.
October 31, 2025 at 1:12 AM
In case you’re wondering — yes, I go over the well-known stylized ripples effect :D

But first, I cover the theory and some key mathematical properties you’ll need to really understand how to work with SDFs.
October 31, 2025 at 1:12 AM
I'm very confused about the Render Heightmap node. It seems to be using two channels to store the integer and fractional part of the world height but I've no idea where the range come from. It doesn't seem to be normalized based on the landscape Z bounds.
October 2, 2025 at 3:08 PM
Hacky experiment. Tried to generate a distance field of an animated skeletal mesh using separable JFA. Performs well but I don't know how to make it signed/handle voxels inside the mesh 🫠
October 1, 2025 at 2:55 PM
Another sdf-related tool. Nothing too fancy, this one bakes a 2D distance field for actors containing spline component(s). Might come in handy for shorelines etc.
I'll do a breakdown of the scriptable tool BP in my upcoming video.
September 26, 2025 at 4:27 PM
Every time I try to generate a material via BP/Python, I hit dead ends😩. Was hoping to generate a volumetric material asset, but apparently, you can't connect anything to the Extinction material property...
Doing that in CPP isn't worth investing the time for my particular case.
September 26, 2025 at 2:43 PM
A small tool I built the last two days. I'm using Geometry Scripting + Python to generate SDFs from any geometry in the scene and visualize the result.

This is part of my next video dedicated to SDFs
September 25, 2025 at 10:22 PM
Rough locomotion tests. It felt cute at the time.
September 22, 2025 at 1:08 PM
Character I prototyped last year. I had the idea for a small party game, but I could never quite find a healthy balance between personal and professional projects. My brain doesn’t let me do 50/50.
September 22, 2025 at 1:08 PM
What's the official statement on using distance fields in shaders? Afaik, they've been somewhat broken since 5.0. Workaround is to use a CVar to only use one low resolution cascade, I think, but it's far from ideal. Am I wrong? Any clues? Ty
September 14, 2025 at 1:00 PM
First time trying out the rasterization grid interface as well. Seems pretty straightforward. I'll try to make a tutorial if I eventually manage to make sense of what I'm doing (:
September 11, 2025 at 11:33 PM
Decided to try Position-Based Fluids for a first go at realtime fluids. I think I got the algorithm wrong, I've got weird boundary behavior. Meh, I suck at maths, it's an infinite pain to go through academic papers :(
September 11, 2025 at 11:33 PM
TIL that NDC has a new method for querying particle data in BP :) The basic callback interface was severely limited. This looks much more powerful. Neat!
September 8, 2025 at 3:48 PM
Continuing with my Niagara/Grass experiments... Here, a regular grass clump mesh is instanced about 64 times and each card is injected into a buffer to be individually simulated. I still need to fix plenty of issues & write to velocity buffer to fix TAA artifacts but it's a start
September 1, 2025 at 11:47 PM