A Blender 2.81+ plugin for importing and exporting GFS and GAP files.
A collection of preset materials, which you should use alongside this plugin to maximise your likelihood of a successful export, can be found in MadMax1960's GFD Asset Library repository.
Section | Contents |
---|---|
Plugin Installation | Important notes on plugin installation beyond regular addon registry. |
Plugin Usage | Important notes on using the plugin. |
Limitations | Plugin limitations. |
Future Development | Notes on the most important features that are missing from the plugin. |
Acknowledgements | Important acknowledgements of assistance and resources used in the development of this library. |
Supported Formats | Formats supported by the plugin. |
The plugin comes bundled with documentation. In the source repository, this is just a LaTeX file plus the required images to build it, and the buttons in the Blender UI designed to open it will fail if you just install the addon from the develop branch. Therefore you have two options for install:
- Install the latest release.
- Download the code, and either:
- Build the LaTeX file from source (out of scope for this README).
- Unzip the addon, take the
Documentation.pdf
from the latest release, put in thedocs
folder of the downloaded code, zip the addon back up and install it.
BlenderToolsForGFS makes a few idiomatic choices, such as, but not limited to:
- UV maps must be named UV0 through to UV6, in order to preserve texture coordinate animations.
- Cameras and Lights are attached to bones using
ChildOf
constraints. - Blend Animations must be split into two Actions - one for Translations and Rotations, and one for Scales.
You should read the documentation if you need to understand the idiomatic choices used to export data. You can use imported files as a reference to see how data is imported. There are many opportunites to open the documentation from within Blender by clicking the How to Use
buttons on many of the data properties panels added by the plugin.
All data from the GFS or GAP file should be preserved from import to export, but not all of it will be represented in Blender. Most of the this data is stored as raw byte data on hidden properties inaccessible to the user. Use dedicated software such as GFD Studio to edit data the plugin is not capable of making accessible to the user.
- Camera aspect ratios are not displayed in Blender.
- Most aspects of Lights are not displayed in Blender.
- Materials are only implemented as using the Diffuse Texture. All Material data is imported, but most is not rendered in order to not be misleading.
- Physics bones are not previewable.
- EPL data is not displayed.
- All animations other than Node/Bone animations are not displayed.
- Names not decodable as UTF-8 will cause import errors. Since all vanilla models use UTF-8, this bug can only be triggered by edited files.
The highest-priority features are, in order of importance:
- A custom Material Node that faithfully reproduces the material rendering.
- Import and editability of material, camera, and morph animations.
- Import, manipulation, and export of submodels in EPL data.
- Import, manupulation, and export of the model data in EPL files.
This is a Blender importer for the GFS file format. The GFS format code has been heavily derived from GFD Studio, tge's 3DS Max importer, and the 010 Editor templates. Deep thanks are given to all those who have contributed to the understanding of the format.
Additionally, thanks to CherryCreamSoda, DeathChaos, DniweTamp, A Mudkip, ShrineFox, and tge for providing feedback on the plugin development and for assisting with the comprehension of aspects of the GFS file format.
The status of the code is tabulated for the different filetypes and versions given in the sections below, with the following keys:
Key | Status | Definition |
---|---|---|
✔️ | Supported | Import/export is production-ready . |
🟡 | Partial Support | An incomplete, but partially usable import/export operation exists. |
❌ | Not supported | Insufficient code exists for useful import/export. |
Version | Present In | Import | Export | Notes |
---|---|---|---|---|
0x01104920 - 0x01105100 | Persona 5 Royal (PC) | 🟡 | 🟡 | (1) |
(1) There are several missing features, noted in Future Development, that would be necessary for full GFS support.