Guides - kajupe/FFGear GitHub Wiki
To the right you'll find a screenshot of what your FFGear panel could look like. Allow me to explain each section:
Marked in Red you'll see the button for quickly setting up characters exported using Meddle. This is the recommended workflow since it just makes stuff easier, but FFGear is still fully functional even if your things are exported from something like TexTools.
Once clicked you will be prompted with a file browser window where you have to select your Meddle export's "cache" folder. This is usually placed next to your actual 3D model file. Once selecting that FFGear will search for all relevant .mtrl files and textures, and apply them to your selected objects, then look for dye information exported with Meddle and apply that, and finally create the actual material using that information. This process can take a couple seconds per material, and will be slower depending on how many objects you have selected.
If all goes well, this should be your "one-click" solution.
Holding CTRL when using this will cause it to only affect the selected objects. Other objects, even if using the same material, will be untouched.
Marked in Green is where you provide the material with the required files. Technically you can still create a material with none of these selected, it'll just be the blank template material and not of much use. You should ensure that the .mtrl file and all textures that material uses are selected before creating your material. You can select a file by clicking the folder icon to the right of the path-field to bring up the file browser.
To make this easier you have two buttons to assist you in selecting all the textures, FFGear can either grab the paths directly from a Meddle export, or by reading the .mtrl file for desired paths. To do this, press "Fetch Textures from MTRL" button and select a directory to search. If the textures you need are in there and named correctly (the names they have in the game files) then it will be automatically selected. When using this method or when selecting a file manually, FFGear will try to make the path relative if possible. This button is most helpful for non-Meddle exports.
Of note: The Diffuse texture is almost always just used by really old gear from before A Realm Reborn. If your material doesn't have one, that's fine.
If you have multiple materials using the same textures, such as "_a_" and "_b_" variants, the "Copy to Other Materials" operator (small button on the right) will copy the selected paths to all such materials so you don't have to do it twice. Hold CTRL to have it only consider materials on the same object, or ALT to forcibly set the textures on all materials on the same object even if it's not a variant.
Marked in Blue is the Create / Reset material button. Before a material has been created it will read "Create This Material", and it will then switch to "Reset This Material". It does what's on the tin, and sets up an FFGear material using the provided .mtrl file, textures, and the template material that ships with the addon.
Hold CTRL to have it only affect selected objects, leaving all others entirely untouched with their materials intact.
Hold SHIFT to affect all materials across all selected objects.
Hold ALT to perform a hard reset. By default FFGear tries to re-use node groups and textures if they're already in the Blender file, since that's generally desired and will reduce the number of duplicate data in your file. However if you don't want that, a hard reset will always grab the latest version of whatever is on disk without reusing anything. Expect duplicate data to be created, though.
Marked in Yellow is the dye area, which is the most fun to play around with! Here you can select your two dyes from the full list of 124, as of game-patch 7.2. If more get added it may take a little bit for FFGear to be updated and support the new options.
Below that are four buttons in a row that become visible once your FFGear material has been created, with the main big one being Update Color Ramps. This will apply the dyes you have selected to your material. For the sake of optimization not all values in the color ramps are updated, only the ones the dye would actually change. If you hold ALT while pressing this then every value in all color ramps get re-calculated, similar to resetting the material.
However you probably won't have to click Update Color Ramps much since to the right of that is the Auto Update Dyes button. When toggled on (which it is by default), this will automatically update your material once you select a new dye. If you're on a really old system you might want to disable this to avoid major lag spikes when changing dyes.
To the right of THAT is the Link Dyes toggle, which I'll explain further down.
All the way on the left is the Get Dyes from Meddle button, which will set your dyes to whatever is stored in the Meddle export. Though if you have a Meddle export this would have already happened when using the Automatic Meddle Setup. It's useful if you want to reset your dyes to what they were before.
Below those four buttons is the Load Colorset from Meddle button, which will update the color ramps with the colorset information found in the Meddle data. (If you didn't export your model with Meddle or if you removed your material's custom properties, this won't work.) The Meddle data will contain changes you made to the colors in-game using things like Glamourer. When setting up a material, if FFGear detects colorset info from Meddle, it will automatically load it.
Marked in Orange is the Link Dyes area. There aren't any actual buttons here (for now), so the area instead serves to report on which materials are linked to this one. Linking happens between materials that belong to the same gear piece, I call them "variants".
One such example would be on the Pictomancer's Bolero which has two different materials, one for the upper body and one for the coat. Because these are both part of the same piece of gear however they should have the same dyes, so by enabling Link Dyes in the Dye area the material will be linked to other variants. It just looks for differences in other material's names, and if it's an exact match except for one alphabetical character then it's considered a variant.
When linked, changing dyes on one will make the same change on all others that are linked to it, and all will have their color ramps updated together. They will also share the same Auto Update Dyes status. When linking is turned on, all variant materials will have their settings set to that of the material you did it on.
Marked in Purple is the Update notice, which pops up when FFGear detects that a new version has been released here on GitHub. It checks for this when you launch Blender. From here you can see which version you have installed vs. the latest release version, as well as the name of the latest version.
The Download & Auto-install button will download the latest release and replace the required files automatically. You will then be asked to quickly restart Blender, with a warning if you have unsaved changes.
If you would rather perform the update manually, the Open GitHub Page button will take you to the main page on GitHub.
This area can be disabled in the addon's preferences if you'd rather just stick with one version.
To the right you'll find a screenshot of what the FFGear shader node looks like when everything is revealed. Allow me to explain each section:
🔴 Hidden Outputs
These are the outputs of the shader. Usually only the BSDF output is visible since most things can be adjusted using sliders further down, but if you need more control these can be un-hidden using CTRL+H. Note that once un-hidden, re-hiding them can be tricky since that would also hide all of the custom sliders.
These are the shader's inputs, and you probably shouldn't touch them. These are getting inputs either from textures or from color ramps with data from the .mtrl file. There are notes about what exactly is in each channel of each color ramp next to them, if you need to know.
These are the settings you are most often going to adjust, and probably should if you want the best results. Very simple things like gamma, saturation, multiplying the roughness metallic and specular, emissive strength, and IOR.
These settings control roughness in more detail, which can be useful if you're not happy with the result from just tweaking the roughness multiplication.
Roughness Control adjusts some things about how roughness is calculated and has three modes: -1, 1, and 0.
-1 means that roughness is determined only by the data in the Mask texture's Green channel.
1 means that roughness is determined only by the roughness data in the .mtrl data from the color ramps.
0 is a mix of the two, basing it on the texture data but increasing or decreasing roughness based on the .mtrl data. Looks good in most cases.
Material Rgh Influence affects how strong that increasing and decreasing is, when Roughness Control is 0.
Detail Roughness Influence affects how much the tile textures, such as fabric details or scale texturing, are allowed to affect the roughness. This can help increase shine on certain detail types like chain-links.
Minimum Roughness sets a smoothed out limit to how low roughness can go, to avoid your gear becoming a mirror in some edge cases. If you want that though, set this to 0. You can also increase it to dull out your material.
Legacy Roughness Tweak lowers roughness values in areas where specular values are high. This helps enhance the look of many pre-Dawntrail metals, and is automatically enabled on materials of type characterlegacy.shpk
This area controls how Normals behave and the effect of the tile textures!
Normal Strength controls the influence of the normal texture, believe it or not.
Detail Normal Strength controls the strength of the normals from the tile textures, such as fabric detailing.
Bump Map is where you'd plug in your own custom bump map, in case you want to! It behaves just like a normal bump map.
Bump Strength is where you control the strength of that custom bump map.
These are the very simple Alpha Settings.
Override Alpha is a value between 0 and 1. At 0 the alpha remains unchanged. At 1 the alpha is entirely what you specify in the Override Alpha Value socket.
Final Alpha Mult multiplies your final alpha, letting you easily make the shader appear completely transparent for example.
These settings adjust more foundational things about how the shader works.
Perfect Black in Tiles makes "ambient occlusion" applied by some tile textures be pitch-black, by setting those areas to be a 0-strength emissive shader. This is more accurate to how the game renders it and can be seen on chain-links where the areas between them just become pure black.
Ancient is what's internally called COMPATIBILITY. It enables the use of the Diffuse texture which is only really used in very old materials, and changes how some channels behave such as roughness being affected by the specular mix. This is enabled automatically if the material is found to have a diffuse texture.
Bright Sphere Textures makes sphere textures, which is an additional way of adding a chrome gloss look and the iridescent effect on some items introduced with Dawntrail, appear in a more game-accurate way. It applies these sphere textures emissively on top of the base material. This will generally look good but can look odd in dark scenes. If this is turned off, the sphere textures will instead be applied to the diffuse component of the shader.
The default values of the shader depends on which type of material it's detected to be. Legacy materials and Ancient materials will automatically have many settings adjusted to something that I've found to generally look nicer on those types of materials.
If you want to modify the default values, you can do so in the material_library.blend file which is packaged with the addon. To change the default values of a specific type of shader, you'll need some programming knowledge but you can do it in operators.py in the "create_ffgear_material" function, under the label "UPDATE MATERIAL SETTINGS"