Convert from Forge
Convert from Forge rebuilds effects made with VFX Forge as Part-Icles emitters. It reads the settings of each Forge effect and makes a converted copy beside it. The original is left untouched.
What it makes possible:
- A whole Forge pack brought across in one press, then worked on in the Properties panel.
- One Forge beam or particle converted, to try the plugin on material you already have.
- A Forge lightning bolt, sound or camera shake turned into an emitter of its own type.
- A list of what needs attention by hand. Output names every part that was approximated or left out.
Running the converter
Section titled “Running the converter”| Step | Control | Action | Result |
|---|---|---|---|
| 1 | The Explorer | Select one or more Forge effects | The effects are selected. |
| 2 | ≡ ▸ Tools ▸ Convert from Forge | Press | A converted copy appears beside each original. The copies become the selection. A toast at the bottom right reports the result. |
| 3 | Output | Read | Every note about the conversion is listed. |
What may be selected at step 1:
- A Model or a Folder that holds a Forge effect.
- A single Beam, Trail, stock ParticleEmitter or Sound.
- A single Attachment tagged by Forge.
- A single Forge camera shake.
The copy takes the name of the original with _PartIcles added. An effect named Slash gives Slash_PartIcles. If that name is taken, the copy is named Slash_PartIcles_2, then Slash_PartIcles_3.
The whole conversion is one step in Studio’s undo history, named Part-Icles: Forge Convert.
The messages
Section titled “The messages”| Message | Shown when |
|---|---|
| Converted 6 effects from 1 source (1 approx, 2 skipped). See Output for details. | The conversion ran. The numbers change with the selection. |
| Select Forge VFX (Model or Folder) to convert. | Nothing was selected. |
| Nothing convertible found in selection. | The selection held nothing the converter can use. |
In the first message, approx counts the effects that were converted to something close but not the same. Skipped counts the effects that were not converted. Output gives a line for each.
The converter refuses to convert a copy that it made itself, and gives a warning.
What each Forge effect becomes
Section titled “What each Forge effect becomes”| Forge effect | Becomes | Notes |
|---|---|---|
Mesh effect, a Model with Start and End parts | A Part emitter | The movement, size, transparency and spin of the Forge effect become graphs. The Forge speed setting is worked into those graphs. See Mesh effects. |
| Beam | A Beam emitter | The start and end values of the width and of CurveSize become graphs. The texture speed is kept. The start and end transparency become Blender states. The emit delay and duration are kept. |
| ParticleEmitter | Stays a stock ParticleEmitter | The emit count, delay and duration are kept. |
| Trail | Stays a Trail | The emit delay and duration are kept. The Trail starts switched off. |
| Sound | A Sound emitter | The start and end values of the volume and of the speed become the Volume and Speed graphs. RollOff_Start becomes Roll-off Min. EmitDuration becomes Lifetime. Without EmitDuration, a looped Sound takes the length of its clip as Lifetime. The emit count and delay are kept. |
| Spin Model with a rotation, a scale other than 1 or position sync | A Model emitter | |
| Spin Model with none of the three | Stays a plain Model | The effects inside are converted one by one. A mesh effect inside becomes one Part emitter. |
| Shockwave: rings, lines, debris | One or more emitters | Approximated. Counted as approx. |
| Bezier particle path | An emitter that follows the path | |
Lightning bolt, an Attachment with a template Part and a Points path | A Lightning emitter | The emitter takes the place of the Attachment. See Lightning bolts. |
| Camera shake | A Camera Shake emitter | The emitter is an invisible Part, placed at the Part or Attachment that holds the shake. The fade in, the hold and the fade out shape the Amplitude and Rot. Amplitude graphs. Together they give Lifetime. Falloff is kept. With no Part or Attachment above the shake, Falloff is 0. |
| Screen-space part | A Part in the world | Its behaviour relative to the camera is lost. Counted as approx. |
Child effects in an EmitOnFinish or EmitOnImpact folder | Effects fired by the emitter’s On Death or On Hit event | On bezier paths, shockwaves and lightning bolts. |
Events describes On Death and On Hit. The Blender describes Blender states. Sound, Lightning and Camera Shake describe those emitters.
Mesh effects
Section titled “Mesh effects”| Forge setting | Result in the Part emitter |
|---|---|
| The part transparency | The Transparency graph of the mesh. When Start holds a Decal and no part transparency is set, the mesh is hidden. |
A Decal on Start with a Decal of the same name on End | A layer in the Decals section, with a Transparency graph of its own. Its Color goes from the colour of the Start Decal to the colour of the End Decal. Over-bright colours go to the Brightness of the layer. |
A Decal on Start with no partner on End | A layer that keeps the transparency of the Decal. |
| The mesh colour | The colour of Start for the whole life. The colour of End is not used. |
| The spin speed | An axis spins only when it has an initial rotation in MinInitRot or MaxInitRot. With no spin, the particle turns from the rotation of Start to the rotation of End. |
SpreadAngle or RotAroundOrigin | The travel path turns with each particle. Motion ▸ Displacement Mode is Local. Without either, it is RigidLocal. |
A SpecialMesh in both Start and End | The Size graphs go from the scale of one SpecialMesh to the scale of the other. |
DestroyDelay | Linger |
| A flipbook on a Decal | A flipbook of its own on the layer of that Decal. A flipbook with a pace of its own loops at that pace. Any other flipbook plays once over the life of the particle. If one pass is longer than the life, Lifetime is lengthened to fit. |
Output reports the frames brought in, as in Imported 12 flipbook frames for ‘Slash’. Decals and flipbooks describes layers.
Lightning bolts
Section titled “Lightning bolts”| Forge setting | Result in the Lightning emitter |
|---|---|
An End attachment | Target Mode Point. The bolt ends on an Attachment named BoltEnd inside the emitter. |
No End attachment | Target Mode Directional. The bolt fires from the start of the path toward its end. Length is the straight distance between the two. |
| One bend in the path | Sag |
Segments, Jaggedness and RefreshRate | Segments, Amplitude and Jitter Rate |
The start and end values of the width and of the transparency, the fade in, the fade out and Scale dissipation | The Thickness and Transparency graphs |
| The colour loop | Color |
The duration, DestroyDelay and the dissipation time | Lifetime, the three added together |
| The sweep of the head along the path | Growth Speed |
| A Part as the parent of the Attachment | The starts of the bolts scatter inside the box of that Part. |
SpreadAngle, with no End attachment | SpreadAngle, as a cone around the bolt direction. Output marks it as approximate. |
Rate, the emit count, delay and duration | Kept. |
NestedEffectMode All | The stock ParticleEmitters, Trails and Lights of the template are kept in the RenderTemplate. The effects in its EmitOnFinish folder fire from On Death. |
What does not carry over
Section titled “What does not carry over”Each of these gives a line in Output, except the last row.
| Forge feature | What happens |
|---|---|
| Attribute-tweener effects | Skipped. They are left out of the copy. |
A lightning bolt with no template Part or no usable Points path | Skipped. It is left out of the copy. |
| A spin Model with no PrimaryPart | Skipped. It stays in the copy as it was. |
| Bezier path: the projectile carrying on after the path ends | Not converted. |
| Bezier path: hitbox collision | Not converted. |
| Bezier path: following the caster | Not converted. Set a Link by hand. |
Bezier path: InAndOut facing | Becomes inward facing only. |
| Bezier path: facing along the path, with an end override | The emitter follows the shared path. |
| Shockwave lines: a rate that ramps from a start value to an end value | Becomes one average rate. |
| Shockwave lines: following the caster | Not set up. |
| Shockwave debris: an amount given as a range | Becomes a single count. |
Lightning: a Length_Start or Length_End below 1, a short bolt that travels along the path | Becomes a full-length bolt. |
Lightning: projectile flight after the path, the Fill highlight, NestedEffectMode Head or Tail | Not converted. |
| Lightning: a path that bends both ways | Becomes a single arc. |
Lightning: Retract dissipation with no fade-out | Becomes a fade-out. |
Lightning: SpreadAngle on a bolt with an End attachment | Not applied. |
| Lightning: a spawn shape other than a box volume | Becomes a box volume around the parent Part. |
Lightning and camera shake: Speed_Start and Speed_End time scaling | Not converted. |
Camera shake: a PositionInfluence or RotationInfluence that differs by axis | Becomes one strength for all axes, the largest. |
| Sound: sound pools | Not converted. The converted Sound always plays. |
Sound: RepeatCount, RepeatInterval and EmitInterval | Not converted. |
Sound: a roll-off that changes from RollOff_Start to RollOff_End | Not converted. RollOff_Start is used. |
| Sound: a looped Sound whose clip has not loaded | Lifetime is not set. Set it by hand. |
| Emitters nested inside a spin Model | They emit from fixed positions and do not ride the spin. Link each nested emitter to the spin emitter by hand. |
Link describes linking an emitter by hand.
Limits
Section titled “Limits”- The converter works on the selection.
- A converted copy is not converted a second time.
- An effect counted as approx or skipped needs a look by hand. Use the lines in Output as the list of what to check.
- A bezier path, lightning bolt, Sound or camera shake with a line in Output still counts as converted. Read Output after every conversion.