Editing Modding:Creating and Exporting Meshes in Blender

Jump to navigation Jump to search
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.

Latest revision Your text
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
}}<div column-width: "60em2;>{{Modding box}}{{Modding sidebar}}[[File:ScreenshotHowToImportIt.webp|thumb|This should show up in your File> Import menu if you have the addon installed correctly.|306x306px]]
}}{{NavModding}}
 
<div column-width: "60em2;>
[[File:ScreenshotHowToImportIt.webp|thumb|This should show up in your File> Import menu if you have the addon installed correctly.|306x306px]]
In this tutorial we will assume you are generally knowledgable about how to use 3d software, so this will focus on things specific to Baldur’s Gate 3 exporter made by Norbyte. Remember, there are many general youtube tutorials about how to weight paint and edit meshes in Blender.
In this tutorial we will assume you are generally knowledgable about how to use 3d software, so this will focus on things specific to Baldur’s Gate 3 exporter made by Norbyte. Remember, there are many general youtube tutorials about how to weight paint and edit meshes in Blender.


Line 19: Line 22:


==Extracting a model to work with==
==Extracting a model to work with==
[[File:NewBodyBlenderScreenshotImported.webp|thumb|Imported meshes.|187x187px]]Now open your modder’s multitool. Click ‘Search Index’. Filter by .GR2. Search something like HUM_F_ARM_ and browse the in game meshes available to regular size humanlike females.
[[File:NewBodyBlenderScreenshotImported.webp|thumb|Imported meshes.|187x187px]]Now open your modder’s multitool. Click ‘Search Index’. Filter by .GR2. Search something like HUM_F_ARM_ and browse the in game meshes available to regular size humanlike females. You may also wish to consult this table- [https://docs.google.com/spreadsheets/d/16uyC9UIJUmg1ciwsFfjdhsAbJAz320g2ei65BUGrnZg/edit#gid=1726617676 Clothing and Armor models by Saku]. (This lists HUM F only but most outfits fit male and other races as well)


You should at least extract [[Modding:Body Models|HUM_F_NKD_Body_A]] (or whatever nude you are basing your outfit on) to fit your new outfit around.
You should at least extract [[Modding:Body Models|HUM_F_NKD_Body_A]] (or whatever nude you are basing your outfit on) to fit your new outfit around.
Line 87: Line 90:
[https://www.youtube.com/watch?v=NCDGhz3RSr8 See this video] for how to fix meshes that import in with messed up normals and export looking like see through checkerboards.   
[https://www.youtube.com/watch?v=NCDGhz3RSr8 See this video] for how to fix meshes that import in with messed up normals and export looking like see through checkerboards.   


You can also fix with '''[Edit Mode] Mesh> Clean Up> Merge By Distance''', and then put a solidify modifier at 00.1 thickness. Recalculate Normals> Average Face Area may also help.
You can also fix with '''[Edit Mode] Mesh> Clean Up> Merge By Distance''', and then put a solidify modifier at 00.1 thickness.
 
Alternately, select all, alt+n to average face area. If any blue lines on the edges appear, select edges, then 'clear sharp' and alt+n average face areas again.
[[File:How2ViewFaceorientationoverlay.webp|thumb|291x291px|How to view face orientation overlay on Blender. Blue is outside, red is inside. Red will be invisible in-game, unless you set up a 2 sided shader in your LSX code later.]]
[[File:How2ViewFaceorientationoverlay.webp|thumb|291x291px|How to view face orientation overlay on Blender. Blue is outside, red is inside. Red will be invisible in-game, unless you set up a 2 sided shader in your LSX code later.]]
==Physics==
==Physics==
[https://www.nexusmods.com/baldursgate3/articles/311 Here is a tutorial about how to add physics to your mesh by ReallyLazyIcarus.]
Unfortunately physics are not quite at game quality yet at this stage.
Unfortunately physics are not quite at game quality yet at this stage.


Physics are set with red vertex paint. Hot pink and blue vertex paint counterbalances the physics.
Physics are set with red vertex paint. Hot pink vertex paint counterbalances the physics.


If a mesh is 100% weighted to a single bone, adding physics will cause it to crash the game. If you are making a helmet item and therefore need it to be entirely static, weight some of it to the piercing bones as they also do not move.
A cloth mesh (Generally named something like HUM_F_CLT_Daisy_Dress_A_Cloth_Mesh and will import in) is the collider mesh, which stops it clipping through things. Sadly you may need to delete it as it can cause your mesh to be exported with errors.


A mesh cannot be entirely vertex painted red or it will bounce around, it needs some black vertex paint left to keep it in place.
[https://www.nexusmods.com/baldursgate3/articles/311 Here is a tutorial about how to add physics to your mesh by ReallyLazyIcarus.]
 
If your mesh is creasing up at the back, you may want to lower the vertex paint to be lower down.
 
A cloth mesh (Generally named something like HUM_F_CLT_Daisy_Dress_A_Cloth_Mesh and will import in) is the collider mesh, which stops it clipping through things. Sadly you may need to delete it as it can cause your mesh to be exported with errors.


Some people have had success pasting the code from in game meshes into their lsx mesh code, specifically clothbuffer values, which caused the physics to be less flappy and enabled the collider mesh to be exported without issues. Which is worth a try if you have a lot of patience and experience with coding. [https://docs.google.com/document/d/1nb_B2uz8Xlakhoa7XNf4IRU8mMisGPZyQEkydlZQdD0/edit?usp=sharing A tutorial can be found for this here.]  
Some people have had success pasting the code from in game meshes into their lsx mesh code, specifically clothbuffer values, which caused the physics to be less flappy and enabled the collider mesh to be exported without issues. Which is worth a try if you have a lot of patience and experience with coding. [https://docs.google.com/document/d/1nb_B2uz8Xlakhoa7XNf4IRU8mMisGPZyQEkydlZQdD0/edit?usp=sharing A tutorial can be found for this here.]  
[[File:ScreenyExampleOfPhysicsMesh.webp|thumb|134x134px|Example of red vertex paint for Physics. (Daisy Dress Mesh)]]
[[File:ScreenyExampleOfPhysicsMesh.webp|thumb|134x134px|Example of red vertex paint for Physics. (Daisy Dress Mesh)]]
Some people have also experimented with not exporting the mesh and setting non-skirt parts of the original mesh to use an invisible material, then combining it with their own torso in a roottemplate.
If you learn anything new, add it here!
If you learn anything new, add it here!


==LODs and Load Order==
==Lods and Load Order==
[https://www.youtube.com/watch?v=5TpdCBxYO1Q Here is a video of Padme’s addons being used.]
[https://www.youtube.com/watch?v=5TpdCBxYO1Q Here is a video of Padme’s addons being used.]
LODs are a way of improving performance on weaker computers by using a lower-quality version of the mesh at farther distances.


Using Padme’s addon tool, click the button to generate LOD and you will have your nice new set of LODs. You may need to edit the LOD0 it’s a new mesh, as it won't know what settings a BG3 mesh should have.
Using Padme’s addon tool, click the button to generate LOD and you will have your nice new set of LODs. You may need to edit the LOD0 it’s a new mesh, as it won't know what settings a BG3 mesh should have.
Line 123: Line 114:


'''-Lod Distance''' is the distance from which your mesh swaps to the next LOD. For this reason, your highest quality mesh should probably be something like 9-15 metres, your middle ones 15-20, while your last LOD always needs to be set to 0. Or it will vanish from a distance. There are certain cutscenes in Act 3 and elsewhere where your player character is seen from a very long distance, so this is important!  
'''-Lod Distance''' is the distance from which your mesh swaps to the next LOD. For this reason, your highest quality mesh should probably be something like 9-15 metres, your middle ones 15-20, while your last LOD always needs to be set to 0. Or it will vanish from a distance. There are certain cutscenes in Act 3 and elsewhere where your player character is seen from a very long distance, so this is important!  
If you don’t particularly care about it performing well on bad computers, you can have no LOD and just set your high quality mesh to have a Lod distance of 0.


'''-Export order.''' Generally all your LOD0 meshes go first, then your LOD1, LOD2, LOD3, assuming you have multiple LOD0 meshes. Look at imported game meshes for reference. If there is not a consistent 1, 2, 3, 4, export order, the mesh will refuse to export.  
'''-Export order.''' Generally all your LOD0 meshes go first, then your LOD1, LOD2, LOD3, assuming you have multiple LOD0 meshes. Look at imported game meshes for reference. If there is not a consistent 1, 2, 3, 4, export order, the mesh will refuse to export.  


If you get the export order wrong in the code, some meshes may end up with the wrong material assigned to them.
If you get the export order wrong in the code, some meshes may end up with the wrong material assigned to them.
=== '''Using No LODs''' ===
If you don’t particularly care about it performing well on bad computers, you can have no LOD meshes and just set your high quality mesh to have a LOD distance of 0.
== Weight Painting ==
If you hand edited the weight paints and now your outfit is squiggling, you may need to limit the total amount of vertices affected by the weight.
''Weight Painting Mode> Weights > Limit Total''
Usually the default '4' will work, but you may wish to try '2' if it persists.


==Exporting==
==Exporting==
Line 158: Line 141:
==Hotloading==
==Hotloading==
It is not only possible but very recommended to hotload meshes, it enables you to fix them in action. [[Modding:Hotloading|See here for how.]]
It is not only possible but very recommended to hotload meshes, it enables you to fix them in action. [[Modding:Hotloading|See here for how.]]
Although it has to have the same mesh order as the thing you are replacing.


== General Blender tutorials ==
== General Blender tutorials ==
If you don't understand how to use Blender, start
If you don't understand how to use Blender, start with [https://www.youtube.com/@blenderguru Donut tutorial by BlenderGuru].
[[Category:Modding guides]]
with [https://www.youtube.com/@blenderguru Donut tutorial by BlenderGuru].


You may also find [https://www.youtube.com/@TheRoyalSkies/playlists TheRoyalSkies short videos on Blender] to be helpful.
You may also find [https://www.youtube.com/@TheRoyalSkies/playlists TheRoyalSkies short videos on Blender] to be helpful.
Line 175: Line 154:
[https://www.nexusmods.com/baldursgate3/mods/4310 Volno texture toolbox]- for previewing textures on the mesh.
[https://www.nexusmods.com/baldursgate3/mods/4310 Volno texture toolbox]- for previewing textures on the mesh.


{{Modding navbox}}
[[Category:Modding guides]]
[[Category:Armor modding]]
Please note that all contributions to Baldur's Gate 3 Wiki are considered to be released under the CC BY-NC-SA license, except when noted otherwise (see BG3Wiki:Copyrights for details). If you do not want your writing to be edited and redistributed at will, do not submit it here. Per our Content Rules, you are promising that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!

To edit this page, please answer the question that appears below (more info):

Cancel Editing help (opens in new window)