More actions
This page shows an example of a _merged.lsf.lsx file that can be used to set up a custom texture for your custom hair.
<?xml version="1.0" encoding="utf-8"?>
<save>
<version major="4" minor="0" revision="8" build="2" lslib_meta="v1,bswap_guids" />
<region id="MaterialBank">
<node id="MaterialBank">
<children>
<node id="Resource">
<attribute id="DiffusionProfileUUID" type="FixedString" value="" />
<attribute id="ID" type="FixedString" value="MATERIALUUID" />
<attribute id="MaterialType" type="uint8" value="18" />
<attribute id="Name" type="LSString" value="HAIR_Test_A" />
<attribute id="SourceFile" type="LSString" value="Public/Shared/Assets/Materials/Characters/CHAR_Hair.lsf" />
<attribute id="_OriginalFileVersion_" type="int64" value="144115205255725667" />
<children>
<node id="ScalarParameters">
<attribute id="BaseValue" type="float" value="50" />
<attribute id="Enabled" type="bool" value="False" />
<attribute id="ExportAsPreset" type="bool" value="True" />
<attribute id="GroupName" type="FixedString" value="03Hair" />
<attribute id="ParameterName" type="FixedString" value="SharedNoiseTiling" />
<attribute id="Value" type="float" value="50" />
</node>
<node id="ScalarParameters">
<attribute id="BaseValue" type="float" value="0.0005" />
<attribute id="Enabled" type="bool" value="False" />
<attribute id="ExportAsPreset" type="bool" value="True" />
<attribute id="GroupName" type="FixedString" value="03Hair" />
<attribute id="ParameterName" type="FixedString" value="HairFrizz" />
<attribute id="Value" type="float" value="0.0005" />
</node>
<node id="ScalarParameters">
<attribute id="BaseValue" type="float" value="0.002" />
<attribute id="Enabled" type="bool" value="False" />
<attribute id="ExportAsPreset" type="bool" value="True" />
<attribute id="GroupName" type="FixedString" value="03Hair" />
<attribute id="ParameterName" type="FixedString" value="PixelDepthOffsetRoot" />
<attribute id="Value" type="float" value="0.002" />
</node>
<node id="ScalarParameters">
<attribute id="BaseValue" type="float" value="0.01" />
<attribute id="Enabled" type="bool" value="True" />
<attribute id="ExportAsPreset" type="bool" value="True" />
<attribute id="GroupName" type="FixedString" value="03Hair" />
<attribute id="ParameterName" type="FixedString" value="PixelDepthOffset" />
<attribute id="Value" type="float" value="0.02" />
</node>
<node id="ScalarParameters">
<attribute id="BaseValue" type="float" value="0.1" />
<attribute id="Enabled" type="bool" value="True" />
<attribute id="ExportAsPreset" type="bool" value="True" />
<attribute id="GroupName" type="FixedString" value="03Hair" />
<attribute id="ParameterName" type="FixedString" value="DepthTransitionMidPoint" />
<attribute id="Value" type="float" value="0.7" />
</node>
<node id="ScalarParameters">
<attribute id="BaseValue" type="float" value="0.001" />
<attribute id="Enabled" type="bool" value="True" />
<attribute id="ExportAsPreset" type="bool" value="True" />
<attribute id="GroupName" type="FixedString" value="03Hair" />
<attribute id="ParameterName" type="FixedString" value="DepthTransitionSoftness" />
<attribute id="Value" type="float" value="0.2" />
</node>
<node id="ScalarParameters">
<attribute id="BaseValue" type="float" value="2" />
<attribute id="Enabled" type="bool" value="False" />
<attribute id="ExportAsPreset" type="bool" value="True" />
<attribute id="GroupName" type="FixedString" value="03Hair" />
<attribute id="ParameterName" type="FixedString" value="HairSoupleness" />
<attribute id="Value" type="float" value="2" />
</node>
<node id="ScalarParameters">
<attribute id="BaseValue" type="float" value="0.05" />
<attribute id="Enabled" type="bool" value="False" />
<attribute id="ExportAsPreset" type="bool" value="True" />
<attribute id="GroupName" type="FixedString" value="03Hair" />
<attribute id="ParameterName" type="FixedString" value="MaxWindMovementAmount" />
<attribute id="Value" type="float" value="0.05" />
</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="03Hair" />
<attribute id="ParameterName" type="FixedString" value="SoftenTipsAlpha" />
<attribute id="Value" type="float" value="0" />
</node>
<node id="ScalarParameters">
<attribute id="BaseValue" type="float" value="1" />
<attribute id="Enabled" type="bool" value="False" />
<attribute id="ExportAsPreset" type="bool" value="False" />
<attribute id="GroupName" type="FixedString" value="03Hair" />
<attribute id="ParameterName" type="FixedString" value="DontTouchMe_Beard_Alpha" />
<attribute id="Value" type="float" value="1" />
</node>
<node id="ScalarParameters">
<attribute id="BaseValue" type="float" value="1" />
<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="_OpacityFade" />
<attribute id="Value" type="float" value="1" />
</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="03Hair" />
<attribute id="ParameterName" type="FixedString" value="BaseColorVar" />
<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="False" />
<attribute id="GroupName" type="FixedString" value="03Hair" />
<attribute id="ParameterName" type="FixedString" value="DontTouchMe_isBeard" />
<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="03Hair" />
<attribute id="ParameterName" type="FixedString" value="Graying_Intensity" />
<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="03Beard" />
<attribute id="ParameterName" type="FixedString" value="Beard_Graying_Intensity" />
<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="03Hair" />
<attribute id="ParameterName" type="FixedString" value="Graying_Seed" />
<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="03Hair" />
<attribute id="ParameterName" type="FixedString" value="Highlight_Falloff" />
<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="03Hair" />
<attribute id="ParameterName" type="FixedString" value="Highlight_Intensity" />
<attribute id="Value" type="float" value="0" />
</node>
<node id="ScalarParameters">
<attribute id="BaseValue" type="float" value="0.1" />
<attribute id="Enabled" type="bool" value="False" />
<attribute id="ExportAsPreset" type="bool" value="True" />
<attribute id="GroupName" type="FixedString" value="03Hair" />
<attribute id="ParameterName" type="FixedString" value="RootTransitionMidPoint" />
<attribute id="Value" type="float" value="0.1" />
</node>
<node id="ScalarParameters">
<attribute id="BaseValue" type="float" value="0.2" />
<attribute id="Enabled" type="bool" value="False" />
<attribute id="ExportAsPreset" type="bool" value="True" />
<attribute id="GroupName" type="FixedString" value="03Hair" />
<attribute id="ParameterName" type="FixedString" value="RootTransitionSoftness" />
<attribute id="Value" type="float" value="0.2" />
</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="03Hair" />
<attribute id="ParameterName" type="FixedString" value="DepthColorExponent" />
<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="03Hair" />
<attribute id="ParameterName" type="FixedString" value="DepthColorIntensity" />
<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="03Hair" />
<attribute id="ParameterName" type="FixedString" value="IDContrast" />
<attribute id="Value" type="float" value="0.5" />
</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="03Hair" />
<attribute id="ParameterName" type="FixedString" value="ColorDepthContrast" />
<attribute id="Value" type="float" value="0.5" />
</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="03Hair" />
<attribute id="ParameterName" type="FixedString" value="DreadNoiseBaseColor" />
<attribute id="Value" type="float" value="0" />
</node>
<node id="ScalarParameters">
<attribute id="BaseValue" type="float" value="0.41" />
<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="Roughness" />
<attribute id="Value" type="float" value="0.41" />
</node>
<node id="ScalarParameters">
<attribute id="BaseValue" type="float" value="0.05" />
<attribute id="Enabled" type="bool" value="False" />
<attribute id="ExportAsPreset" type="bool" value="True" />
<attribute id="GroupName" type="FixedString" value="03Hair" />
<attribute id="ParameterName" type="FixedString" value="RoughnessContrast" />
<attribute id="Value" type="float" value="0.05" />
</node>
<node id="ScalarParameters">
<attribute id="BaseValue" type="float" value="0.35" />
<attribute id="Enabled" type="bool" value="False" />
<attribute id="ExportAsPreset" type="bool" value="True" />
<attribute id="GroupName" type="FixedString" value="03Hair" />
<attribute id="ParameterName" type="FixedString" value="StrandDirectionVariation" />
<attribute id="Value" type="float" value="0.35" />
</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="03Hair" />
<attribute id="ParameterName" type="FixedString" value="DreadNoiseNormal" />
<attribute id="Value" type="float" value="0" />
</node>
<node id="ScalarParameters">
<attribute id="BaseValue" type="float" value="0.3" />
<attribute id="Enabled" type="bool" value="False" />
<attribute id="ExportAsPreset" type="bool" value="True" />
<attribute id="GroupName" type="FixedString" value="03Hair" />
<attribute id="ParameterName" type="FixedString" value="Scatter" />
<attribute id="Value" type="float" value="0.3" />
</node>
<node id="ScalarParameters">
<attribute id="BaseValue" type="float" value="0.4" />
<attribute id="Enabled" type="bool" value="False" />
<attribute id="ExportAsPreset" type="bool" value="True" />
<attribute id="GroupName" type="FixedString" value="03Hair" />
<attribute id="ParameterName" type="FixedString" value="HairBacklit" />
<attribute id="Value" type="float" value="0.4" />
</node>
<node id="ScalarParameters">
<attribute id="BaseValue" type="float" value="1" />
<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="CB_MaterialConstants._OpacityFade" />
<attribute id="Value" type="float" value="1" />
</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="d339f00a-fb40-4581-ecc9-886b05583036" />
<attribute id="ParameterName" type="FixedString" value="" />
</node>
<node id="Texture2DParameters">
<attribute id="Enabled" type="bool" value="True" />
<attribute id="ExportAsPreset" type="bool" value="True" />
<attribute id="GroupName" type="FixedString" value="01Texture Maps" />
<attribute id="ID" type="FixedString" value="TEXTUREUUID" />
<attribute id="ParameterName" type="FixedString" value="ID_Depth_Root_Alpha_MSKA" />
</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="1b153fa7-3bf1-f221-efd2-4e0a4dc0f5b8" />
<attribute id="ParameterName" type="FixedString" value="" />
</node>
<node id="Texture2DParameters">
<attribute id="Enabled" type="bool" value="False" />
<attribute id="ExportAsPreset" type="bool" value="True" />
<attribute id="GroupName" type="FixedString" value="01Texture Maps" />
<attribute id="ID" type="FixedString" value="c13a1681-ae9b-dc45-2454-fdd8325159d1" />
<attribute id="ParameterName" type="FixedString" value="BaseColorVarMSK" />
</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="178daede-8ecc-243f-951e-b26354d4af23" />
<attribute id="IgnoreTexelDensity" type="bool" value="True" />
<attribute id="ParameterName" type="FixedString" value="" />
</node>
<node id="Vector3Parameters">
<attribute id="BaseValue" type="fvec3" value="0.150985 0.09372021 0.05276263" />
<attribute id="Enabled" type="bool" value="False" />
<attribute id="ExportAsPreset" type="bool" value="True" />
<attribute id="GroupName" type="FixedString" value="03Hair" />
<attribute id="IsColor" type="bool" value="True" />
<attribute id="ParameterName" type="FixedString" value="Hair_Color" />
<attribute id="Value" type="fvec3" value="0.150985 0.09372021 0.05276263" />
</node>
<node id="Vector3Parameters">
<attribute id="BaseValue" type="fvec3" value="0.1362835 0.08225837 0.04361792" />
<attribute id="Enabled" type="bool" value="False" />
<attribute id="ExportAsPreset" type="bool" value="True" />
<attribute id="GroupName" type="FixedString" value="03Beard" />
<attribute id="IsColor" type="bool" value="True" />
<attribute id="ParameterName" type="FixedString" value="Beard_Color" />
<attribute id="Value" type="fvec3" value="0.1362835 0.08225837 0.04361792" />
</node>
<node id="Vector3Parameters">
<attribute id="BaseValue" type="fvec3" value="0.7316965 0.7316965 0.7316965" />
<attribute id="Enabled" type="bool" value="False" />
<attribute id="ExportAsPreset" type="bool" value="True" />
<attribute id="GroupName" type="FixedString" value="03Hair" />
<attribute id="IsColor" type="bool" value="True" />
<attribute id="ParameterName" type="FixedString" value="Hair_Graying_Color" />
<attribute id="Value" type="fvec3" value="0.7316965 0.7316965 0.7316965" />
</node>
<node id="Vector3Parameters">
<attribute id="BaseValue" type="fvec3" value="0.732 0.732 0.732" />
<attribute id="Enabled" type="bool" value="False" />
<attribute id="ExportAsPreset" type="bool" value="True" />
<attribute id="GroupName" type="FixedString" value="03Beard" />
<attribute id="IsColor" type="bool" value="True" />
<attribute id="ParameterName" type="FixedString" value="Beard_Graying_Color" />
<attribute id="Value" type="fvec3" value="0.732 0.732 0.732" />
</node>
<node id="Vector3Parameters">
<attribute id="BaseValue" type="fvec3" value="0.3531314 0.1078292 0.1888481" />
<attribute id="Enabled" type="bool" value="False" />
<attribute id="ExportAsPreset" type="bool" value="True" />
<attribute id="GroupName" type="FixedString" value="03Hair" />
<attribute id="IsColor" type="bool" value="True" />
<attribute id="ParameterName" type="FixedString" value="Highlight_Color" />
<attribute id="Value" type="fvec3" value="0.3531314 0.1078292 0.1888481" />
</node>
<node id="Vector3Parameters">
<attribute id="BaseValue" type="fvec3" value="0.3531314 0.1078292 0.1888481" />
<attribute id="Enabled" type="bool" value="False" />
<attribute id="ExportAsPreset" type="bool" value="True" />
<attribute id="GroupName" type="FixedString" value="03Beard" />
<attribute id="IsColor" type="bool" value="True" />
<attribute id="ParameterName" type="FixedString" value="Beard_Highlight_Color" />
<attribute id="Value" type="fvec3" value="0.3531314 0.1078292 0.1888481" />
</node>
<node id="Vector3Parameters">
<attribute id="BaseValue" type="fvec3" value="0.3 0.3 0.3" />
<attribute id="Enabled" type="bool" value="False" />
<attribute id="ExportAsPreset" type="bool" value="True" />
<attribute id="GroupName" type="FixedString" value="03Hair" />
<attribute id="IsColor" type="bool" value="False" />
<attribute id="ParameterName" type="FixedString" value="HueShiftColorWeight" />
<attribute id="Value" type="fvec3" value="0.3 0.3 0.3" />
</node>
</children>
</node>
</children>
</node>
</region>
<region id="TextureBank">
<node id="TextureBank">
<children>
<node id="Resource">
<attribute id="Depth" type="int32" value="1" />
<attribute id="Height" type="int32" value="2048" />
<attribute id="ID" type="FixedString" value="TEXTUREUUID" />
<attribute id="Localized" type="bool" value="False" />
<attribute id="Name" type="LSString" value="Em_New_Hair_Template_MSKA" />
<!--This needs to be the name of your custom texture.-->
<attribute id="SRGB" type="bool" value="False" />
<attribute id="SourceFile" type="LSString" value="Generated/Public/Em_New_Hair_Template/[PAK]_Em_New_Hair_Template/Em_New_Hair_Template_MSKA.DDS" />
<!--This needs to be the file path to your custom texture in .DDS format.-->
<attribute id="Streaming" type="bool" value="True" />
<attribute id="Template" type="FixedString" value="Em_New_Hair_Template_MSKA" />
<!--This needs to be the name of your custom texture.-->
<attribute id="Type" type="int32" value="1" />
<attribute id="Width" type="int32" value="2048" />
<attribute id="_OriginalFileVersion_" type="int64" value="144115205255725060" />
</node>
</children>
</node>
</region>
<region id="VisualBank">
<node id="VisualBank">
<children>
<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.1644483 1.950027 0.1588906" />
<attribute id="BoundsMin" type="fvec3" value="-0.1682484 1.579714 -0.1309586" />
<attribute id="Center" type="fvec3" value="-0.00190004 1.764871 0.01396601" />
<attribute id="ClothColliderResourceID" type="FixedString" value="" />
<attribute id="HairPresetResourceId" type="FixedString" value="dd1b33fb-3750-7243-685c-e0faaa928fd8" />
<!-- Either use from a hair you like (how much frizz it has etc) or make your own.-->
<attribute id="HairType" type="uint8" value="0" />
<attribute id="ID" type="FixedString" value="HAIRVISUALRESOURCEUUID" />
<!-- ^ Make a new UUID and make sure it matches VisualResourceID in CharacterCreationAppearanceVisuals. -->
<attribute id="Initialized" type="bool" value="True" />
<attribute id="Localized" type="bool" value="False" />
<attribute id="MaterialType" type="uint8" value="0" />
<attribute id="Name" type="LSString" value="Em_New_Hair_Template.GR2" />
<!-- ^ Name of your GR2. -->
<attribute id="NeedsSkeletonRemap" type="bool" value="True" />
<!-- ^ Change to false if not auto-snap. -->
<attribute id="Radius" type="float" value="0.2880241" />
<attribute id="ScalpMaterialId" type="FixedString" value="2db2a0fe-43c9-ec5c-a7f7-71a3727ca474" />
<!-- Use from a scalp you like. -->
<attribute id="SkeletonResource" type="FixedString" value="" />
<!-- If the hair you're referencing uses physics, copy the SkeletonResource ID here. -->
<attribute id="SkeletonSlot" type="FixedString" value="" />
<attribute id="Slot" type="FixedString" value="Hair" />
<attribute id="SoftbodyResourceID" type="FixedString" value="" />
<attribute id="SourceFile" type="LSString" value="Generated/Public/Em_New_Hair_Template/[PAK]_Em_New_Hair_Template/Em_New_Hair_Template.GR2" />
<!-- Make sure this matches your folder structure. Should have .GR2 at the end. -->
<attribute id="SupportsVertexColorMask" type="bool" value="False" />
<attribute id="Template" type="FixedString" value="Generated/Public/Em_New_Hair_Template/[PAK]_Em_New_Hair_Template/Em_New_Hair_Template.Dummy_Root.0" />
<!-- Make sure this matches your folder structure. Should have .Dummy_Root.0 at the end. -->
<attribute id="_OriginalFileVersion_" type="int64" value="144115205255725060" />
<children>
<node id="Base" />
<node id="Objects">
<attribute id="LOD" type="uint8" value="0" />
<attribute id="MaterialID" type="FixedString" value="MATERIALUUID" />
<!-- Use from a hair material you like. -->
<attribute id="ObjectID" type="FixedString" value="Em_New_Hair_Template.Em_New_Hair_Template_Mesh.0" />
<!-- Make sure this matches your GR2 name. -->
<attribute id="Physics" type="FixedString" value="" />
<attribute id="Slot" type="FixedString" value="" />
</node>
</children>
</node>
</children>
</node>
</region>
</save>