Upcoming: Use a sprite to emit particles?!?
Hey Everyone!
I've got some news of incoming stuff. I have implemented a displacement map and a color map.
What does this mean, you ask? Well, it means that you can change the particle properties by the color values of a texture. For example, you can generate Perlin Noise with Dragonite's Macaw, use a sprite or a surface.
With a displacement map you can alter the position of the generated particle, the speed, the life, the orientation, the size and the color.
The main difference is that you can drastically alter the feeling of the effect. For instance, I think this application of Perlin Noise makes for a very organic watery effect.
https://fxtwitter.com/DelfosAnimation/status/1673851634294706178
This is because neighbouring particles have similar speed, direction and coloration, unifying the movement.
With a color map, you can take the color of an image and apply it to the corresponding particle , and also change the size of it in relation to the opacity.
Yes, this means you can now make a Mario with particles
https://fxtwitter.com/DelfosAnimation/status/1673785852567093254
But in more serious uses, this means you can make WAY more complex color profiles for your effects (basically you can color individual particles!). Notice that this coloring doesn't evolve over the life of the particle, it is only set at birth.
If you care about the technical details, Pulse coordinates are normalized (go from 0 to 1) which means I can straight up look up a texture coordinate and apply the color/luma value as a percentage. This is also 100% compatible with Macaw, which means you can generate Perlin textures at runtime to use with your emitters. These textures are slow to be generated so I wouldn't recommend it to do it all the time, probably best at load time.
You can also load a sprite or a surface with a function I provide also based on Macaw to keep compatibility.
Both Macaw and the sprite method generate a fixed buffer, which means you need to garbage collect it when you are done using it.
And of course, the bigger the image you use as a map, the more memory you will need, so keep that in mind.
Luckily, the result of EVERYTHING done by pulse can be saved as a cache and read out by pulse, so you can destroy that buffer/surface/whatever right after creating your emitter. This means, of course, that you will be limited to cache'd particles instead of dynamically generating them.
This is not fully released yet, but you can download a beta version from the github repo. Some things might be a bit broken.
Hope you make some cool stuff with this!
Get Pulse - Particle magic for GM
Pulse - Particle magic for GM
Particle Library for GameMakerStudio that does a lot of stuff
More posts
- Pulse 0.7 : Collisions, Linked Properties and More!Dec 29, 2023
- Documentation NEARLY complete!Sep 21, 2023
- New Version! System sleep💤, new part_type functions and more!Sep 10, 2023
- New version: Line emitter, curve distribution and focal points!Jul 24, 2023
- Particles go UP!Jul 18, 2023
- Fixes + Creating Instances with Pulse!Jul 02, 2023
- New Version! Now you can use PATHS!Jun 06, 2023
Leave a comment
Log in with itch.io to leave a comment.