chrysaora 🎐
banner
chrysaoravioli.bsky.social
chrysaora 🎐
@chrysaoravioli.bsky.social
Making whatever, whenever.

📺 YT • • • https://www.youtube.com/@chrysaoravioli
Hey, it's Splat Zones!

I can define any n-sided polygon and voila, we can detect paint in that area. Sampling resolution is kept low about 1px/m. Don't need to be too accurate.

Next, I'll introduce a fill operation, so when it hits 75%, it completely fills the zone with the winning team's color.
November 19, 2025 at 4:03 AM
I had an issue where "inward points" in a polygon would cause issues. Found this 2D Polygon SDF example on ShaderToy that solves my issue: www.shadertoy.com/view/wdBXRW

Tbh, I don't expect my detection zones to have any winding but I suppose it's a nice feature to have.
November 18, 2025 at 4:31 AM
Buffing the long overdue Paint Detection side of the plugin.

Spent the weekend researching the math for creating an irregular n-sided polygon to replace the previous primitive cube method.

Doesn't work with all shapes right now (such as a star) but I'll continue debugging it tomorrow.
November 17, 2025 at 6:04 AM
The Song That Kills Sano-kun in the Soccer Club

A couple years ago, I added this to my playlist just because I was caught by surprise by the clipped audio. Finally found the MV and it's exactly as goofy as I expected.

youtu.be/7y-5FICNiLI?...
トップシークレットマン「サッカー部のサノくんを倒す曲」
YouTube video by トップシークレットマン
youtu.be
November 10, 2025 at 11:29 PM
Demo for Modular and Proxy Paint Actors.

Modular contains a singular visible mesh with a single corresponding collision mesh.

Proxy allows multiple visible meshes correspond to a single collision mesh, useful for large collision meshes where multiple static meshes may be associated with it.
November 8, 2025 at 5:26 AM
Added support for a "packed" paintable mesh.

If a static mesh is added to the "Visible Mesh" variable, it will automatically create a component to show the added mesh. Perfect for modular paintable actors similar to Splatoon 3's single player campaign.

Will work on detached visible meshes next...
November 6, 2025 at 3:13 AM
Been a while since I've done a UE5 update.

The paint system generally works but I've decided to create a test map that forces me to flesh out various features.

Currently, I'm working on a system where a single paintable collision mesh to distribute painting params to corresponding visible meshes.
November 5, 2025 at 4:38 AM
Reposted by chrysaora 🎐
According to Google, you need to watch MMA video in order to learn how to parry in Ninja Gaiden 4.
November 1, 2025 at 8:37 PM
Weird Dodge Offset + BloodRaven infinite finisher (like Astral Chain sorta?)

Dual Sword Combo: XXXXY
Blood Raven Combo: XXY

Input Sequence
XXXX (Dual Sword) -> Dodge Offset -> Y (Blood Raven)

Just keeping using Dodge Offset to infinitely loop Blood Raven XXY.

#NinjaGaiden4
October 23, 2025 at 4:34 PM
Amazon delayed my physical copy for PS5 to Friday so... I guess I'll double dip just this once.

Not usually the biggest PC guy but hey, it looks pretty nice on my ultrawide. Could use a new graphics card though because it's struggling a bit (plus I hate fiddling with settings).
October 21, 2025 at 8:06 PM
[ Niagara Depth Masking ]

Porting over my material graph code into Niagara, piece by piece.

Not too much time tonight. Focused only on code that determines which parts of the paint map are considered floors vs. walls. These outputs will be used later in the script for compositing purposes.
October 14, 2025 at 3:14 AM
Packing RGB Normal Map into a single channel so I can potentially halve the compute time for paint splatters.

When a paint splatter hits a wall, the hit angle is from 0 to 360 degrees, which can be normalized to a value from -1 to 1 (think unit circle).

1/🧵
October 13, 2025 at 1:36 AM
Had a Sunday night epiphany.

Before, I was doing two texture samples to mask a paint splatter but this doubles the compute time. It'd be nice if I could just use a single texture, so I'm trying to cram the normal map info into the unused alpha channel of my World Position texture.
September 29, 2025 at 2:22 AM
Reposted by chrysaora 🎐
🇫🇷 Culture shock upon visiting France: damn, so many people still smoke here, don’t they realize how addictive and harmful cigarettes are

🇺🇸 Culture shock upon returning to the US: holy shit why are children walking around drinking 20oz bottles of soda with 65g of sugar per serving
September 28, 2025 at 12:09 AM
Completed my first playthrough of Ninja Gaiden 2 Black.

Much more enjoyable than Razor's Edge. I was absolutely miserable throughout RE so this was nice to play.

That said, one of the benefits of RE being difficult on Normal was that it made NG2B an absolute cakewalk.
September 25, 2025 at 11:21 PM
Last night, I had a wack dream where Bayonetta showed up with a drill like this but the drill tip was made by arranging a bunch of gun barrels together.

It was like a weird gatling gun thing but she could also ride it backwards like a broom while it shot out a bunch bullets.
September 24, 2025 at 8:04 PM
Something that I'm trying to figure out is how NG2B handles "hero lighting". PC seems to be consistently lit, when no lights are nearby while environmental lights seem to contribute to them.

Images contain ALT text that just have a few observations... no concrete conclusions just yet.
September 22, 2025 at 7:07 PM
Kinda neat that Momiji's level clearly has two new alternate paths that did not exist in Ryu's level.

Doesn't make too much sense why the first image's area is suddenly connected to some sewers but it's still really neat how they remixed an existing level.
September 21, 2025 at 10:43 PM
Trying out Ninja Gaiden 2 Black. Mostly picking it up because...

A. Does not have Buddha boss. Did not care for it on Switch.

B. For studying Lumen

Look at that invisible point light that only appears in the specular reflection. I've had the same "issue" so it's funny to see it show up.
September 20, 2025 at 7:56 PM
Pretty big upgrade that now uses textures instead of basic sphere masks. Still some quirks to solve but it's 90% of the way there.

Holy crap was the math difficult to figure out. A huge hurdle was figuring out how to rotate a texture in 2D space while masking it with a rotated box mask.
September 15, 2025 at 3:52 AM
Yesterday, Epic released an official free course about the Gameplay Ability System (GAS). I'll be checking it out over the next few weeks (crunch time at work 😭) but it's a good to finally have something official rather than reverse engineering something like Lyra.

dev.epicgames.com/community/le...
Building an RPG with Gameplay Ability System | Course
Dive into the powerful Gameplay Ability System (GAS) and explore how its core components connect together to build a core gameplay loop. We'll also prev...
dev.epicgames.com
September 10, 2025 at 1:27 AM
Some experiments with a slightly more advanced paint detection system, attempting to recreate Splatoon's Splat Zone feature.

I decided to inverse my sphere/box mask code to filter out pixels in a specified volume and send it back to BP for further processing to occur.

#UnrealEngine #UE5
August 24, 2025 at 5:19 AM
Replaying Slitterhead on Nightmare difficulty since I have a long weekend. Still love how stylish the level complete screen is.
August 23, 2025 at 6:54 PM
Reposted by chrysaora 🎐
Enjoy watching Bayonetta combo videos? Want to participate in one? I'm hosting a special video event, where players can submit their #Bayonetta clips to me so I can make one colossal combo video. Watch this video and read the description to learn more!

youtu.be/F-MTricJtqI?...
The Bayonetta Collab Project 3 Announcement!
YouTube video by Setnaro X
youtu.be
August 21, 2025 at 11:30 PM
The only reason why I even wanted to play Ninja Gaiden 3. Look how fast they sped up the kick animation.
August 19, 2025 at 2:12 AM