Mesh
Mesh VFX are 3D effects created by animating parts.
Any type of ‘Start’ and ‘End’ parts within a model create a valid Mesh VFX. The simplest and most common way of creating mesh effects is to just use MeshParts.
MeshPart and Union effects cannot be reasonably pooled , which means that their CFrames are not updated in bulk. Emitting a lot of these effects could impact performance more than if you were to use SpecialMeshes and basic parts.
So you may want to use a simple structure like this:
- Model
- Start
- End
The plugin also supports mesh flipbooks. You can learn more about using them in this tutorial. If you either want to use flipbooks or have better performance, you will need to use this kind of structure:
- Model
- Start
- SpecialMesh
- Decal
- End
- SpecialMesh
- Decal
You can have multiple decals in a mesh, just make sure the names of each decal pair are unique. Here’s an example:
- Model
- Start
- SpecialMesh
- Wind
- Impact
- End
- SpecialMesh
- Wind
- Impact
That covers the basics! Keep in mind that meshes are not physics-based, meaning they do not act like particles, but rather are statically animated. That said, there are attributes like SpreadAngle and random rotation. You can use them to randomize your meshes and partly mimic particles.
Note that not all properties are animated. If you want to animate an unsupported property, use Tween Properties. All animated properties can be found in the curve summary below.
Summary
Attributes
The amount of seconds waited before the effect is emitted.
The amount of seconds the effect is delayed by.
The minimum and maximum duration of the effect.
The amount of random spread applied to the CFrame animation.
Decides whether the effect follows its origin after being emitted.
When true, emits a set amount of times per second.
Determines how many times per second an effect is emitted when Enabled.
The minimum init rotation applied to the part.
The maximum init rotation applied to the part.
Curves
Controls the easing of the CFrame animation.
Controls the easing of the Transparency animation.
Controls the easing of the Size animation.
Controls the easing of the RotSpeed animation.
Controls the easing of the Scale animation.
Controls the speed of the effect.
Attributes
EmitDelay
number
The amount of seconds waited before the effect is emitted.
EmitDuration
number
The amount of seconds the effect is delayed by.
EffectDuration
NumberRange
The minimum and maximum duration of the effect.
SpreadAngle
Vector2
The amount of random spread applied to the CFrame animation. Applied around the origin.
SyncPosition
boolean
Decides whether the effect follows its origin after being emitted.
- Meshes, Beziers, and Spin Models find their first attachment or part ancestor and follow its CFrame.
- Shockwave Lines follow the CFrame of their origin attachment. SyncPosition Lines are useful for creating non-straight paths.
Enabled
boolean
When true, emits the effect a set amount of times per second. A special tag is required for this attribute to work. You can add it in the ‘Behavior’ section.
Rate
number
Determines how many times per second an effect is emitted when Enabled.
MinInitRot
Vector3
The minimum init rotation applied to the part.
MaxInitRot
Vector3
The maximum init rotation applied to the part.
Curves
Part_CFrame
Controls the easing of the CFrame animation. The starting and ending CFrames can be changed by moving the Start and End parts.
Part_Transparency
Controls the easing of the Transparency animation.
Inputs
Start
[0; inf]
The starting value of the curve.
End
[0; inf]
The ending value of the curve.
Part_Size
Controls the easing of the Size animation. The starting and ending sizes can be changed by resizing the Start and End parts.
Part_RotSpeed
Controls the easing of the RotSpeed animation. Only applies to non-zero init rotation axes.
Inputs
Start
[-inf; inf]
The starting value range of the curve.
End
[-inf; inf]
The ending value range of the curve.
Mesh_Scale
Controls the easing of the Scale animation. The starting and ending scales can be changed by editing the Scale property of the SpecialMeshes inside the Start and End parts.
Speed
Controls the speed of the effect. If it becomes negative, all of the animations start going backwards.
Inputs
Duration
[0; inf]
The amount of seconds it takes to reach the End value.
Start
[-inf; inf]
The starting value of the curve.
End
[-inf; inf]
The ending value of the curve.