Want to make change up the effects in the game? Heres some basics to help make mods for the VFX

VFX

All of the effects in Trove are VFX and they can be modded in any way you like.

Extracting the games VFX files

If you haven't already extracted the files then you need to do that first. It is exactly the same as extracting the blueprint files for getting the voxel models.

Once you are in the Live folder the folder path from there to find the files "\Live\particles\VFX\Particles".

A quick way to extract all files from the game is by using a script which can be accessed from http://www.trovesaurus.com/page=591/extracting-from-tfa-packages

Setting up PopcornFX

Download it from their website but make sure you download the correct version.

website: http://www.popcornfx.com/download/

The version that Trove uses may change but currently it works with version 1.10.0.3...... (oldest 1.10 version)

which can be downloaded from their wiki at http://wiki.popcornfx.com/index.php/PK-Editor_v1.10

Once you have set it up you should add a new project and select the file called PopcornProject.xml which is located inside your VFX folder. (make sure this is inside the folder where all the extracted copies of the VFX are, and not the archived files)

Changing the VFX

There are a lot of VFX for each class but you don't necessarily have to edit all of them as some may not be used or may be for different costumes / models that you don't want to edit. Some models use several different effects for different times but if all the effects are active at the same time they may be all in one file.

You can change anything about the VFX itself from inside the editor but it can be a little complex to know what everything does. (Please note you can not change the VFX's behaviour in the game itself so some VFX may look slightly different to how they look ingame as in the editor they wont necessarily move)

On The Treeview you can see all the parts of the VFX file you have opened. Each part can be re-named by double clicking on the text. By clicking the Arrow next to the effect you can expand / shrink the treeview. When editing that effect you will need to have it expanded on the treeview.

The first item in each effect is the Fields. This is a collection of all the variables the effect uses. You may need to add new ones to this list if you are trying to make new variables in the scripts. The field list uses many different types. The key ones are float, float2, float3, float4. Float is a single number. float 2 is a collection of 2 numbers. float 3 is used for locating something in a 3D space because each of the 3 numbers represents X, Y, and Z co-ordinates. Float 4 is for colours with the RGB and alpha channels for each number (uses fraction of 1).

The next item in the treeview is Events. This can be used for ingame collisions of the effects which will be explained later.

The third item in the treeview is Samplers. This is less important

The fourth (Renderers) however is very important as it links the textures of the effect and sorts out what fields are used for each property of the texture

The fifth item in the script is one of the most important ones as it contains the script which can be edited to set the starting values of the effect. These include the Positon of the effect in the editor which uses X/Y/Z axis and also includes things like the time that the effect stays visible for. This script cannot change the effect over time.

The next part of the Treeview is a category for the evolvers of the effect once it has spawned. By right clicking it you can add new evolvers which will change the effect throughout its life. 

The evolvers

The physics evolver can give the effect velocity and also make ingame collsisons create other effects from the same file.

The Field evolvers can be used to control a field (variable) by plotting what it should do and where on a graph. The field can be selected by using the box next to the name on the treeview. if you want a field to be static and never change do not use this and instead set the variable using the spawner script or the script evolver.

The script evolver is one of the key evolvers if you want the effect to change over time. This can set variables and make them change depending on other things. Variables can use other variables to create new variables and  they could change over time by linking them to fields or by using certain parts of the script like the word LifeRatio to get the percentage of how far it is into its life before the effect dies (can be used to make a effect shrink/grow over time, change speeds and more). Another useful part of scripting is the random feature using "rand(lowestnumber,highestnumber)". More information on the scripting side of popcorn fx can be found on their wiki http://wiki.popcornfx.com/index.php/Scripting_language_reference#Local_variables    . (Please note lines end with a semicolon ";" )

The spawner evolver is very important too if you want to make trails for the effect. It creates a mini effect inside the effect and spawns after its parent effect goes a certain distance or is alive for a certain time (can be changed). Trails do not need to move because their parent should be moving. For trails of the effect that do not follow other effects and instead leave a trail for the ingame movement create a new effect inside the file and use localspace.

The Localspace evolver allows a effect to use the ingame space for its movement rather than the effects space. This can be confusing to how the effect moves ingame as it isn't always how it looks in the editor (especially with trails)

Basic editing of changing the texture

Expand the renderers item in the treeview. If you want to make a new rendering object right click it and select new renderer. billboard is the most common type of renderer that uses a 2d texture. To edit a billboard select it in treeview and look at its properties. The material is the type of texture that it is. Changing this can make it use the texture it is provided with in different ways. The Diffuse is the texture itself. This locates the textures. For Trove textures for VFX are located at \Live\extracted\particles\VFX\Textures . If the texture has multiple sections it can use a atlas definition to split it up so the effect can change between them. Trove has its atlasdefinitions located inside the AtlasDefinitions folder. The geometry properties show which fields (variables) the effect uses for what part of the texture. To change these parts of the texture you will need to use a field evolver or you will need to define them inside a script.

Examples

Example 1:

If you just want to change the effect's colour you can find what field the billboard uses to choose the colour and then look for that colour which will either be in a  field evolver (check if it shows Color in one of the boxes in treeview) or it will be in a script (either spawner script or evolver script). If it is in a field evolver you can click it and change the colour by dragging the nodes around to change its gradient. You can add new nodes by right clicking and adding midpoints with the "subdivide" button. Depending on the field type the node editing panel will show different amounts of lines. For colours it will be a float4 and so it will have RGB and a alpha channel. If the colour is in a script it will be shown with "Color = float4(R,G,B,A)" although if it is modified in the script by using it with operators such as multiplying it by another colour the resulting colour may be different.

Example 2:

If you want to modify the size of a texture in a effect you can find what the field is in the billboard and use the same ways to edit it as editing colours. if you want to change the field from being defined by a script to being defined by a field evolver this is also possible by deleting the parts in the script  and adding a new field evolver and setting it to the correct field. This also works from changing the field evolver to part of a script.

Example 3:

To make a moving effect spawn another effect ingame on the surface of a block it collides with you can use collisions. This would need you to locate the resulting effect inside a new subfolder of the local folder which is located underneath all the normal effects. Then on the effect you want to spawn this resulting effect on collision you  should click the Events item on treeview and create a new event called "OnCollide". This event should have the EventAction set to the folder you located your result effects in (the subfolder of local). Next you will need to go into the effects physics evolver and find the collisions tab of its properties. If you want the old effect to die as it collides you can make sure the DieOnContact box is ticked. You then need to tell the effect what event to run when it collides so you need to scroll down again on the physics evolver to get to the events tab. This should then have "OnCollide" as the EventOnCollide. The effect now should spawn the resulting effect if it hits a mesh (such as any block ingame). This does mean it will not show the effect in the editor unless you create a new effect that has a mesh to make it collide. 

Adding the effects to your mod

When zipping the files for your mod instead of just zipping the blueprint folder add a new folder next to it called "particles". Inside that folder add a folder called "VFX". Inside that add a folder called "Particles" and inside that copy your new made vfx files with their original names (this uses the origional folderpath). If you use custom textures make sure you also put the textures in its texture folder using the original folderpath. Then when zipping up the final mod select the blueprints folder and the particle effects folder and right click and send to zip.

(if you are making a mod just for particle effects you don't need the blueprints folder at all because it wont contain anything)

Other useful resources:

Please note that not all features of popcorn fx will be usable due to the version of popcornfx trove uses so you may need to see on wiki if there is a warning of which versions do not work with it (if any).

Comments and Likes Comments 3

You must be logged in to add a comment.

liked this!

2y

liked this!

3y

liked this!

4y
[Deleted User]

add picture please :>

for what exactly?

 If anyone has any questions please comment. (I may add some pictures later)