Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Modding:Creating a custom cloth collider

From bg3.wiki
Revision as of 13:34, 17 April 2024 by EmeraldTechno (talk | contribs)
If making a custom body, you may need to create a custom cloth collider for it. You can look up any vanilla cloth collider to use as a base, but here is an example one:
<region id="ClothColliderBank">
		<node id="ClothColliderBank">
			<children>
				<node id="Resource">
					<attribute id="ID" type="FixedString" value="a16538a0-69f3-4537-8b3a-192e9e958026" />
					<attribute id="Name" type="LSString" value="FS_NKD_Body_ClothCollider" />
					<attribute id="_OriginalFileVersion_" type="int64" value="144537400540921856" />
					<children>
						<node id="Spheres">
							<attribute id="AttachedName" type="FixedString" value="Ankle_R" />
							<attribute id="Name" type="FixedString" value="Ankle_R" />
							<attribute id="Position" type="fvec3" value="0.02408487 0.008219436 0.0002600327" />
							<attribute id="Radius" type="float" value="0.115" />
						</node>
						<node id="Spheres">
							<attribute id="AttachedName" type="FixedString" value="Knee_R" />
							<attribute id="Name" type="FixedString" value="Knee_R" />
							<attribute id="Position" type="fvec3" value="0.1842566 0.01101419 -0.2196186" />
							<attribute id="Radius" type="float" value="0.12" />
							<children>
								<node id="Links">
									<attribute id="Link" type="FixedString" value="Hip_R_Twist_02" />
								</node>
							</children>
						</node>
						<node id="Spheres">
							<attribute id="AttachedName" type="FixedString" value="Hip_R_Twist_02" />
							<attribute id="Name" type="FixedString" value="Hip_R_Twist_02" />
							<attribute id="Position" type="fvec3" value="0.2335134 -0.009342965 0.0003812611" />
							<attribute id="Radius" type="float" value="0.12" />
							<children>
								<node id="Links">
									<attribute id="Link" type="FixedString" value="Hip_R" />
								</node>
								<node id="Links">
									<attribute id="Link" type="FixedString" value="Ankle_R" />
								</node>
							</children>
						</node>
						<node id="Spheres">
							<attribute id="AttachedName" type="FixedString" value="Hip_R_Twist_01" />
							<attribute id="Name" type="FixedString" value="Hip_R_Twist_01" />
							<attribute id="Position" type="fvec3" value="0.2496572 -0.03000538 0.009381257" />
							<attribute id="Radius" type="float" value="0.12" />
							<children>
								<node id="Links">
									<attribute id="Link" type="FixedString" value="Hip_R" />
								</node>
							</children>
						</node>
						<node id="Spheres">
							<attribute id="AttachedName" type="FixedString" value="Hip_R" />
							<attribute id="Name" type="FixedString" value="Hip_R" />
							<attribute id="Position" type="fvec3" value="0.03671718 0.02558749 -0.03661869" />
							<attribute id="Radius" type="float" value="0.175" />
							<children>
								<node id="Links">
									<attribute id="Link" type="FixedString" value="Root_M" />
								</node>
							</children>
						</node>
						<node id="Spheres">
							<attribute id="AttachedName" type="FixedString" value="Ankle_L" />
							<attribute id="Name" type="FixedString" value="Ankle_L" />
							<attribute id="Position" type="fvec3" value="-0.02430184 -0.008254398 -5.885959E-07" />
							<attribute id="Radius" type="float" value="0.115" />
						</node>
						<node id="Spheres">
							<attribute id="AttachedName" type="FixedString" value="Knee_L" />
							<attribute id="Name" type="FixedString" value="Knee_L" />
							<attribute id="Position" type="fvec3" value="-0.183996 -0.01075782 -4.082918E-06" />
							<attribute id="Radius" type="float" value="0.12" />
							<children>
								<node id="Links">
									<attribute id="Link" type="FixedString" value="Hip_L_Twist_02" />
								</node>
							</children>
						</node>
						<node id="Spheres">
							<attribute id="AttachedName" type="FixedString" value="Hip_L_Twist_02" />
							<attribute id="Name" type="FixedString" value="Hip_L_Twist_02" />
							<attribute id="Position" type="fvec3" value="-0.2332943 0.009374093 -6.183982E-07" />
							<attribute id="Radius" type="float" value="0.12" />
							<children>
								<node id="Links">
									<attribute id="Link" type="FixedString" value="Hip_L" />
								</node>
								<node id="Links">
									<attribute id="Link" type="FixedString" value="Ankle_L" />
								</node>
							</children>
						</node>
						<node id="Spheres">
							<attribute id="AttachedName" type="FixedString" value="Hip_L_Twist_01" />
							<attribute id="Name" type="FixedString" value="Hip_L_Twist_01" />
							<attribute id="Position" type="fvec3" value="-0.249878 0.0301131 -0.00954318" />
							<attribute id="Radius" type="float" value="0.125" />
							<children>
								<node id="Links">
									<attribute id="Link" type="FixedString" value="Hip_L" />
								</node>
							</children>
						</node>
						<node id="Spheres">
							<attribute id="AttachedName" type="FixedString" value="Hip_L" />
							<attribute id="Name" type="FixedString" value="Hip_L" />
							<attribute id="Position" type="fvec3" value="-0.03669894 -0.02522373 0.0368407" />
							<attribute id="Radius" type="float" value="0.175" />
							<children>
								<node id="Links">
									<attribute id="Link" type="FixedString" value="Root_M" />
								</node>
							</children>
						</node>
						<node id="Spheres">
							<attribute id="AttachedName" type="FixedString" value="Chest_M" />
							<attribute id="Name" type="FixedString" value="Chest_M" />
							<attribute id="Position" type="fvec3" value="0.1746373 0.009826064 1.951149E-05" />
							<attribute id="Radius" type="float" value="0.2" />
							<children>
								<node id="Links">
									<attribute id="Link" type="FixedString" value="Spine2_M" />
								</node>
							</children>
						</node>
						<node id="Spheres">
							<attribute id="AttachedName" type="FixedString" value="Spine2_M" />
							<attribute id="Name" type="FixedString" value="Spine2_M" />
							<attribute id="Position" type="fvec3" value="0.1052495 0.02236807 9.536742E-07" />
							<attribute id="Radius" type="float" value="0.15" />
							<children>
								<node id="Links">
									<attribute id="Link" type="FixedString" value="Spine1_M" />
								</node>
							</children>
						</node>
						<node id="Spheres">
							<attribute id="AttachedName" type="FixedString" value="Spine1_M" />
							<attribute id="Name" type="FixedString" value="Spine1_M" />
							<attribute id="Position" type="fvec3" value="0.0001251698 -0.005512714 4.768372E-07" />
							<attribute id="Radius" type="float" value="0.15" />
							<children>
								<node id="Links">
									<attribute id="Link" type="FixedString" value="Root_M" />
								</node>
							</children>
						</node>
						<node id="Spheres">
							<attribute id="AttachedName" type="FixedString" value="Root_M" />
							<attribute id="Name" type="FixedString" value="Root_M" />
							<attribute id="Position" type="fvec3" value="-0.04438829 -0.04123938 -2.205372E-06" />
							<attribute id="Radius" type="float" value="0.18" />
						</node>
					</children>
				</node>
			</children>
		</node>
	</region>
The Radius attributes control how large each "sphere" of collision is. You can make it bigger or smaller to make cloth physics behave differently when colliding with it.