Modding:Coding An Item: Difference between revisions

Jump to navigation Jump to search
No edit summary
No edit summary
Line 1: Line 1:
<div class="nomobile" column-width: "60em2;>
<div class="nomobile" column-width: "60em2;>
Now, you have made a mesh for a certain race. We are going to add it to the game.
First, we add to our meshes.lsx
  <version major="4" minor="0" revision="4" build="602" />
  <region id="VisualBank">
  <node id="VisualBank">
            <children>
            (START OF ITEM MESH)
<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.08509202 1.868147 0.04280814" />
<attribute id="BoundsMin" type="fvec3" value="-0.08422767 1.793357 -0.1403362" />
<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="00000000000000000000000000001" />
<attribute id="MaterialType" type="uint8" value="0" />
<attribute id="Name" type="LSString" value="HUM_M_CLT_MySweetCirclet" />
<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="Headwear" />
<attribute id="SoftbodyResourceID" type="FixedString" value="" />
<attribute id="SourceFile" type="LSString" value="Generated/Public/MySweetMod/Assets/HUM_M_CLT_Headwear_Circlet_Silver_A.GR2" /> (Remember to set your own filepath for your meshes correctly.)
<attribute id="SupportsVertexColorMask" type="bool" value="False" />
<attribute id="Template" type="FixedString" value="Generated/Public/MySweetMod/Assets/HUM_M_CLT_Headwear_Circlet_Silver_A.Dummy_Root.0" /> (Remember to set your own filepath for your meshes correctly. Dummy Root may need to be renamed in Blender as a bone part depending on what you are making)
<attribute id="_OriginalFileVersion_" type="int64" value="144115207403209020" />
<children>
<node id="AnimationWaterfall">
<attribute id="Object" type="FixedString" value="" />
</node>
<node id="Base">
<children>
<node id="Tags">
<attribute id="Object" type="FixedString" value="Never Hide Hair" />
</node>
</children>
    </node>
<node id="ClothProxyMapping" />
<node id="Objects">
<attribute id="LOD" type="uint8" value="0" />
<attribute id="MaterialID" type="FixedString" value="06cee86f-8ca8-a19b-69ea-6fbac8b7516f" /> '''What material it links up to.'''
<attribute id="ObjectID" type="FixedString" value="HUM_M_CLT_Headwear_Circlet_Silver_A.HUM_M_CLT_Headwear_Circlet_Silver_A_Mesh.0" /> The .0 denotes mesh load order.
</node>
<node id="Objects"> '''Extra entry for a Level of Detail mesh, which will be seen from a certain distance from the camera. In this case the LOD1.'''
<attribute id="LOD" type="uint8" value="1" /> '''What level of LOD it is'''
<attribute id="MaterialID" type="FixedString" value="06cee86f-8ca8-a19b-69ea-6fbac8b7516f" />
<attribute id="ObjectID" type="FixedString" value="HUM_M_CLT_Headwear_Circlet_Silver_A.HUM_M_CLT_Headwear_Circlet_Silver_A_Mesh_LOD1.1" /> '''The .1 denotes mesh load order.'''
</node>
Note that this is a circlet, so it doesn't need to hide any part of the body. But if it had that code, it would go here. Example:
<node id="VertexColorMaskSlots">
<attribute id="Object" type="FixedString" value="feet" />
</node>
And this code would stop the body's feet from loading in and clipping, ideal for boot items. See [https://bg3.wiki/wiki/Modding:VertexColorMaskSlots here for a full list of Vertex Mask Slots for the body.]
                     
</children>
  </node>
                (END OF ITEM MESH)
    </children>
  </node>
</region>
</save>                         


An item will begin in the root template lsx. Here is an example for it:
An item will begin in the root template lsx. Here is an example for it: