Particle Playground is an easy way for developers to customize native iOS particle emitter classes (CAEmitterCell and CAEmitterLayer).
You just drag your particle image on the image well, modify some slider values and watch as the realtime preview shows you what you will see on your device when you hit the "Export"-Button.
You get a fully functional UIView subclass that takes care of all of your settings and displays the particle emitter just like you set it up in Particle Playground.
» Features «
- customizable UIKit particle system
- Export your emitter as .m and .h files ready for easy integration in your project
- Landscape support
- Randomize function for playing around with emitter configurations
- retina-ready UI elements
» Basic usage «
1. Drop your particle image in the image well
2. Manipulate the different properties until you have the desired effect.
3. Hit export (this will give you 4 files)
Now you have 4 files: Your code (.h & .m file), the image (.png) and a savefile (.plist). The savefile is just so you can later open the emitter again.
4. Drag the image and the code files (.h and .m) in your Xcode project
5. Make sure to add the QuartzCore framework to your project.
6. Create a custom view with the class "PPEmitterView" (in Interface Builder or programmatically)
7. Now just fire up the simulator and watch your beautiful emitter!
» Some more things «
1. The sole purpose of this app is to make it easier to customize the iOS-native particle emitter classes. If you are looking for a particle emitter that works together with cocos2d or another framework you are in the wrong place. Search for "Particle Designer" in your favorite search engine. It's a cool piece of software which - sadly - does not support UIKit particle systems and is not on the app store. (btw: I am in now way affiliated with them!)
2. Don't forget that your Mac is probably a bit beefier than your iPhone/iPad! A particle emitter with 1000 particles per second may look really nice in Particle Playground but it can really take a performance hit on the device. You should really test that.
3. If you notice that your sprite image is flipped upside down in the emitter preview window, then you are seeing right. That is what the CAEmitterLayer does. You can read more about it in my blog: http://www.vigorouscoding.com/2013/02/particle-image-gets-mirrored-by-uikit-particle-system/
» Bugs and upcoming versions «
If you happen to find any bugs or annoyances: Don't hesitate to contact me! I am very interested to hear about it and fix it in the next version of Particle Playground!
You can also suggest features that I haven't thought of or maybe just left out of version 1.0. Please let me know about the ones you want or think would be useful to the overall experience of the app.
Here are some ideas. I *want* to implement them all but time is a scarce resource so your input in what is needed the most would make a difference (and I would know that I'm actually talking to someone and not just to myself ;)
- Ability to lock fields to certain values even when hitting "Reset" or "Randomize"
- Multiple emitter cells
- register a filetype for Particle Playground
- different min/max values for certain fields (I made some assumptions about these values and set some limits accordingly. if you think my assumptions are faulty, let me know!)
- retina mode
- half-size mode for the iPad
- output only non-default parameters in the export-code
- (more) tooltips?
- a help or a link to the apple documentation? or my blog?
» Image Resources «
The iDevices were taken from pixeden.com. thank you for making such great resources and giving them away!
- Landscape support added
- Added a new Menu Item "Emitter" with shortcuts for Pause, Reset and Randomize
- Added a new Menu Item "Device" with shortcuts for Device selection and Interface Orientation
Ratings and Reviews
This app saved me a lot of time creating the effects for my game. You can use it to get your FX to a certain level before plugging into your app.
I left a star off because yes, it could be even better :) Adding in the ability to wire in and time animations for the particle effects would be extremely useful, because that’s what you end up doing anyway (for example, animating the birth rate of a particle on/off over a short period of time). Also, combining this notion with ‘layers’ of particles would be useful when creating an effect that uses multiple emitters (such as an explosion).
Basically, you could take it to the next level - but I’m not sure how much you’d want to invest in that, seeing as SpriteKit is now out.
Helpful but it could be even better.
I think this is a good way to understand the properties and the how they effect the particles. It would be much better if you could setup layers such that you can create more robust particle effects. For example, emit a few particles, have those particles emit more particles like a firework. Taking it one step further would allow you to set up the animation of effects. So maybe you only wanted 4 firworks to go off and then end. I'm just dreaming here, but that would be truely helpful in setting up particle effects that are more complex than just one emitter.
It's a nice App and worth the money to learn how those settings work, but it could be so much more.
Very helpful app that could be even be more helpful with a few additions:
1) I’d love to see a menu of pre defined effect types (fireworks, smoke, waterfall, etc) to choose from that I can then tweak to my liking.
2) Have a collection of images to choose from for particle image
3) Mouse over or other help to briefly explain what each thing is. Sure I could go to xcode and look up that info in the docs, but it would be handy to have it in the app for quick reference.
With Family Sharing set up, up to six family members can use this app.