- Substance 3D home
- Home
- Getting Started
- Getting Started overview
- Activation and licenses
- System requirements
- Project creation
- Export
- Export overview
- Export window
- Export presets
- Export overview
- Glossary
- Performance
- Getting Started overview
- Interface
- Assets
- Substance 3D Assets
- Color picker
- Display settings
- History
- Layer stack
- Main menu
- Project configuration
- Properties
- Settings
- Shader settings
- Texture Set
- Toolbars
- Viewport
- Miscellaneous
- Assets
- Painting
- Painting overview
- Tool list
- Straight line
- Lazy mouse
- Symmetry
- Fill projections
- Presets
- Presets overview
- Creating and saving presets
- Creating particles presets
- Photoshop brush presets (ABR)
- Dynamic strokes
- Advanced channel painting
- Vector graphic (.svg & .ai)
- Text resource
- Effects
- Baking
- Content
- Creating custom effects
- Importing assets
- Creating custom effects
- Features
- Automatic UV Unwrapping
- Physical size
- Smart Materials and Masks
- Subsurface Scattering
- Dynamic Material Layering
- UV Reprojection
- UV Tiles
- Color Management
- Post Processing
- Iray Renderer
- Plugins
- Sparse Virtual Textures
- Custom Shaders
- SpaceMouse® by 3Dconnexion
- Universal Scene Description (USD)
- Send to
- Technical Support
- Performance Guidelines
- Configuring Pens and Tablets
- Exporting the log file
- Exporting a DXDiag
- Technical issues
- GPU Issues
- Crash when working with overclocked GPU
- Forcing the external GPU on Mac OS
- GPU drivers compatibility
- GPU drivers crash with long computations (TDR crash)
- GPU has outdated drivers
- GPU is not recognized
- GPU is not recognized and is mentionned as GDI Generic
- Issues with Nvidia GPUs on recent Mac OS versions
- Multi/Bi-GPU
- Running on integrated GPU
- Painter doesn't start on the right GPU
- Startup Issues
- Rendering Issues
- Stability Issues
- Miscellaneous Issues
- GPU Issues
- Workflow Issues
- Export Issues
- Tools Issues
- Project Issues
- Library Issues
- Viewport Issues
- Plugins Issues
- License Issues
- Pipeline and integration
- Installation and preferences
- Configuration
- Resource management
- Scripting and development
- Scripts and plugins
- Shader API Reference
- Shader API overview
- Changelog - Shader API
- Libraries - Shader API
- Lib Alpha - Shader API
- Lib Bayer - Shader API
- Lib Defines - Shader API
- Lib Emissive - Shader API
- Lib Env - Shader API
- Lib Normal - Shader API
- Lib PBR - Shader API
- Lib PBR Aniso - Shader API
- Lib Pom - Shader API
- Lib Random - Shader API
- Lib Sampler - Shader API
- Lib Sparse - Shader API
- Lib SSS - Shader API
- Lib Utils - Shader API
- Lib Vectors - Shader API
- Parameters - Shader API
- Shaders - Shader API
- Release notes
- Release notes overview
- All Changes
- Version 10.1
- Version 10.0
- Version 9.1
- Old versions
- Version 9.0
- Version 8.3
- Version 8.2
- Version 8.1
- Version 7.4
- Version 7.3
- Version 7.2
- Version 2021.1 (7.1.0)
- Version 2020.2 (6.2.0)
- Version 2020.1 (6.1.0)
- Version 2019.3
- Version 2019.2
- Version 2019.1
- Version 2018.3
- Version 2018.2
- Version 2018.1
- Version 2017.4
- Version 2017.3
- Version 2017.2
- Version 2017.1
- Version 2.6
- Version 2.5
- Version 2.4
- Version 2.3
- Version 2.2
Creating A New Particle Script
Download the pre-setuped PopcornFX Package: Templates_EmitterReceiver.pkkg
This package is a "start kit" that contains an emitter and a receiver we will edit and import in Substance 3D Painter.
Popcorn fx setup
Launch PopcornFX Editor, create a new project, then open it.
In your project, right-click on an empty area and select "Import Popcorn Package". Then choose "Templates_EmitterReceiver.pkkg".
Now, you should have:
A particle system "_Emitter" which is a base template of an Emitter.
A particle system "_Receiver" which is a base template of a Receiver.
A sphere mesh used as the default backdrop of the scene
"_Emitter" and "_Receiver" are already "Painter ready". They have already been configured with the necessary evolvers, fields, backdrops etc…
Import your mesh
PopcornFX only supports FBX , be sure to export your mesh in this format. During the export step, check the size of your mesh to try to fit with correct units in "real world".
Copy-paste it in the "meshes" folder of your project (in PopcornFX, you can right click on the "meshes" folder and select "Open File Location").
Come back to the editor, open your mesh (double click on it) and click on " Build ". Close the window, and save the change.
Emitter/Receiver editing
We will duplicate existing particles systems and adapt them to correctly take the new mesh into account.
Right-click on the particle system "_Emitter" (in the "Particles" folder), and select "Clone" (or "Duplicate") to create your own Emitter.
Open it and, in the "Particle Treeview" window (bottom left), select " Layer_Model " which should be located in : "Editor Properties => Backdrop => 3D Layers".
Then, in the "Node Properties" window replace "dummymesh.fbx" by your model. Save the modification (File => Save) and close the emitter window.
Now, clone "_Receiver " (in the "Particles" folder), to create your own Receiver from this one.
Open it and, as for the emitter, replace the dummy mesh by your model in"Layer_Model". We modified the mesh displayed at the screen , but we also need to modify the mesh used by the particles .
To do so, in the "Particle Treeview" window, click on " Shape " which should be located in : "Particle Effect => Spawner => Layer_1 => Samplers => Mesh".
Then, replace the "MeshResource" by your model.
Once it’s done, there is one last thing to do: we need to "link" the emitter and the receiver with the one we have just created.
In the treeview of your Receiver, select "Editor Properties", then select your emitter in "OverSpawnEffect". Save the receiver.
Open your emitter (the one we previously duplicated) and in the "Particle Treeview" window, click on "Events" which should be located in : "Particle Effect => Spawner". Then replace the receiver by your receiver by clicking on "Extern".
It’s done! Now if you select the 3D view (of your emitter or receiver), you can create particles by pressing "space" button.
Optional: modify the receiver behavior
Open your receiver, and in the "Particles Treeview" window, select " CParticleEvolver_Script " (the top one which is dedicated to you :)) which should be located in : "Particle Effect => Layer_1 => State_0".
In the "Specialized Node Editor" window, in the function, add "Life = 0.5;" to change the particles lifetime. Then use "Ctrl+s" shortcut to save you script. You should be able to notice the difference in the 3D view.
For more informations on how it works visit the link below:
Import Emitter/Receiver in Substance 3D Painter
In Substance 3D Painter, do "File" > "Import particles" or Ctrl-Alt-R then choose your Emitter and your Receiver (both in .pkfx format) in you Pack.
Substance 3D Painter will automatically detect requirements (particle fields, OnCollide events) to decide if your pkfx is either an Emitter, Receiver or nothing compatible.
Now, you should see your Emitter/Receivers in the Shelf (in "Emitters" and "Receivers" tabs).
To use them, you first need to click on the "Toggle particles" button.
Then, in the "Tool" window, in "Physics" you’ll have the possibility to select your emitter (to replace "default_emitter") and your receiver (to replace default_receiver).
You can now right click in the "Tool" window and save the tool.