Ghislain Girardot
@ghislaingir.bsky.social
UE content creator, specialized in tech art. I don't share my opinion much.
🥳 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! 🔥
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
🥳 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! 🔥
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! 🔥
🥳 New video is out on my YT!
It’s a 1h20m deep dive into 𝗦𝗶𝗴𝗻𝗲𝗱 𝗗𝗶𝘀𝘁𝗮𝗻𝗰𝗲 𝗙𝗶𝗲𝗹𝗱𝘀.
I went a bit more in-depth than most UE tutorials out there — there’s a lot more to this topic than you might think! :D 🧵
It’s a 1h20m deep dive into 𝗦𝗶𝗴𝗻𝗲𝗱 𝗗𝗶𝘀𝘁𝗮𝗻𝗰𝗲 𝗙𝗶𝗲𝗹𝗱𝘀.
I went a bit more in-depth than most UE tutorials out there — there’s a lot more to this topic than you might think! :D 🧵
October 31, 2025 at 1:12 AM
🥳 New video is out on my YT!
It’s a 1h20m deep dive into 𝗦𝗶𝗴𝗻𝗲𝗱 𝗗𝗶𝘀𝘁𝗮𝗻𝗰𝗲 𝗙𝗶𝗲𝗹𝗱𝘀.
I went a bit more in-depth than most UE tutorials out there — there’s a lot more to this topic than you might think! :D 🧵
It’s a 1h20m deep dive into 𝗦𝗶𝗴𝗻𝗲𝗱 𝗗𝗶𝘀𝘁𝗮𝗻𝗰𝗲 𝗙𝗶𝗲𝗹𝗱𝘀.
I went a bit more in-depth than most UE tutorials out there — there’s a lot more to this topic than you might think! :D 🧵
Reposted by Ghislain Girardot
We've been uploading a bunch of Unreal Fest talks to our Unreal Engine YouTube channel, such as this one from Tanglewood about taking the pain out of engine upgrades 👇
www.youtube.com/watch?v=vMEl...
www.youtube.com/watch?v=vMEl...
Taking the Pain Out of Engine Upgrades | Unreal Fest Orlando 2025
YouTube video by Unreal Engine
www.youtube.com
October 14, 2025 at 9:40 AM
We've been uploading a bunch of Unreal Fest talks to our Unreal Engine YouTube channel, such as this one from Tanglewood about taking the pain out of engine upgrades 👇
www.youtube.com/watch?v=vMEl...
www.youtube.com/watch?v=vMEl...
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
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.
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
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 🫠
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.
I'll do a breakdown of the scriptable tool BP in my upcoming video.
September 26, 2025 at 4:27 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.
I'll do a breakdown of the scriptable tool BP in my upcoming video.
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.
Doing that in CPP isn't worth investing the time for my particular case.
September 26, 2025 at 2:43 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.
Doing that in CPP isn't worth investing the time for my particular case.
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
This is part of my next video dedicated to SDFs
September 25, 2025 at 10:22 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
This is part of my next video dedicated to SDFs
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
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.
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
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
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
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 :(
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
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!
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
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
Core C-Side is my last golden berry, I swear. Golden B Sides and Farewell are on a whole other level, I want to keep what's left of my sanity. Still, fairly happy with my progression :shrug:
August 28, 2025 at 11:17 PM
Core C-Side is my last golden berry, I swear. Golden B Sides and Farewell are on a whole other level, I want to keep what's left of my sanity. Still, fairly happy with my progression :shrug:
🥳🎥 New YouTube video just dropped!
A quick 20-min dive into the basics of Niagara’s Dynamic Mesh interface + a breakdown of a more advanced (but flawed/experimental) use case.
Link ⬇️
#UnrealEngine #Niagara #VFX
A quick 20-min dive into the basics of Niagara’s Dynamic Mesh interface + a breakdown of a more advanced (but flawed/experimental) use case.
Link ⬇️
#UnrealEngine #Niagara #VFX
August 26, 2025 at 11:05 PM
🥳🎥 New YouTube video just dropped!
A quick 20-min dive into the basics of Niagara’s Dynamic Mesh interface + a breakdown of a more advanced (but flawed/experimental) use case.
Link ⬇️
#UnrealEngine #Niagara #VFX
A quick 20-min dive into the basics of Niagara’s Dynamic Mesh interface + a breakdown of a more advanced (but flawed/experimental) use case.
Link ⬇️
#UnrealEngine #Niagara #VFX
Alright, I'm done with my deep dive into Niagara's Dynamic Mesh interface. LOTS can be done with it.
Frustrum culling is aggressive here for demonstration purposes.
Overhead seems to be high: 1.3ms for generating this :( I'm sure my code isn't as optimized as could be tho.
Frustrum culling is aggressive here for demonstration purposes.
Overhead seems to be high: 1.3ms for generating this :( I'm sure my code isn't as optimized as could be tho.
August 22, 2025 at 10:46 PM
Alright, I'm done with my deep dive into Niagara's Dynamic Mesh interface. LOTS can be done with it.
Frustrum culling is aggressive here for demonstration purposes.
Overhead seems to be high: 1.3ms for generating this :( I'm sure my code isn't as optimized as could be tho.
Frustrum culling is aggressive here for demonstration purposes.
Overhead seems to be high: 1.3ms for generating this :( I'm sure my code isn't as optimized as could be tho.
#UE5 #vfx #gamedev #indiedev🥳I just released a short video explaining how sphere tracing works and how to write a sphere tracing function in HLSL for collision detection in Niagara:
www.youtube.com/watch?v=B4RR...
www.youtube.com/watch?v=B4RR...
Sphere Trace Collision in Niagara
YouTube video by Ghislain Girardot
www.youtube.com
August 22, 2025 at 10:01 AM
#UE5 #vfx #gamedev #indiedev🥳I just released a short video explaining how sphere tracing works and how to write a sphere tracing function in HLSL for collision detection in Niagara:
www.youtube.com/watch?v=B4RR...
www.youtube.com/watch?v=B4RR...
I was hoping to implement a lightweight version of Remedy’s — and more recently, Epic’s — GPU skeletal animated foliage using PCG and Niagara.
vimeo.com/880842428?fl...
But it turns out it’s not that straightforward, yet—unless I’m missing something. 🧵
vimeo.com/880842428?fl...
But it turns out it’s not that straightforward, yet—unless I’m missing something. 🧵
Alan Wake 2 GPU bone visualization
This is "Alan Wake 2 GPU bone visualization" by Remedy Entertainment on Vimeo, the home for high quality videos and the people who love them.
vimeo.com
August 20, 2025 at 10:59 PM
I was hoping to implement a lightweight version of Remedy’s — and more recently, Epic’s — GPU skeletal animated foliage using PCG and Niagara.
vimeo.com/880842428?fl...
But it turns out it’s not that straightforward, yet—unless I’m missing something. 🧵
vimeo.com/880842428?fl...
But it turns out it’s not that straightforward, yet—unless I’m missing something. 🧵
Trying out Niagara's Dynamic Mesh interface to generate procedural grass on the GPU🧐
This is a single mesh with no vertex shader. Quadratic curves are animated and vertices are positioned along them to best face the camera, ribbon-style. Landscape is sampled for Z projection.
This is a single mesh with no vertex shader. Quadratic curves are animated and vertices are positioned along them to best face the camera, ribbon-style. Landscape is sampled for Z projection.
August 20, 2025 at 12:53 PM
Trying out Niagara's Dynamic Mesh interface to generate procedural grass on the GPU🧐
This is a single mesh with no vertex shader. Quadratic curves are animated and vertices are positioned along them to best face the camera, ribbon-style. Landscape is sampled for Z projection.
This is a single mesh with no vertex shader. Quadratic curves are animated and vertices are positioned along them to best face the camera, ribbon-style. Landscape is sampled for Z projection.
Visually debugging vectors and positions in Niagara is important, and it's easy to do using the built-in DrawDebug interface.
You can also achieve this with sprite or mesh renderers, custom bindings, and a single custom module. 🧵
You can also achieve this with sprite or mesh renderers, custom bindings, and a single custom module. 🧵
August 18, 2025 at 9:31 AM
Visually debugging vectors and positions in Niagara is important, and it's easy to do using the built-in DrawDebug interface.
You can also achieve this with sprite or mesh renderers, custom bindings, and a single custom module. 🧵
You can also achieve this with sprite or mesh renderers, custom bindings, and a single custom module. 🧵
🥳New video just dropped on YouTube! 🎥
A 40-minute deep dive into building a Niagara-based swarm VFX — featuring particle-particle overlap solving, avoidance systems (particles, pawns, obstacles), surface projection, slope handling, GPU↔CPU↔GPU particle swapping, and more.
👇
A 40-minute deep dive into building a Niagara-based swarm VFX — featuring particle-particle overlap solving, avoidance systems (particles, pawns, obstacles), surface projection, slope handling, GPU↔CPU↔GPU particle swapping, and more.
👇
August 15, 2025 at 11:38 PM
🥳New video just dropped on YouTube! 🎥
A 40-minute deep dive into building a Niagara-based swarm VFX — featuring particle-particle overlap solving, avoidance systems (particles, pawns, obstacles), surface projection, slope handling, GPU↔CPU↔GPU particle swapping, and more.
👇
A 40-minute deep dive into building a Niagara-based swarm VFX — featuring particle-particle overlap solving, avoidance systems (particles, pawns, obstacles), surface projection, slope handling, GPU↔CPU↔GPU particle swapping, and more.
👇
🥳 New video is live!
I walk through building a lightweight custom state machine in Niagara to drive Vertex Animation Textures in Unreal Engine.
Part 1 of a short (probably 2-part) series on Niagara state machines. 🧵
I walk through building a lightweight custom state machine in Niagara to drive Vertex Animation Textures in Unreal Engine.
Part 1 of a short (probably 2-part) series on Niagara state machines. 🧵
August 4, 2025 at 12:26 AM
🥳 New video is live!
I walk through building a lightweight custom state machine in Niagara to drive Vertex Animation Textures in Unreal Engine.
Part 1 of a short (probably 2-part) series on Niagara state machines. 🧵
I walk through building a lightweight custom state machine in Niagara to drive Vertex Animation Textures in Unreal Engine.
Part 1 of a short (probably 2-part) series on Niagara state machines. 🧵
Reposted by Ghislain Girardot
⚡Sketch 004⚡
Post process practice.
Mentor: @ghislaingir.bsky.social
Class: www.youtube.com/playlist?lis...
#gamedev #realtimevfx #rtvfx #techart #ue5
Post process practice.
Mentor: @ghislaingir.bsky.social
Class: www.youtube.com/playlist?lis...
#gamedev #realtimevfx #rtvfx #techart #ue5
August 1, 2025 at 9:54 PM
⚡Sketch 004⚡
Post process practice.
Mentor: @ghislaingir.bsky.social
Class: www.youtube.com/playlist?lis...
#gamedev #realtimevfx #rtvfx #techart #ue5
Post process practice.
Mentor: @ghislaingir.bsky.social
Class: www.youtube.com/playlist?lis...
#gamedev #realtimevfx #rtvfx #techart #ue5
#UE5 #vfx Making use of my Bone Animation Textures baker :) GPU Niagara Swarm with custom AI + nearby obstacle/particle avoidance and the ability to pull particles out of the sim to convert them to CPU AI agents, and push them back to the GPU sim. Still a few quirks to solve.
August 1, 2025 at 5:30 PM
#UE #Blender #UnrealEngine #tech #gamedev
🥳My 𝗚𝗮𝗺𝗲 𝗧𝗼𝗼𝗹𝘀 addon is finally complete and officially available as a Blender Extension!
I spent way too much time coding it + writing a 150-page manual and over 2 hours of video tutorials. 😅
youtube.com/watch?v=hC2_...
More detail in the🧵
🥳My 𝗚𝗮𝗺𝗲 𝗧𝗼𝗼𝗹𝘀 addon is finally complete and officially available as a Blender Extension!
I spent way too much time coding it + writing a 150-page manual and over 2 hours of video tutorials. 😅
youtube.com/watch?v=hC2_...
More detail in the🧵
GameTools Blender Extension - Introduction
YouTube video by Ghislain Girardot
youtube.com
July 25, 2025 at 11:46 AM
#UE #Blender #UnrealEngine #tech #gamedev
🥳My 𝗚𝗮𝗺𝗲 𝗧𝗼𝗼𝗹𝘀 addon is finally complete and officially available as a Blender Extension!
I spent way too much time coding it + writing a 150-page manual and over 2 hours of video tutorials. 😅
youtube.com/watch?v=hC2_...
More detail in the🧵
🥳My 𝗚𝗮𝗺𝗲 𝗧𝗼𝗼𝗹𝘀 addon is finally complete and officially available as a Blender Extension!
I spent way too much time coding it + writing a 150-page manual and over 2 hours of video tutorials. 😅
youtube.com/watch?v=hC2_...
More detail in the🧵