oh…
hmm, prob would need to modify the whole thing, to have another parameter that gets passed in , that then relates to a table index of different emmiter types…
And or perhaps copy the whole thing and name it BloodEngine_type_2, and call it , which has a different emitter type… that would be easy…
I tried modifying the whole thing but It’s really advanced and I couldn’t get it to work, but making 2 different modules sounds kinda wacky but it should work, thanks!
wacky work… depends on how many unique emitters you want… if you want more then a few, then it would prob be better to figure out modifying it or asking for a feature…
My apologies for the delay. I’ve been busy on exams this week, but as of now, I’ve been gathering and thinking of ideas for the upcoming minor update. Here’s what I have planned:
Emitters: I’m working on creating Emitters, they are distinct from the base module. These can be created using :CreateEmitter(). Each Emitterwill have its own EmitterSettings, allowing for greater flexibility and customization.
Guides: A week ago, I started working on several guides, including ones on Ignore-Characters and Replication. These will provide detailed instructions and best practices for these features.
DropletColor: I’m introducing a new feature, DropletColor, which controls the color of the droplets. This feature allows for real-time color changes and includes random values for easy customization.
In summary, the next minor release will include the following enhancements:
Multiple Emitters: You no longer need to create new instances of the module, (which leads to performance loss as it creates parts each time you create a new instance of it), to have multiple emitters with their own settings. Each emitter’s settings will be separate and will not interfere with each other.
DropletColor: This new setting enables dynamic color management of the emitted droplets, eliminating the need for manual adjustments outside of the module.
New Guides: In-depth guides on how to configure droplets to ignore Characters, as well as instructions for replicating droplets and pools across all clients, will be made available in the near future.
These features will be rolled out during my spare time.
To clarify, I’m referring to the capability to alter the color of the droplets during emission or after they’ve transformed into pools without manually doing it outside of the module’s operation. This includes a smooth transition between colors, as well as an option to randomly select a color within a specified range.
You should learn coding, you are not going to be able to get anything done without knowing how to script, I suggest you search some resources to get started on luau.
I am. I’ve only recently made an entrance into the coding scene, and I don’t particularly have a lot of time for dedicating to it. Most of my learning is also done with pre-existing/open-source scripts and reading documentation.
So, I assume your system uses decals for the blood textures, right?
The thing is, decals generate lots of draw calls which is kiiind of slow when you have lots of blood.
Would you mind testing beams and see what the performance is when you have many of them?
I’ve wanted to test beams for a while myself to see if they’re more optimized as a replacement for many decals but haven’t gotten the time for it yet.
Beams really function kinda like decals, except they use attachments instead of being pasted onto a part and who knows maybe they’re rendered similarly to particles which could make them very light-weight if you wanted perma-blood.
local humanoid = character:WaitForChild("Humanoid")
local oldHealth = humanoid.Health
humanoid.HealthChanged:Connect(function(currentHealth)
if currentHealth < oldHealth then
oldHealth = currentHealth
-- Emit the blood from here
end
end)
You can emit blood from client, the script above is just an example.
Just to clear up any confusion, the system doesn’t actually use Decals. Instead, it utilizes SurfaceAppearance. I initially referred to it as ‘Decals’ because ‘SurfaceAppearance’ seemed a bit lengthy for an option, and Decals are more commonly recognized.
I’m assuming transparent images used on invisible meshparts?
Have you tested the performance with 2000+ splatters?
I’m actually curious to the performance difference between decals / surfaceappearance / beams.
The thing is that transparent objects tend to create lots of draw calls because Roblox doesn’t cluster them.
But since beams are (maybe) rendered the same way particle effects are, maybe they don’t create as much draw calls.
But that’s something I feel like no one has really tested out yet.
This module could be useful for my weather module, I’ve been wondering if I could use this module for customizable realistic rain splatter and particles.