1
editMore actions
Added a note regarding shaders using different spellings for the GlowColour/GlowColor property.
(Added a note regarding shaders using different spellings for the GlowColour/GlowColor property.) |
|||
(33 intermediate revisions by 5 users not shown) | |||
Line 3: | Line 3: | ||
|description=This page is a hub for everything related to Modding Baldur's Gate 3. Check out the following guides to learn how to mod BG3. | |description=This page is a hub for everything related to Modding Baldur's Gate 3. Check out the following guides to learn how to mod BG3. | ||
|image=Modding_resources.webp | |image=Modding_resources.webp | ||
}}{{ | }}{{Modding box}}{{Modding sidebar}} | ||
== Armor/Clothing Texture Maps (Basic) == | == Armor/Clothing Texture Maps (Basic) == | ||
=== Base Map - BM === | === Base Map - BM === | ||
Line 23: | Line 24: | ||
== Parameters and corresponding colours inside MSKColor/MSKcloth == | == Parameters and corresponding colours inside MSKColor/MSKcloth == | ||
{| class="wikitable" | {| class="wikitable" | ||
|+Parameters & Colors | |+Parameters & Colors | ||
Line 78: | Line 79: | ||
|#80FF00 | |#80FF00 | ||
|} | |} | ||
[[File:MSKcloth.webp|600x600px]] | |||
== Armor/Clothing Texture Maps (Advanced) == | == Armor/Clothing Texture Maps (Advanced) == | ||
One can read [[Modding:Creating Outfit Textures|here]] to learn about the actual creation of textures for your custom armor/clothing, and check out [[Modding:Coding An Item|here]] for more in-depth explanations on inserting your textures into a mod. | One can read [[Modding:Creating Outfit Textures|here]] to learn about the actual creation of textures for your custom armor/clothing, and check out [[Modding:Coding An Item|here]] for more in-depth explanations on inserting your textures into a mod. This section is only meant to expand on the previous one with some images and the occasional code example, and with only brief mentions of texture editing. | ||
This section is only meant to expand on the previous one with some images and the occasional code example, and with only brief mentions of texture editing. | |||
=== Shader (Configs) === | === Shader (Configs) === | ||
Line 87: | Line 90: | ||
A lot of the shaders used in the game are VT-only (short for Virtual Textures), meaning their textures can only be loaded via specially encoded .gtp files. Currently we can unpack and edit these but not re-insert them back into the game as VT’s or create custom ones without the setup and use of Script Extender (see guide [https://github.com/Norbyte/bg3se/blob/main/Docs/VirtualTextures.md here] if interested). | A lot of the shaders used in the game are VT-only (short for Virtual Textures), meaning their textures can only be loaded via specially encoded .gtp files. Currently we can unpack and edit these but not re-insert them back into the game as VT’s or create custom ones without the setup and use of Script Extender (see guide [https://github.com/Norbyte/bg3se/blob/main/Docs/VirtualTextures.md here] if interested). | ||
'''Shader configs are inserted as paths leading to the file into the SourceFile section of your material entry:'''<syntaxhighlight lang="xml"> | '''Shader configs are inserted as paths leading to the file into the SourceFile section of your material entry:'''<syntaxhighlight lang="xml"> | ||
<node id="Resource"> | <node id="Resource"> | ||
Line 103: | Line 104: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
This is the standard shader config you can use to insert your own Normal Maps, Physical Maps, Base Color Maps and MSKColor maps for your custom armor/clothing:<blockquote>Public/Shared/Assets/Materials/Characters/CHAR_BASE.lsf</blockquote>'''And these are the basic code entries needed to insert said texture maps:'''<syntaxhighlight lang="xml"> | |||
This is the standard shader config you can use to insert your own Normal Maps, Physical Maps, Base Color Maps and MSKColor maps for your custom armor/clothing: | |||
'''And these are the basic code entries needed to insert said texture maps:'''<syntaxhighlight lang="xml"> | |||
<node id="Texture2DParameters"> _BM | <node id="Texture2DParameters"> _BM | ||
<attribute id="Enabled" type="bool" value="True" /> | <attribute id="Enabled" type="bool" value="True" /> | ||
Line 140: | Line 136: | ||
<attribute id="ParameterName" type="FixedString" value="MSKColor" /> | <attribute id="ParameterName" type="FixedString" value="MSKColor" /> | ||
</node> | </node> | ||
</syntaxhighlight>Some shaders allow for additional maps or features to be used for armor/clothing, such as: | </syntaxhighlight> | ||
Some shaders allow for additional maps or features to be used for armor/clothing, such as: | |||
=== Glow Maps === | === Glow Maps === | ||
As their name implies, these allow for glowing sections to be added to armor/clothing. You’d need to swap to a shader config that allows for Glow Maps to be able to use insert them. There's a few non-VT possibilities for this, depending on what look you’re trying to achieve. Some standard ones are: | As their name implies, these allow for glowing sections to be added to armor/clothing. You’d need to swap to a shader config that allows for Glow Maps to be able to use insert them. There's a few non-VT possibilities for this, depending on what look you’re trying to achieve. Some standard ones are: | ||
<blockquote>Public/Shared/Assets/Materials/Characters/CHAR_BASE_GM.lsf</blockquote>Basic, this one only lets you set glowmap color via an overlaid GlowColor. Supports MSKcolor maps! | <blockquote>Public/Shared/Assets/Materials/Characters/CHAR_BASE_GM.lsf</blockquote>^ Basic, this one only lets you set glowmap color via an overlaid GlowColor. Supports MSKcolor maps! | ||
<blockquote>Public/Shared/Assets/Materials/Base/Base_GM_Pulse_FX.lsf</blockquote>A little more advanced, as it lets you set Glow Map color via either an overlaid GlowColor OR you can insert the colors directly into the Glow Map depending on your chosen settings, and also lets you set a pulse animation on the glow. Does not support MSKcolor maps! | <blockquote>Public/Shared/Assets/Materials/Base/Base_GM_Pulse_FX.lsf</blockquote>^ A little more advanced, as it lets you set Glow Map color via either an overlaid GlowColor OR you can insert the colors directly into the Glow Map depending on your chosen settings, and also lets you set a pulse animation on the glow. Does not support MSKcolor maps! | ||
[ | [[File:Example of Base GM Pulse FX (animated).mp4|none|thumb|Example of Base_GM_Pulse_FX]] | ||
Line 163: | Line 163: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
'''And the GlowColor setting for both shader configs:''' | |||
''' | (Note: You may need to use the American spelling 'GlowColor' and not the British spelling 'GlowColour' depending on which shader you're using. You can extract the config file for the shader you're using (e.g. 'CHAR_BASE_GM.lsf') if you want to double-check which spelling it uses).<syntaxhighlight lang="xml"> | ||
<node id="Vector3Parameters"> | <node id="Vector3Parameters"> | ||
<attribute id="BaseValue" type="fvec3" value="0 0 0" /> | <attribute id="BaseValue" type="fvec3" value="0 0 0" /> | ||
Line 175: | Line 176: | ||
</node> | </node> | ||
</syntaxhighlight> | </syntaxhighlight> | ||
'''These settings are for Base_GM_Pulse_FX specifically:''' <syntaxhighlight lang="xml"> | '''These settings are for Base_GM_Pulse_FX specifically:''' <syntaxhighlight lang="xml"> | ||
Line 199: | Line 199: | ||
</syntaxhighlight>0 = no pulse animation | </syntaxhighlight>0 = no pulse animation | ||
Between 0 - 1 = pulse animation and its speed | Between 0 - 1 = pulse animation and its speed | ||
There are some Glow Map shaders that let you set colors via a ColorMap, which essentially is a colored gradient - these are more often used for VFX stuff than armor/clothing. | There are some Glow Map shaders that let you set colors via a ColorMap, which essentially is a colored gradient - these are more often used for VFX stuff than armor/clothing. | ||
=== Alpha (aka Transparancy) === | === Alpha (aka Transparancy) === | ||
Some shader configs allow you to create completely (or partially) transparent parts on armor/clothing without needing to edit the mesh. A standard one is:<blockquote>Materials\Public\Shared\Assets\Materials\Characters\CHAR_BASE_AlphaTest.lsf</blockquote>[ | |||
Some shader configs allow you to create completely (or partially) transparent parts on armor/clothing without needing to edit the mesh. A standard one is:<blockquote>Materials\Public\Shared\Assets\Materials\Characters\CHAR_BASE_AlphaTest.lsf</blockquote>Any transparency is added via the Base Color map, by creating a white Alpha channel and painting in parts you want fully transparent with black (grey for partial transparancy). In the game files these files might be called _BMA instead of _BM, but the naming doesn’t matter - they’re just _BM files exported with Alpha active. | |||
[[File:Example_of_BMA_file_with_Alpha_channel.jpg|thumb|429x429px|Example custom Base Color + Alpha Map|left]][[File:Example_of_shader_use_with_Alpha.png|alt=Example of shader used + _BM with Alpha|thumb|541x541px|none|In-game view]] | |||
=== Backfaces (Two-sided textures) === | === Backfaces (Two-sided textures) === | ||
A way to make your model appear double-sided without editing the mesh, is to use a shader config that allows for Backfaces. A standard one is:<blockquote>Materials\Public\Shared\Assets\Materials\Characters\CHAR_BASE_AlphaTest_2S.lsf</blockquote> | |||
A way to make your model appear double-sided without editing the mesh, is to use a shader config that allows for Backfaces. A standard one is:<blockquote>Materials\Public\Shared\Assets\Materials\Characters\CHAR_BASE_AlphaTest_2S.lsf</blockquote> | |||
You don’t need to do anything special when switching to this shader, the textures used within the materials will now just appear double-sided. Note that this one also allows for transparency, as a non-VT alternative just for _2s exclusively doesn’t exist for us to use. As long as you don’t have an Alpha channel in your Base Color Map it won’t affect your textures. | You don’t need to do anything special when switching to this shader, the textures used within the materials will now just appear double-sided. Note that this one also allows for transparency, as a non-VT alternative just for _2s exclusively doesn’t exist for us to use. As long as you don’t have an Alpha channel in your Base Color Map it won’t affect your textures. | ||
=== VertCut === | === VertCut === | ||
Shaders with this term in their name allow for using vertex colors to mask parts of clothing. For example, a pair of boots are too long and clip through pants - a VertCut shader will allow you (with an appropriately set up model) to hide the part of the pants the boot overlays and avoid clipping. You can read more about them in general here | Shaders with this term in their name allow for using vertex colors to mask parts of clothing. For example, a pair of boots are too long and clip through pants - a VertCut shader will allow you (with an appropriately set up model) to hide the part of the pants the boot overlays and avoid clipping. You can read more about them in general [[Modding:VertexColorMaskSlots|here]]. A standard one is:<blockquote>Materials\Public\Shared\Assets\Materials\Characters\CHAR_BASE_VertCut.lsf</blockquote> | ||
This one supports alphas, MSKColours, and vertcut: | |||
<blockquote>Public/Shared/Assets/Materials/Characters/CHAR_BASE_AlphaTest_2S_Dither.lsf</blockquote> | |||
=== What if I want to use x and x? === | |||
Some combinations of the above are also possible, though again, we are limited by the amount of non-VT ones that allow for them. See the page [[Modding:Non-VT Shaders|here]]. | |||
Many more shader configs with specific purposes exist, you can always check within the shader config .lsf file to see what texture maps + parameters it allows. | Many more shader configs with specific purposes exist, you can always check within the shader config .lsf file to see what texture maps + parameters it allows. | ||
Line 230: | Line 236: | ||
<br> | <br> | ||
[https://substance3d.adobe.com/magazine/bringing-life-to-legends-character-art-in-baldurs-gate-3/ Source] | [https://substance3d.adobe.com/magazine/bringing-life-to-legends-character-art-in-baldurs-gate-3/ Source] | ||
{{Modding navbox}} | |||
[[Category:Modding resources]] | [[Category:Modding resources]] | ||
[[Category:Armor modding]] |