Enfusion Blender Tools: Materials Library – Arma Reforger
Library provides some of the Enfusion shaders converted to Blender via its Shader Editor. Materials in Blender visually assist users while creating a model from scratch and help by creating additional data like baking textures and more.
Keep in mind that the main purpose of converted materials is to get a "close enough" preview that should speed up assets creation in Blender; the Technicalities section below sums up reasons why materials in Blender vs. Workbench aren't visually the same.
Setup
- In Blender, go to Edit > Preferences > File Paths > Asset Libraries and add a new library with the plus (+) button.
- Set EnfusionBlenderTools
\data folder as Path, typically C: \Users \<username> \AppData \Roaming \Blender Foundation \Blender \<blenderVersion> \scripts \addons \EnfusionBlenderTools \data
The path to the addon folder can be found in Preferences > Add-ons under Enfusion Tools) - Set the library name - note that under this name a library can be found in Asset Browser
- Set Import Method to Append
- Save the preferences
Usage
- In Blender, go to Asset Browser under Data
- Select the previously created library from the list
- Drag a material from Asset Browser onto a mesh
Technicalities
Enfusion shaders converted to Blender serve just as a "close enough" preview of what can be achieved in Workbench. There are several factors that contribute to the impossibility of delivering an identical visual experience in Blender's EEVEE renderer. Here are a few key facts that highlight these limitations:
- PBR implementation in Blender vs Enfusion is different
- There is currently no Shader API in Blender (Eevee) that could be used to write an Enfusion shader "twin", instead Shader Editor has to be used to manually create a material
- Nodes provided by Shader Editor do not allow to access things like GBuffer or scene lighting information, therefore some specific material properties cannot be supported
- PP effects implementation in Blender is different, some PP effects are not implemented at all
- The way that Blender treats Alpha information is different from Enfusion (e.g MatPBRBasic)
- Alpha Test (Clip) is not allowed in Alpha Blend mode (only in Alpha Clip mode)
- Shaders in Blender use source texture formats (tif, png...) whereas shaders in Enfusion use compressed .edds textures
- There may be visual differences spotted due to compression for example when playing with Alpha Test/Alpha Mul parameters