We have a Steam curator now. You should be following it. https://store.steampowered.com/curator/44994899-RPGHQ/
Chat client updated, if you have issues using chat press CTRL + SHIFT + R to force a hard refresh.

[BG3] Using Virtual Textures

Game development hub. Projects, modding, and resources.

Moderator: Mod Janitor

Ignore Topic
User avatar
orinEsque
Posts: 4917
Joined: Oct 9, '23
Location: Dubai
Gender: Potato

Geolocation

[BG3] Using Virtual Textures

Post by orinEsque »

Index
  1. Editing Virtual Textures
  2. Getting Started with BG3 Modding
  3. How to change NPC visuals [redirect]
  4. How to change Voice using AI [redirect]


[back to index]
Editing Virtual Textures
Let's assume you want to extract and edit the texture for the "Simple Robe" worn by a Female Human Mage.

Find and Extract the Code pointing to the Mesh


We will be creating a new robe with the same 3D meshes but assign different texture to the meshes.

  1. Look for the VisualResourceID for Simple Robe in the "Armour & Clothing" spreadsheet.
    Image
  2. Open BG3MT and search for the VisualResourceID.
  3. In the results you should look for [PAK]_Female_Clothing or [PAK]_Female_Armor
    Image
  4. Open the lsf.lsx file using notepad++ and search for the same VisualResourceID
  5. This will take you to a VisualBank resource that looks like this (first attribute has "AttachBone")
    Image
  6. Copy this resource and put it in a new file called NewRobeTexture.lsf.lsx. Then add headers and footers as indicated.

    Code: Select all

    <!--header start-->
    <?xml version="1.0" encoding="utf-8"?>
    <save>
    	<version major="4" minor="0" revision="9" build="0" lslib_meta="v1,bswap_guids" />
    	<region id="VisualBank">
    		<node id="VisualBank">
    			<children>
    			<!--header end-->
    			<!--resource start-->
    				<node id="Resource">
    					<attribute id="AttachBone" type="FixedString" value="" />
    					<attribute id="AttachmentSkeletonResource" type="FixedString" value="" />
    					<attribute id="BlueprintInstanceResourceID" type="FixedString" value="" />
    					<attribute id="BoundsMax" type="fvec3" value="0.6168748 1.63359 0.2678758" />
    					<attribute id="BoundsMin" type="fvec3" value="-0.6182736 0.2625153 -0.2551202" />
    					<attribute id="ClothColliderResourceID" type="FixedString" value="" />
    					<attribute id="HairPresetResourceId" type="FixedString" value="" />
    					<attribute id="HairType" type="uint8" value="0" />
    					<attribute id="ID" type="FixedString" value="4084d9c1-de9e-bb68-f0bc-0395ad80357b" />
    					<attribute id="MaterialType" type="uint8" value="13" />
    					<attribute id="Name" type="LSString" value="HUM_F_ARM_Robe_A_Body" />
    					<attribute id="NeedsSkeletonRemap" type="bool" value="False" />
    					<attribute id="RemapperSlotId" type="FixedString" value="" />
    					<attribute id="ScalpMaterialId" type="FixedString" value="" />
    					<attribute id="SkeletonResource" type="FixedString" value="" />
    					<attribute id="SkeletonSlot" type="FixedString" value="" />
    					<attribute id="Slot" type="FixedString" value="Body" />
    					<attribute id="SoftbodyResourceID" type="FixedString" value="" />
    					<attribute id="SourceFile" type="LSString" value="Generated/Public/Shared/Assets/Characters/_Models/Humans/_Female/Resources/HUM_F_ARM_Robe_A_Body.GR2" />
    					<attribute id="SupportsVertexColorMask" type="bool" value="True" />
    					<attribute id="Template" type="FixedString" value="Generated/Public/Shared/Assets/Characters/_Models/Humans/_Female/Resources/HUM_F_ARM_Robe_A_Body.Dummy_Root.0" />
    					<attribute id="_OriginalFileVersion_" type="int64" value="144115207403209033" />
    					<children>
    						<node id="AnimationWaterfall">
    							<attribute id="Object" type="FixedString" value="" />
    						</node>
    						<node id="Base" />
    						<node id="ClothParams">
    							<attribute id="AngularDrag" type="fvec3" value="0.0001 0.0001 0.0001" />
    							<attribute id="AngularInertia" type="fvec3" value="0.5 0.5 0.5" />
    							<attribute id="AnimDriveDampingForce" type="float" value="75" />
    							<attribute id="AnimDriveSpringForce" type="float" value="225" />
    							<attribute id="AnimInfluenceMultiplier" type="float" value="1" />
    							<attribute id="AtmosphericWindEnabled" type="bool" value="False" />
    							<attribute id="BendingStiffness" type="float" value="1" />
    							<attribute id="CentrifugalInertia" type="fvec3" value="0.5 0.5 0.5" />
    							<attribute id="ClothMainWindFrequency" type="float" value="0" />
    							<attribute id="ClothMainWindSpeed" type="float" value="0" />
    							<attribute id="ClothMainWindVariance" type="float" value="0" />
    							<attribute id="ClothMaxWindDirectionOffset" type="float" value="0" />
    							<attribute id="ClothWindDirectionOffsetFrequency" type="float" value="0" />
    							<attribute id="ClothWindSpeed" type="float" value="0" />
    							<attribute id="CollisionMassScale" type="float" value="1" />
    							<attribute id="CompressionLimit" type="float" value="0.8" />
    							<attribute id="Damping" type="fvec3" value="0.04 0.04 0.04" />
    							<attribute id="DragCoefficient" type="float" value="0.4" />
    							<attribute id="EnableCCD" type="bool" value="False" />
    							<attribute id="EnableVirtualParticles" type="bool" value="False" />
    							<attribute id="FluidDensity" type="float" value="0.1" />
    							<attribute id="Friction" type="float" value="0.1" />
    							<attribute id="FrontalWindSpeed" type="float" value="0" />
    							<attribute id="FrontalWindVariance" type="float" value="0" />
    							<attribute id="LiftCoefficient" type="float" value="0.01" />
    							<attribute id="LinearDrag" type="fvec3" value="0.0001 0.0001 0.0001" />
    							<attribute id="LinearInertia" type="fvec3" value="0.5 0.5 0.5" />
    							<attribute id="LinearStiffness" type="float" value="1" />
    							<attribute id="OverrideAtmosphericWind" type="bool" value="False" />
    							<attribute id="SelfCollisionDistance" type="float" value="0" />
    							<attribute id="SelfCollisionStiffness" type="float" value="0" />
    							<attribute id="SolverFrequency" type="float" value="30" />
    							<attribute id="StiffnessFrequency" type="float" value="350" />
    							<attribute id="StiffnessMultiplier" type="float" value="1" />
    							<attribute id="StretchLimit" type="float" value="1.2" />
    							<attribute id="TetherConstraintScale" type="float" value="1" />
    							<attribute id="TetherConstraintStiffness" type="float" value="1" />
    							<attribute id="UUID" type="FixedString" value="HUM_F_ARM_Robe_A_Body.HUM_F_ARM_Robe_A_Body_Cloth_Mesh.2" />
    						</node>
    						<node id="ClothParams">
    							<attribute id="AngularDrag" type="fvec3" value="0.0001 0.0001 0.0001" />
    							<attribute id="AngularInertia" type="fvec3" value="0.5 0.5 0.5" />
    							<attribute id="AnimDriveDampingForce" type="float" value="75" />
    							<attribute id="AnimDriveSpringForce" type="float" value="225" />
    							<attribute id="AnimInfluenceMultiplier" type="float" value="1" />
    							<attribute id="AtmosphericWindEnabled" type="bool" value="False" />
    							<attribute id="BendingStiffness" type="float" value="1" />
    							<attribute id="CentrifugalInertia" type="fvec3" value="0.5 0.5 0.5" />
    							<attribute id="ClothMainWindFrequency" type="float" value="0" />
    							<attribute id="ClothMainWindSpeed" type="float" value="0" />
    							<attribute id="ClothMainWindVariance" type="float" value="0" />
    							<attribute id="ClothMaxWindDirectionOffset" type="float" value="0" />
    							<attribute id="ClothWindDirectionOffsetFrequency" type="float" value="0" />
    							<attribute id="ClothWindSpeed" type="float" value="0" />
    							<attribute id="CollisionMassScale" type="float" value="1" />
    							<attribute id="CompressionLimit" type="float" value="0.8" />
    							<attribute id="Damping" type="fvec3" value="0.04 0.04 0.04" />
    							<attribute id="DragCoefficient" type="float" value="0.4" />
    							<attribute id="EnableCCD" type="bool" value="False" />
    							<attribute id="EnableVirtualParticles" type="bool" value="False" />
    							<attribute id="FluidDensity" type="float" value="0.1" />
    							<attribute id="Friction" type="float" value="0.1" />
    							<attribute id="FrontalWindSpeed" type="float" value="0" />
    							<attribute id="FrontalWindVariance" type="float" value="0" />
    							<attribute id="LiftCoefficient" type="float" value="0.01" />
    							<attribute id="LinearDrag" type="fvec3" value="0.0001 0.0001 0.0001" />
    							<attribute id="LinearInertia" type="fvec3" value="0.5 0.5 0.5" />
    							<attribute id="LinearStiffness" type="float" value="1" />
    							<attribute id="OverrideAtmosphericWind" type="bool" value="False" />
    							<attribute id="SelfCollisionDistance" type="float" value="0" />
    							<attribute id="SelfCollisionStiffness" type="float" value="0" />
    							<attribute id="SolverFrequency" type="float" value="30" />
    							<attribute id="StiffnessFrequency" type="float" value="350" />
    							<attribute id="StiffnessMultiplier" type="float" value="1" />
    							<attribute id="StretchLimit" type="float" value="1.2" />
    							<attribute id="TetherConstraintScale" type="float" value="1" />
    							<attribute id="TetherConstraintStiffness" type="float" value="1" />
    							<attribute id="UUID" type="FixedString" value="HUM_F_ARM_Robe_A_Body.HUM_F_ARM_Robe_A_Body_Cloth_Mesh_LOD1.5" />
    						</node>
    						<node id="ClothProxyMapping">
    							<children>
    								<node id="Object">
    									<attribute id="MapKey" type="FixedString" value="HUM_F_ARM_Robe_A_Body.HUM_F_ARM_Robe_A_Body_Cloth_Mesh.2" />
    									<children>
    										<node id="MapValue">
    											<children>
    												<node id="Object">
    													<attribute id="ClosestVertices" type="ScratchBuffer" value="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" />
    													<attribute id="Name" type="FixedString" value="HUM_F_ARM_Robe_A_Body.HUM_F_ARM_Robe_A_Body_Mesh.1" />
    													<attribute id="NbClosestVertices" type="int32" value="4428" />
    												</node>
    											</children>
    										</node>
    									</children>
    								</node>
    								<node id="Object">
    									<attribute id="MapKey" type="FixedString" value="HUM_F_ARM_Robe_A_Body.HUM_F_ARM_Robe_A_Body_Cloth_Mesh_LOD1.5" />
    									<children>
    										<node id="MapValue">
    											<children>
    												<node id="Object">
    													<attribute id="ClosestVertices" type="ScratchBuffer" value="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" />
    													<attribute id="Name" type="FixedString" value="HUM_F_ARM_Robe_A_Body.HUM_F_ARM_Robe_A_Body_Mesh_LOD1.4" />
    													<attribute id="NbClosestVertices" type="int32" value="4428" />
    												</node>
    											</children>
    										</node>
    									</children>
    								</node>
    							</children>
    						</node>
    						<node id="Objects">
    							<attribute id="LOD" type="uint8" value="0" />
    							<attribute id="MaterialID" type="FixedString" value="8e81efd2-f7e0-0a04-6b32-9101c28b6af3" />
    							<attribute id="ObjectID" type="FixedString" value="HUM_F_ARM_Robe_A_Body.HUM_F_ARM_Robe_A_Bracers_Mesh.0" />
    						</node>
    						<node id="Objects">
    							<attribute id="LOD" type="uint8" value="0" />
    							<attribute id="MaterialID" type="FixedString" value="4bf29629-687c-5330-bce8-8d22432941c8" />
    							<attribute id="ObjectID" type="FixedString" value="HUM_F_ARM_Robe_A_Body.HUM_F_ARM_Robe_A_Body_Mesh.1" />
    						</node>
    						<node id="Objects">
    							<attribute id="LOD" type="uint8" value="0" />
    							<attribute id="MaterialID" type="FixedString" value="9e2966c7-b61c-4bc1-bef1-a79cb5fde067" />
    							<attribute id="ObjectID" type="FixedString" value="HUM_F_ARM_Robe_A_Body.HUM_F_ARM_Robe_A_Body_Cloth_Mesh.2" />
    						</node>
    						<node id="Objects">
    							<attribute id="LOD" type="uint8" value="1" />
    							<attribute id="MaterialID" type="FixedString" value="8e81efd2-f7e0-0a04-6b32-9101c28b6af3" />
    							<attribute id="ObjectID" type="FixedString" value="HUM_F_ARM_Robe_A_Body.HUM_F_ARM_Robe_A_Bracers_Mesh_LOD1.3" />
    						</node>
    						<node id="Objects">
    							<attribute id="LOD" type="uint8" value="1" />
    							<attribute id="MaterialID" type="FixedString" value="4bf29629-687c-5330-bce8-8d22432941c8" />
    							<attribute id="ObjectID" type="FixedString" value="HUM_F_ARM_Robe_A_Body.HUM_F_ARM_Robe_A_Body_Mesh_LOD1.4" />
    						</node>
    						<node id="Objects">
    							<attribute id="LOD" type="uint8" value="1" />
    							<attribute id="MaterialID" type="FixedString" value="9e2966c7-b61c-4bc1-bef1-a79cb5fde067" />
    							<attribute id="ObjectID" type="FixedString" value="HUM_F_ARM_Robe_A_Body.HUM_F_ARM_Robe_A_Body_Cloth_Mesh_LOD1.5" />
    						</node>
    						<node id="VertexColorMaskSlots">
    							<attribute id="Object" type="FixedString" value="Torso" />
    						</node>
    						<node id="VertexColorMaskSlots">
    							<attribute id="Object" type="FixedString" value="upperarm" />
    						</node>
    						<node id="VertexColorMaskSlots">
    							<attribute id="Object" type="FixedString" value="decolletage_02" />
    						</node>
    						<node id="VertexColorMaskSlots">
    							<attribute id="Object" type="FixedString" value="lowerarm" />
    						</node>
    						<node id="VertexColorMaskSlots">
    							<attribute id="Object" type="FixedString" value="Shoulders" />
    						</node>
    						<node id="VertexColorMaskSlots">
    							<attribute id="Object" type="FixedString" value="Underwear_Bra" />
    						</node>
    						<node id="VertexColorMaskSlots">
    							<attribute id="Object" type="FixedString" value="Nipple Covers" />
    						</node>
    					</children>
    				</node>			
    				<!--footer start-->
    			</children>
    		</node>
    	</region>
    </save>			
    <!--footer end-->			
    
  7. Scroll down until you find <node id="Objects">
  8. Notice this robe is composed of 3 main objects, "Robe_A_Bracers", "Robe_A_Body" & "Robe_A_Body_Cloth"
    Image
    The first 2 are self explanatory. But any mesh ending with "_Cloth" designates an invisible mesh that is used to control the movement of the cloth (cloth physics). Unless you alter the robe mesh in blender, there is no need to touch this. Let's extract the texture for "Robe_A_Body" for now.
  9. Notice each object has a MaterialID. This is the texture and other visual parameters of the cloth. Search for this MaterialID in Notepad++
  10. This should take you to a MaterialBank resource whose first attribute is "DiffusionProfileUUID". Note: sometimes this is simply missing, because the MaterialID is present in a different race/ gender's [PAK] file. Usually you'll find what you need in the Human Male version of the same item.
    Image
  11. Scroll down till you find "VirtualTextureParameters"
  12. Copy this resource and paste it after </region> in NewRobeTexture.lsf.lsx. Add the Material Bank region id and node id tags before and after the resource. The portion we paste into NewRobeTexture.lsf.lsx, including MaterialBank tags, is below:

    Code: Select all

    	<!--MaterialBankHeader start-->
    	<region id="MaterialBank">
    		<node id="MaterialBank">
    			<!--MaterialBankHeader end-->
    			<children>
    				<node id="Resource">
    					<attribute id="DiffusionProfileUUID" type="FixedString" value="" />
    					<attribute id="ID" type="FixedString" value="4bf29629-687c-5330-bce8-8d22432941c8" />
    					<attribute id="MaterialType" type="uint8" value="13" />
    					<attribute id="Name" type="LSString" value="HUM_F_ARM_Robe_A_Body" />
    					<attribute id="SourceFile" type="LSString" value="Public/Shared/Assets/Materials/Characters/CHAR_BASE_VertCut_VT.lsf" />
    					<attribute id="_OriginalFileVersion_" type="int64" value="144115207403209030" />
    					<children>
    						<node id="ScalarParameters">
    							<attribute id="BaseValue" type="float" value="0.7" />
    							<attribute id="Enabled" type="bool" value="False" />
    							<attribute id="ExportAsPreset" type="bool" value="True" />
    							<attribute id="GroupName" type="FixedString" value="" />
    							<attribute id="ParameterName" type="FixedString" value="Armor_Dirt_Sharpness" />
    							<attribute id="Value" type="float" value="0.7" />
    						</node>
    						<node id="ScalarParameters">
    							<attribute id="BaseValue" type="float" value="0.5" />
    							<attribute id="Enabled" type="bool" value="False" />
    							<attribute id="ExportAsPreset" type="bool" value="True" />
    							<attribute id="GroupName" type="FixedString" value="" />
    							<attribute id="ParameterName" type="FixedString" value="Armor_Blood_Sharpness" />
    							<attribute id="Value" type="float" value="0.5" />
    						</node>
    						<node id="ScalarParameters">
    							<attribute id="BaseValue" type="float" value="4" />
    							<attribute id="Enabled" type="bool" value="False" />
    							<attribute id="ExportAsPreset" type="bool" value="False" />
    							<attribute id="GroupName" type="FixedString" value="" />
    							<attribute id="ParameterName" type="FixedString" value="Dirt_AO_Sharpness" />
    							<attribute id="Value" type="float" value="4" />
    						</node>
    						<node id="ScalarParameters">
    							<attribute id="BaseValue" type="float" value="4" />
    							<attribute id="Enabled" type="bool" value="False" />
    							<attribute id="ExportAsPreset" type="bool" value="False" />
    							<attribute id="GroupName" type="FixedString" value="" />
    							<attribute id="ParameterName" type="FixedString" value="Blood_AO_Sharpness" />
    							<attribute id="Value" type="float" value="4" />
    						</node>
    						<node id="ScalarParameters">
    							<attribute id="BaseValue" type="float" value="0" />
    							<attribute id="Enabled" type="bool" value="False" />
    							<attribute id="ExportAsPreset" type="bool" value="True" />
    							<attribute id="GroupName" type="FixedString" value="" />
    							<attribute id="ParameterName" type="FixedString" value="Dirt" />
    							<attribute id="Value" type="float" value="0" />
    						</node>
    						<node id="ScalarParameters">
    							<attribute id="BaseValue" type="float" value="0" />
    							<attribute id="Enabled" type="bool" value="False" />
    							<attribute id="ExportAsPreset" type="bool" value="True" />
    							<attribute id="GroupName" type="FixedString" value="" />
    							<attribute id="ParameterName" type="FixedString" value="Blood" />
    							<attribute id="Value" type="float" value="0" />
    						</node>
    						<node id="ScalarParameters">
    							<attribute id="BaseValue" type="float" value="0.5" />
    							<attribute id="Enabled" type="bool" value="False" />
    							<attribute id="ExportAsPreset" type="bool" value="True" />
    							<attribute id="GroupName" type="FixedString" value="" />
    							<attribute id="ParameterName" type="FixedString" value="Reflectance" />
    							<attribute id="Value" type="float" value="0.5" />
    						</node>
    						<node id="Texture2DParameters">
    							<attribute id="Enabled" type="bool" value="False" />
    							<attribute id="ExportAsPreset" type="bool" value="True" />
    							<attribute id="GroupName" type="FixedString" value="" />
    							<attribute id="ID" type="FixedString" value="8f1f209a-dd37-4531-b1ee-5e81c1d169cc" />
    							<attribute id="ParameterName" type="FixedString" value="VertexColor_MSK" />
    						</node>
    						<node id="Texture2DParameters">
    							<attribute id="Enabled" type="bool" value="True" />
    							<attribute id="ExportAsPreset" type="bool" value="True" />
    							<attribute id="GroupName" type="FixedString" value="01 Texture Map" />
    							<attribute id="ID" type="FixedString" value="949ed002-24d5-c042-52bc-3c163b03445d" />
    							<attribute id="ParameterName" type="FixedString" value="MSKColor" />
    						</node>
    						<node id="Texture2DParameters">
    							<attribute id="Enabled" type="bool" value="False" />
    							<attribute id="ExportAsPreset" type="bool" value="True" />
    							<attribute id="GroupName" type="FixedString" value="" />
    							<attribute id="ID" type="FixedString" value="2765e270-52ce-6f45-eddf-d0451042b54c" />
    							<attribute id="ParameterName" type="FixedString" value="" />
    						</node>
    						<node id="Vector3Parameters">
    							<attribute id="BaseValue" type="fvec3" value="0.151058 0.2932161 0.4877652" />
    							<attribute id="Enabled" type="bool" value="False" />
    							<attribute id="ExportAsPreset" type="bool" value="True" />
    							<attribute id="GroupName" type="FixedString" value="02 Colour" />
    							<attribute id="IsColor" type="bool" value="True" />
    							<attribute id="ParameterName" type="FixedString" value="Cloth_Primary" />
    							<attribute id="Value" type="fvec3" value="0.151058 0.2932161 0.4877652" />
    						</node>
    						<node id="Vector3Parameters">
    							<attribute id="BaseValue" type="fvec3" value="0.1701384 0.04614884 0.04614884" />
    							<attribute id="Enabled" type="bool" value="False" />
    							<attribute id="ExportAsPreset" type="bool" value="True" />
    							<attribute id="GroupName" type="FixedString" value="02 Colour" />
    							<attribute id="IsColor" type="bool" value="True" />
    							<attribute id="ParameterName" type="FixedString" value="Cloth_Secondary" />
    							<attribute id="Value" type="fvec3" value="0.1701384 0.04614884 0.04614884" />
    						</node>
    						<node id="Vector3Parameters">
    							<attribute id="BaseValue" type="fvec3" value="0.07176144 0.06190747 0.1061561" />
    							<attribute id="Enabled" type="bool" value="False" />
    							<attribute id="ExportAsPreset" type="bool" value="True" />
    							<attribute id="GroupName" type="FixedString" value="02 Colour" />
    							<attribute id="IsColor" type="bool" value="True" />
    							<attribute id="ParameterName" type="FixedString" value="Cloth_Tertiary" />
    							<attribute id="Value" type="fvec3" value="0.07176144 0.06190747 0.1061561" />
    						</node>
    						<node id="Vector3Parameters">
    							<attribute id="BaseValue" type="fvec3" value="1 1 1" />
    							<attribute id="Enabled" type="bool" value="False" />
    							<attribute id="ExportAsPreset" type="bool" value="True" />
    							<attribute id="GroupName" type="FixedString" value="02 Colour" />
    							<attribute id="IsColor" type="bool" value="True" />
    							<attribute id="ParameterName" type="FixedString" value="Accent_Color" />
    							<attribute id="Value" type="fvec3" value="1 1 1" />
    						</node>
    						<node id="Vector3Parameters">
    							<attribute id="BaseValue" type="fvec3" value="0.238828 0.1036341 0.0600316" />
    							<attribute id="Enabled" type="bool" value="False" />
    							<attribute id="ExportAsPreset" type="bool" value="True" />
    							<attribute id="GroupName" type="FixedString" value="02 Colour" />
    							<attribute id="IsColor" type="bool" value="True" />
    							<attribute id="ParameterName" type="FixedString" value="Leather_Primary" />
    							<attribute id="Value" type="fvec3" value="0.238828 0.1036341 0.0600316" />
    						</node>
    						<node id="Vector3Parameters">
    							<attribute id="BaseValue" type="fvec3" value="0.151058 0.0342302 0.02654868" />
    							<attribute id="Enabled" type="bool" value="False" />
    							<attribute id="ExportAsPreset" type="bool" value="True" />
    							<attribute id="GroupName" type="FixedString" value="02 Colour" />
    							<attribute id="IsColor" type="bool" value="True" />
    							<attribute id="ParameterName" type="FixedString" value="Leather_Secondary" />
    							<attribute id="Value" type="fvec3" value="0.151058 0.0342302 0.02654868" />
    						</node>
    						<node id="Vector3Parameters">
    							<attribute id="BaseValue" type="fvec3" value="0.1219857 0.0600316 0.05112205" />
    							<attribute id="Enabled" type="bool" value="False" />
    							<attribute id="ExportAsPreset" type="bool" value="True" />
    							<attribute id="GroupName" type="FixedString" value="02 Colour" />
    							<attribute id="IsColor" type="bool" value="True" />
    							<attribute id="ParameterName" type="FixedString" value="Leather_Tertiary" />
    							<attribute id="Value" type="fvec3" value="0.1219857 0.0600316 0.05112205" />
    						</node>
    						<node id="Vector3Parameters">
    							<attribute id="BaseValue" type="fvec3" value="1 1 1" />
    							<attribute id="Enabled" type="bool" value="False" />
    							<attribute id="ExportAsPreset" type="bool" value="True" />
    							<attribute id="GroupName" type="FixedString" value="02 Colour" />
    							<attribute id="IsColor" type="bool" value="True" />
    							<attribute id="ParameterName" type="FixedString" value="Custom_1" />
    							<attribute id="Value" type="fvec3" value="1 1 1" />
    						</node>
    						<node id="Vector3Parameters">
    							<attribute id="BaseValue" type="fvec3" value="0.7667436 0.7667436 0.7667436" />
    							<attribute id="Enabled" type="bool" value="False" />
    							<attribute id="ExportAsPreset" type="bool" value="True" />
    							<attribute id="GroupName" type="FixedString" value="02 Colour" />
    							<attribute id="IsColor" type="bool" value="True" />
    							<attribute id="ParameterName" type="FixedString" value="Metal_Primary" />
    							<attribute id="Value" type="fvec3" value="0.7667436 0.7667436 0.7667436" />
    						</node>
    						<node id="Vector3Parameters">
    							<attribute id="BaseValue" type="fvec3" value="0.7686275 0.7686275 0.7686275" />
    							<attribute id="Enabled" type="bool" value="False" />
    							<attribute id="ExportAsPreset" type="bool" value="True" />
    							<attribute id="GroupName" type="FixedString" value="02 Colour" />
    							<attribute id="IsColor" type="bool" value="True" />
    							<attribute id="ParameterName" type="FixedString" value="Metal_Secondary" />
    							<attribute id="Value" type="fvec3" value="0.7686275 0.7686275 0.7686275" />
    						</node>
    						<node id="Vector3Parameters">
    							<attribute id="BaseValue" type="fvec3" value="0.7686275 0.7686275 0.7686275" />
    							<attribute id="Enabled" type="bool" value="False" />
    							<attribute id="ExportAsPreset" type="bool" value="True" />
    							<attribute id="GroupName" type="FixedString" value="02 Colour" />
    							<attribute id="IsColor" type="bool" value="True" />
    							<attribute id="ParameterName" type="FixedString" value="Metal_Tertiary" />
    							<attribute id="Value" type="fvec3" value="0.7686275 0.7686275 0.7686275" />
    						</node>
    						<node id="Vector3Parameters">
    							<attribute id="BaseValue" type="fvec3" value="1 1 1" />
    							<attribute id="Enabled" type="bool" value="False" />
    							<attribute id="ExportAsPreset" type="bool" value="True" />
    							<attribute id="GroupName" type="FixedString" value="02 Colour" />
    							<attribute id="IsColor" type="bool" value="True" />
    							<attribute id="ParameterName" type="FixedString" value="Custom_2" />
    							<attribute id="Value" type="fvec3" value="1 1 1" />
    						</node>
    						<node id="Vector3Parameters">
    							<attribute id="BaseValue" type="fvec3" value="0.1176471 0.06666667 0.04705882" />
    							<attribute id="Enabled" type="bool" value="False" />
    							<attribute id="ExportAsPreset" type="bool" value="True" />
    							<attribute id="GroupName" type="FixedString" value="08Dirt&amp;Blood&amp;Sweat" />
    							<attribute id="IsColor" type="bool" value="True" />
    							<attribute id="ParameterName" type="FixedString" value="DirtColor" />
    							<attribute id="Value" type="fvec3" value="0.1176471 0.06666667 0.04705882" />
    						</node>
    						<node id="Vector3Parameters">
    							<attribute id="BaseValue" type="fvec3" value="0.1294118 0.007843138 0.003921569" />
    							<attribute id="Enabled" type="bool" value="False" />
    							<attribute id="ExportAsPreset" type="bool" value="True" />
    							<attribute id="GroupName" type="FixedString" value="08Dirt&amp;Blood&amp;Sweat" />
    							<attribute id="IsColor" type="bool" value="True" />
    							<attribute id="ParameterName" type="FixedString" value="Blood_Color" />
    							<attribute id="Value" type="fvec3" value="0.1294118 0.007843138 0.003921569" />
    						</node>
    						<node id="VirtualTextureParameters">
    							<attribute id="Enabled" type="bool" value="True" />
    							<attribute id="ExportAsPreset" type="bool" value="True" />
    							<attribute id="GroupName" type="FixedString" value="Texture Map" />
    							<attribute id="ID" type="FixedString" value="2e041542-207c-c3a0-2408-0159491d10be" />
    							<attribute id="Index" type="int32" value="0" />
    							<attribute id="ParameterName" type="FixedString" value="virtualtexture" />
    						</node>						
    					</children>
    				</node>
    			</children>
    		<!--Footer start-->
    		</node>
    	</region>			
    	<!--Footer end-->
    
  13. At the very bottom of this resource you will find a ParameterName called "virtualtexture". Copy it's ID. Keep it handy for later.
    Image
  14. Searching for this ID will take you to a VirtualTextureBank with a GTexFileName
    Image
  15. If you haven't done it already extract the VirtualTextures.pak using BG3MT and index it (See to Unpacking Game Files )
  16. Now search for the GTexFileName ID from step 13 using BG3MT tool. This will take you to a gtp file.
    Image
  17. Note that the gtp filename begins with Albedo_Normal_Physical_9 (ignore the remaining string consisting of GTexFilename for now)
  18. Right click on the gtp file result, and open it's folder location by clicking on the folder icon on the right. This will open your File Explorer.
  19. Search for Albedo_Normal_Physical_9 in your File Explorer. You should see this a file called Albedo_Normal_Physical_9.gts. Copy the path to this file from your explorer address bar.
  20. Open Norbyte's Lslib Tool, otherwise known as Converter Tool.
  21. Go to the Virtual Textures tab, and paste the direct path to the GTS file in "Tileset (GTS) path". Set the Destination to the same folder as the GTS file:
    Image
  22. Now in the VirtualTextures folder where you extracted the GTS file, search for the GTexFilename you found in step 13
  23. This time you will find three .dds files. The texture type depends on the number at the end of the file e.g. xxx_0.dds, xxx_1.dds
    Image
  24. It's a good idea to rename them to match the base items that the texture is for. In this case it's for HUM_F_ARM_Robe_A_Body. So lets rename the textures as follows:
    • HUM_F_ARM_Robe_A_Body_BM.DDS (base color map)
    • HUM_F_ARM_Robe_A_Body_NM.DDS (normal map)
    • HUM_F_ARM_Robe_A_Body_PM.DDS (physical map)
  25. Go to this website: https://bg3.wiki/wiki/Modding:Armor/Clo ... _(Configs)
    Follow the instructions on how to change Shader configs and create your basic texture maps.
Last edited by orinEsque on August 3rd, 2024, 22:08, edited 3 times in total.
Victors clap when others succeed; Losers feel every spotlight as a personal bleed.
User avatar
orinEsque
Posts: 4917
Joined: Oct 9, '23
Location: Dubai
Gender: Potato

Geolocation

Post by orinEsque »

@loregamer
Does this help? The image links are broken though... aaaaaaaaaaaaaaaaaaaaaaaaaaah

@rusty_shackleford why image link broken?
Victors clap when others succeed; Losers feel every spotlight as a personal bleed.
User avatar
rusty_shackleford
Site Admin
Posts: 45443
Joined: Feb 2, '23
Gender: Watermelon

Geolocation

Adventurer's Guild

Post by rusty_shackleford »

orinEsque wrote: September 29th, 2025, 19:10
@rusty_shackleford why image link broken?
because you used postimages?
Thank you for your attention to this matter!
Steam friend code: 40552640 https://steamcommunity.com/friends/add | email: [email protected]
Having trouble running an old Windows game?
Rusty's Stuff Collection
User avatar
loregamer
Site Moderator
Posts: 5059
Joined: Dec 3, '23

Geolocation

Post by loregamer »

orinEsque wrote: September 29th, 2025, 19:10
Does this help? The image links are broken though... aaaaaaaaaaaaaaaaaaaaaaaaaaah
A little bit. I think this tutorial was written before this was added to LSLib, which is what I finally started using today and was my eureka moment
Image

Also btw your images are back, should prob back them up to Vault



EDIT: Guide written on texture replacements
Overriding VirtualTextures & Building Your Mod's Tileset
Last edited by loregamer on September 30th, 2025, 20:43, edited 1 time in total.
Jingle Jangle Jingle