Ghislain Girardot

@ghislaingir.bsky.social

UE content creator, specialized in tech art. I don't share my opinion much.

Nanite Programmable Path seems too costly to consider WPO for the most basic things... Uh, I don't like it. Feels like everything I'm tempted to do as a tech artist is no longer an option. Moving vertices used to be cheap :( So here's a hacky NO-WPO prototype 🧵

🥳 That’s it — my new and final video is live on YouTube! In this 2h15 deep dive, I try to summarize everything I’ve learned over the past two months while diving head-first into C++ compute shader dispatch in UE and RDG.

oof, I got owned so hard. First time trying to use a struct in a compute shader. Things did not go as planned... After an entire day of debugging, structs could be the only culprit. This causes alignment issues. Using float4/FVector4f fixes it

Bild

Holidays side project. I'm trying to join the FFT ocean gang😅 I'm now at least somewhat more comfortable with various GPU programming paradigms and UE's RHI & CPP compute shader dispatchs, but I've so many questions still😅

🥳 New video up on my YT! I’m showing how I hack around the Character Movement Component in Unreal Engine to build custom movement modes—all in Blueprints. It’s a bit old school, but it still works like a charm for simple games! 😊

2019 God of War's Dual Depth implementation. I still have a few issues to solve 🤔 CPU Performance is 💩because Niagara's RigidMeshCollision interface lack a much needed rasterizing function, so I had to re-implement it from scratch in BPs for this proof of concept😅

Soo, I've been diving into CommonUI lately... is it just me, or is keyboard focus still a bit of a mess? 🙃 Epic's 'Introduction to Common UI' is great, but they couldn't demo a working keyboard focus. Lots of hacks out there that kinda work, but not quite. Anyone else feel this?

🥳 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! 🔥

🥳 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 🧵

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.

BildBild

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.

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.

Bild

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 :(

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

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.