EFX PL Editing - Ezekial711/MonsterHunterWorldModding GitHub Wiki
Introduction
PL Files are one way in which EFX can displace individual meshes within a model file. A PL file is married to a mod3 file which has the mesh which it modifies. Modifications are strictly translations, there are no rotations. Free Hyper Kinetics provides importing and exporting capabilities for pl files. In general you need a base model before importing and you LIKELY will want a base model for exporting as well.
PL files link to the sub-meshes in a mod3 file through the visible condition value. All meshes with a given visible condition will be translated to the position of the node in the pl file with that same value.
Importing
When importing a PL file you first want to use the Mod3 Importer to import the mesh it modifies. You can find the path that a PL file modifies by looking at the EFX file calling the PL as the mesh will be loaded in the mesh attribute of the EFX entry associated with the PL attribute.
Importing the pl file on the same scene will provide some convenient visualization
Using the Free button we can remove the influence of the PL File on the Mesh (and conversely, using the Link button we can reapply it).
Exporting
When exporting the PL it doesn't matter in what state (free or linked) the mesh is. However when exporting the mod3 MAKE SURE THAT THE MESH IS FREED.
Making a PL from scratch
It is possible to manually create PL Proxies as empties with custom properties (or use the convenience Create PL Proxy to make them one by one). The Create PL Proxy button will use the currently selected object as the position for the PL Proxy. If the active object is a MHW mesh with a visible condition set (visibleCondition in custom properties) the newly created proxy will inherit the visible condition value otherwise it can be manually set.
However, if you have multiple meshes with translations and their visible condition on their custom properties, you can directly create the PL Proxies for all of them simultaneously.
The PL Tools will merge meshes with near-identical translations (limited by Merge Distance) and assign viscon values based on their properties (when missing a default value can be set, in this case its -1 by default).
This can already be exported as a PL file. To export the corresponding mod3 we want to Free it before clicking the mod3 export.