ClassicBlood is a classic looking optimized way to create blood splats with various options to customize the result! ClassicBlood utilizes ObjectCache to get the best perfomance results.
Don’t use for loops to spawn big amount of splats at the same time instead use build-in method(BulkSpawn) to spawn lots and lots of blood(more optimized). Use settings to customize various parameters such as blood weld to unanchored parts or bloods color dry after sometime.
Every blood droplet has tag(“Blood”) you can customize blood even more with tags!(Do not edit original API so its easier to update!)
Showcase
Plans
Replace runservice connection with touched for more perfomance(likely not happening)
Add sounds
Add dynamic settings or function to update settings
task.wait(4)
local CollectionService = game:GetService("CollectionService")
local ClassicBlood = require(game:GetService("ReplicatedStorage").ClassicBlood)
local Cache = ClassicBlood.GetCache()
for _, BloodyPart in pairs(CollectionService:GetTagged("Blood")) do
print(Cache:IsInUse(BloodyPart))
end
also is there a way to change the blood color? or have a command to only use a ceritan color? (like if someone is making a game where monsters bleed green and humans bleed red)
Turned this off temporarily in my game (Blood spawns on melee hits, bullet hits, explosions and limb decapitations) because if it never hits a brick or falls into the void, it’ll infinitely call RayCast thousands of times and turn my extremely lightweight game into a really slow lagfest, especially after an explosion. I will attempt to create a despawn timer, but I believe that is something that should be implemented in an update, instead.
Specifically what part of it? It’s an unmodified ClassicBlood module, and all I need to do is use BulkSpawn a couple of times while the spawning position is over the void, and eventually, lag begins to set in.
erm, thats how object cache works, it moves parts to far far away, and when we need part we just move it to needed cframe. Also try anchoring your blood particles and testing various settings
I simply could not get it to work with roblox physics, i will rewrite the module in next update likely, i was scripting it when i was sick and made many mistakes.