📺 YouTube • • • https://www.youtube.com/@chrysaoravioli
📝 Tumblr • • • https://chrysaoravioli.tumblr.com/
More tweaks to the Health Component.
- Cylinder w/100HP showcases fallback health value if it is not listed in Data Table.
- Cylinder w/999HP showcases custom override health value.
- Health Component automatically grants a "Death Ability", and callbacks for the owner to respond to.
More tweaks to the Health Component.
- Cylinder w/100HP showcases fallback health value if it is not listed in Data Table.
- Cylinder w/999HP showcases custom override health value.
- Health Component automatically grants a "Death Ability", and callbacks for the owner to respond to.
Boring nerd stuff for today.
I've been working on a Lyra derived health system that can be easily applied to any actor that also uses GAS. In the image below, the cube, sphere, and player use the same health system with no manual setup required.
Boring nerd stuff for today.
I've been working on a Lyra derived health system that can be easily applied to any actor that also uses GAS. In the image below, the cube, sphere, and player use the same health system with no manual setup required.
www.youtube.com/watch?v=5cKZ...
www.youtube.com/watch?v=5cKZ...
Reworking the Aurora Devs RHS to tailor it to my own tastes. For now, drawing the hitbox works but not the actual damage transmission. This vid is just aping off existing UE template.
My C++ is certainly stronger since I was able to fully convert their AnimNotify blueprint. 😄
Reworking the Aurora Devs RHS to tailor it to my own tastes. For now, drawing the hitbox works but not the actual damage transmission. This vid is just aping off existing UE template.
My C++ is certainly stronger since I was able to fully convert their AnimNotify blueprint. 😄
It's at a much higher quality than what Bsky typically allows, so feel free to check it out if you're interested.
youtu.be/W5h8UwUK5hI?...
It's at a much higher quality than what Bsky typically allows, so feel free to check it out if you're interested.
youtu.be/W5h8UwUK5hI?...
Using a single GA to create & evaluate multiple zones at once.
End of the video shows multi-zone and single zone GAs running simultaneously, demonstrating how two Niagara Systems can utilize the same ExportParticleData callback without fear of crosstalk.
Using a single GA to create & evaluate multiple zones at once.
End of the video shows multi-zone and single zone GAs running simultaneously, demonstrating how two Niagara Systems can utilize the same ExportParticleData callback without fear of crosstalk.
1. Majority of functions have been transferred to C++, with various functions doled out to base and child classes.
2. In this demo, I've decided to incorporate GAS, so detection is actually contained with a Gameplay Ability.
1. Majority of functions have been transferred to C++, with various functions doled out to base and child classes.
2. In this demo, I've decided to incorporate GAS, so detection is actually contained with a Gameplay Ability.
Not too expensive at 1/4 resolution (2px/m), clocking in at about .008ms for mask updates. I guess the detection part is up next...
Not too expensive at 1/4 resolution (2px/m), clocking in at about .008ms for mask updates. I guess the detection part is up next...
Slowly but surely hardening the functionality now that I have a better idea of what I want.
Slowly but surely hardening the functionality now that I have a better idea of what I want.
Instead of using my central "Paint Stamper" system, the Zone system painted the zone. But, that means the Paint Stamper is unaware of the changes so I currently have a questionable workaround that fires every frame.
Instead of using my central "Paint Stamper" system, the Zone system painted the zone. But, that means the Paint Stamper is unaware of the changes so I currently have a questionable workaround that fires every frame.
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.
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.
Tbh, I don't expect my detection zones to have any winding but I suppose it's a nice feature to have.
Tbh, I don't expect my detection zones to have any winding but I suppose it's a nice feature to have.
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.
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.
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?...
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?...
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.
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.
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...
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...
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.
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.
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
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
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).
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).
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.
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.
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/🧵
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/🧵
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.
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.