Information about Mesh Particles In Atlas
Infinite Life Mesh Particles¶
If you are making a Mesh Particle in Cascade that has no Fade-In or Fade-Out and will live until the game ‘kills’ it, here are the correct settings to use:
Make sure you have Kill-on-deactivated and Kill-on-completed checked! (otherwise they stay around forever!)
Importing Meshes & LODs¶
When you import meshes into UE4 for use as Mesh Particles, generally you need to Poly Reduce and create a very low resolution LOD for streaming performance.
To do this, open the Mesh Editor and in ‘Details` open ‘Reduction Settings’, set the ‘Percent Triangles’ to something that gives you the Poly Count you want (this uses SimplyGon to do the Poly Reduction) and set ‘2’ for number of LOD’s in the ‘LOD Settings’. Then hit ‘Apply Changes’:
Once the new LOD shows up after hitting the changes are applied, set a really low ‘Percent Triangles’ for the LOD1 (which is only used for loading into memory/streaming- not for when it is actually used) :
- For meshes that are less or equal to 300 tris, make sure to turn on “ignore tri reduction”
- When importing vertex color make sure you delete the mesh first BEFORE reimporting it.
Animation Driven Mesh Particles¶
To keep as much of the production in the Art Department’s hands we have a process where all the Meshes that our characters use for things like reloading/etc are being accomplished with Mesh Particles instanced in AnimNotifies. There is a specific way to accomplish this!
Here is the basic order of accomplishing this:
- Get the final Mesh or Meshes that will be used to connect to the Animation. Generally they are the same for TPV and FPV, but there is always a chance they are different.
- Create new version of each of the meshes for use as a Particle Mesh. Rename them “FX_whateverMesh” and put them in the Atlas/Effects/Meshes area.
- Create a new Material (and likely Material Instance) for the Mesh and enable compile for Particle Meshes. Put these in the Atlas/Effect/Materials area
- Particle System
- Create a new Particle System in Cascade and make a Mesh Particle emitter. Put this in the Atlas/Effects/Particles area
- Bring in the Mesh you created into the Particle System and create a Mesh Material Node and assign the Material there! This is important for this to work correctly!
- The Mesh relying on its own assignment or overridden in the ‘Required’ node will not work!!
- Open the Animation(s) you need to add the Particle Mesh to. This is usually named something like “_Montage”
- There are generally two versions- a TPV one and an FPV one
- Add AnimNotifies and hook up the Particle Meshes where they need to be triggered on and where they need to be triggered off.
- Point the AnimNotifies to the appropriate Particle Mesh and assign it to the proper socket/bone
- Generally the proper Socket/Bone was created or set up by the Animator to work properly with the Mesh, but there is a chance you might need to create a socket and/or position/rotate it or tweak it some.
- There are a bunch of options that need to be checked/set a certain way to make this work properly and have the Mesh Particle correcly
- Here is a link to an example with everything set up correctly:
- Note: this has the extra StoppedEvent in the array there on the left, as a failsafe
- Tweak/iterate- you may need to tweak position/rotation/scale of Mesh Particle.
- If you are using a Socket that has other things attached to it, you should tweak in the Particle System - or create a new Socket and position/rotate as needed - but you should always check with the Animator to make sure you have the everything else correct before modifying.
- If you are using a Socket that was made for this, it is okay to modify as needed (but generally best to check with the Animator to make sure there are no issues with changing it)
- You need to test both TPV and FPV versions IN GAME!! The animation editor doesn’t really give an accurate view of how the Mesh Particles will be seen by the player, and sometimes things don’t trigger as expected.
- Usually the Dev assigned to the task can give you notes on how to easily trigger the animation in a test scene