Liquid

Semi-Permanent Blood Droplets

Configure Semi-Permanent Blood Droplets in Unreal Engine using Niagara instanced mesh decals, CPU surface normals, and GPU distance field collisions.

Semi-Permanent Blood DropletsLiquid

Resource overview

Integrating persistent gore effects requires a clean separation between particle movement and surface projection. Semi-Permanent Blood Droplets approaches this by combining Niagara particle simulation with instanced mesh decals. Instead of despawning combat residue after a few seconds, the system allows hundreds of thousands of droplet decals to stay fixed on surfaces indefinitely, giving firefights and melee encounters an enduring physical trace.

Collision Filtering and Niagara User Parameters

Proper collision setup is the initial requirement when placing the droplets into a project. If decals appear to float in mid-air or stick to unwanted geometry, the project has missing collision channel assignments. The Niagara system does not automatically guess which physical surfaces to hit; it depends on an explicit collision channel declared within your project settings.

Once a dedicated collision layer is created, it must be mapped inside the Niagara System by configuring the corresponding User Parameter. Assigning this parameter ensures that airborne droplets pass cleanly through enemy hitboxes, weapon colliders, and player capsules before stamping decals onto valid level geometry. Without aligning the system's User Parameter to your custom channel, droplet particles either fail to register impact or collide prematurely against the characters who generated them.

CPU Angle-Based Normals Versus GPU Distance Field Particles

Droplet projection behaves differently depending on whether the emitter runs on the CPU or the GPU. The CPU emitters utilize custom Niagara module scripts to evaluate the exact surface normal at the point of collision. This normal calculation allows droplets to adhere cleanly across uneven surfaces, curved geometry, and perpendicular walls rather than flattening exclusively against horizontal floors. CPU simulation functions reliably over long distances and demands minimal environmental prerequisites to deliver precise alignment.

The GPU particle variant introduces additional movement behaviors, including surface streaking, but relies entirely on global distance fields for collision detection. For GPU droplets to land and streak properly, the project must have distance fields enabled, and the global distance field visualizer should be checked to confirm sufficient mesh resolution throughout the environment. GPU particles are constrained to impact angles under 90 degrees due to how collision validation is calculated. Because of these structural limitations, GPU streaking particles are best deployed in close-quarters indoor environments, while CPU particles serve as the robust option for broader, long-range combat spaces.

Blueprint Architecture in BP_Droplets and Debug Previewing

Spawning large volumes of persistent decals can easily introduce hitching if reference structures are not managed carefully. The primary spawner actor, BP_Droplets, relies on asynchronous loading via soft references to manage particle system selection. This design reduced the blueprint reference overhead from 300 megabytes down to 300 kilobytes, eliminating the initial loading hitch commonly seen when initializing emitters during active gameplay.

Bounding box behavior also impacts early simulation performance. Rather than using unbounded space, all particle systems enforce explicit bounding volumes set between -1000 and +1000 on the X, Y, and Z axes. This boundary keeps Niagara from consuming calculation cycles on infinite space during the initial frame of impact.

The standard BP_Droplets Actor exposes 14 direct parameters, granting immediate control over droplet spread, frequency, and spawn behavior without requiring internal graph modifications. To support live visual iteration without bloating production memory, a dedicated editor tool is located in Blueprints->Debug. This debug actor runs on a Construction Script, allowing developers to test parameter adjustments directly inside the editor viewport before saving adjustments to gameplay prefabs.

Dynamic Droplet Aging, Emissive Materials, and Blood Pools

Static blood textures quickly look artificial when left on the ground across an extended session. The material system supports dynamic parameters driven directly by the particle's age, transforming the physical state of the droplet as time elapses:

  • Age-Based Roughness: Fresh droplets spawn with low roughness, producing a wet, specular sheen. As the decal remains on the surface, the roughness parameter shifts upward, rendering the material dry, dull, and crusted.
  • Particle-Driven Color: Base colors can be modulated through material instances, utilizing custom noise and normal maps rather than relying on flat particle color inputs.
  • Fading Emissive Controls: Emissive strength can be dialed down over the life of a droplet. This parameter enables the creation of alternate liquid types, such as cooling volcanic lava or dissolving alien acid.

These dynamic material switches can be toggled independently within custom material instances to fit stylistic needs. For close-up splatters, refined albedo noise tiling and updated normal maps preserve high-frequency liquid edges when viewed at ground level.

Damage Attachment, Pooling Logic, and Engine Compatibility

Gameplay integration is demonstrated in the included DemoMap_AIExample Level, which provides functional examples for damage handling and environmental blood distribution. The sample enemy character, BP_EnemyExample, charges the player, registers projectile hits from a modified first-person weapon, and triggers impact emitters bound directly to character skeletal bones. When a fatal blow lands, the enemy executes a line-trace straight down toward the floor, finding the world hit location and surface normal to spawn a permanent blood pool decal directly beneath the body.

Tracking wounded targets through an arena is a natural extension of this setup. Because droplets can be configured to drip continuously from moving skeletal sockets onto floor geometry, players can use blood trails to locate fleeing or wounded opponents.

The package remains maintained and fully functional within Unreal Engine 5, as well as integrating smoothly alongside modular character assets like the Zombies - Modular Four Pack. For virtual reality projects, deployments require Unreal Engine 4.26 or later; earlier engine revisions such as 4.24 and 4.25 suffer from an engine-level stereoscopic rendering defect (UE-78764) that disrupts Niagara particle alignment in VR headsets. Beyond that specific VR platform caveat, the combination of lightweight CPU impact calculation and soft-referenced blueprint management provides a reliable framework for persistent scene gore.

Related Resources Worth Checking

Free Download

Download this resource

Log in or create a free account to start your download.

Resources are manually reviewed before listing to improve quality and reduce obvious risks.

Resource archiveContent.7z

Related resources