|! IMPORTANT ! This is a PopcornFX v1 page. PopcornFX v2 Unity plugin documentation can be found here|
Quick note on languages: we are in the process of translating important contents for PopcornFX in Chinese, Japanese and Korean. You'll find in this page the translated HowTo PDFs. If you'd like to see something else translated, please contact us (email@example.com).
All our packages on the Unity asset store can be found here: https://www.assetstore.unity3d.com/en/#!/publisher/8762?aid=1101lGAz&pubref=wiki
Our official thread on the Unity forums is here : http://forum.unity3d.com/threads/popcornfx-optimized-particle-effects-plugin.297938/
What's the PopcornFX Unity Plugin
The PopcornFX Unity plugin is an integration of the PopcornFX runtime libraries in the Unity game engine.
It takes advantage of Unity's Native Plugin Interface and Unity's command buffers (depending on the version of Unity, see here)
The plugin actually refers to 2 distinct parts :
- The native plugin: a C++ library that runs natively on each platform, libraries for each platform can be found in Assets/Plugins (see Libraries Setup Reference Table (Unity Plugin) for the detail)
- The managed assemblies: a set of compiled C# assemblies that are not platform-specific and provide the interface between Unity and the native libraries. They're located in Assets/PopcornFX/Scripts/
These are both identified by their version numbers and can't be dissociated (you can't take the native part from the 2.6 plugin and use it with 2.7).
The Asset Store packages are identified with the managed version number only.
The managed assemblies are provided with each version of the plugin (desktop, ios and android) and should be exactly the same (so once you've imported 2.6 from whatever package, you only strictly need the content of Assets/Plugins/ from the other packages).
All 2.7 packages have the same managed assemblies. Only the different platform-specific native libraries are exclusive to each package.
Setup From A New PopcornFX Project
- Make sure you are using the right version of the editor.
The editor's version must match the PKFxRenderingPlugin component version.
- Create a new project and choose the 'Unity Project' template
Set your project to be located in <Unity project's path>/YourFxProjectName
- Edit the settings :
Baking > New platform > <Unity project's path>/Assets/StreamingAssets/PackFx
- Make effects!
- Bake with dependencies
- See Unity Project Setup and Use Particle Effects
Unity Project Setup
If importing for the first time / updating from a v2.8+
- Import the plugin package
- Discard PKFxUpdater
- Discard StreamingAssets/PackFx if starting from a new PopcornFX project
If importing from a project with v2.7 or older
Use Particle Effects
- Have an FX pack baked in Assets/StreamingAssets/PackFx (see Setup from new PopcornFX project)
- In your scene add the PKFxRenderingPlugin component to your camera.
- Add a PKFxFX component
- Either by creating a new GameObject
- Or by adding the component on an existing GameObject :
- Drag'n'drop a pkfx file from the baked pack in StreamingAssets.
- Run, watch, enjoy.
Setup Particle Collisions
Particles can interact with static environment in Unity.
A "scene mesh" needs to be built.
- Add a PKFxSceneMeshBuilder component to an object in your scene
- Expand "Game Objects To Search"
- Drag'n'drop game objects with mesh renderers in their hierarchy to be used as scene meshes.
- Enter a pathname (relative to pack's root) to save the built scene mesh to.
- Click "Build Mesh".
- On your camera's PKFxRenderingPlugin component make sure you enable the scene mesh collision and enter the same pathname.
Identify Errors (Debugging)
Animate Effect Attributes
Animate Effect Attribute Samplers
Manage Effects' Assets Loading
Setup Sound Layers
Deploy On Mobile Devices (iOS/Android)
Pass Custom Data to the Audio Samplers
Here are the HowTo available for the PopcornFX Unity plugin :
Plugin's Memory Stats
Plugin RAM overhead without any effect loaded: ~10Mo.
Then the plugin memory consumption is tightly linked to the complexity of your effects (the number of fields per particle, the particle count and the number of layers in your effects).
- The plugin size is ~5.5Mo in the final .apk
On Windows x86:
- The .dll size is ~4Mo + the shader compiler dlls which are ~5.5Mo
On Windows x64:
- The .dll size is ~5Mo + the shader compiler dlls which are ~6.5Mo
On Linux x86:
- The .so size is ~25Mo
On Linux x64:
- The .so size is ~25.5Mo
- The .bundle size is ~16Mo
Not all features allowed by the PopcornFX SDK are implemented in the Unity plugin.
To see the current status of the Unity integration, see the Feature list.
This category has the following 3 subcategories, out of 3 total.
Pages in category "Unity"
The following 22 pages are in this category, out of 22 total.