
Description
Fabric Sheen
A cloth and velvet master built on Substrate's real fuzz sheen — that soft, glowing bloom that rakes across the silhouette of a sofa, a curtain or a velvet cushion as you move past it. Fully procedural, so it reads as woven fabric the moment you paste it; no textures to wire up unless you want them.
This is the library's first fabric material, and it leans on Substrate's Slab BSDF and its Fuzz lobe — the proper way to do cloth in UE5.7. Instead of faking a rim light, the sheen is the fuzz: Fuzz Colour and Fuzz Roughness go straight into the slab, and the amount is pushed toward the grazing edges by a Fresnel mask so it blooms at the silhouette the way real fibre does, exactly like velvet catching the light. Underneath, a little Weave Engine builds the cloth itself — a procedural over/under warp-and-weft thread grid with a soft fibre fuzz between the threads — which shades the diffuse so it reads as woven, bumps the surface normal with rounded threads, and breaks up the roughness a touch. The body stays a clean dielectric (no metal), so all the character comes from the sheen and the weave. There's no Time anywhere, so it's TSR-safe, and it runs zero samplers until you opt into a texture. Make it a pale cotton, a deep red velvet, a sheer curtain or a chunky carpet from one master.
Settings you have to set
Root-pin links never survive a T3D paste, so the output wiring is on you — the result node sits next to the Material node in a frame labelled with its exact pin.
- Enable Substrate (required). Project Settings → search "Substrate" → Substrate Materials = On, then restart the editor. The Slab BSDF and its Fuzz pins simply don't exist without it.
- Set GBuffer Format = Adaptive in that same panel — the cheaper Blendable format can quietly drop the fuzz/sheen detail.
- Blend Mode = Opaque, Material Domain = Surface. The Shading Model is driven by the slab (no legacy dropdown).
- Two Sided = Off by default. Turn it On only for thin single-sided cloth — curtains, flags, banners — that needs its backfaces lit.
- On the Substrate Slab BSDF node, leave Sub Surface Type = None (the paste sets it). For a sheer curtain you want light coming through, switch it to Diffusion.
- Wire the one labelled frame — Front Material — into the Material node's purple Front Material pin.
- Opaque means Nanite is fully supported on the mesh.
Params
- Base Colour — the cloth's bo
Preview only · open in editor for full material editing
Want this graph on your blog or forum?
View T3D source (113 KB)expandcollapse
Begin Object Class=/Script/UnrealEd.MaterialGraphNode_Comment Name="MaterialGraphNode_Comment_0"
Begin Object Class=/Script/Engine.MaterialExpressionComment Name="MaterialExpressionComment_C0"
End Object
Begin Object Name="MaterialExpressionComment_C0"
SizeX=560
SizeY=560
Text="01 Base Surface"
CommentColor=(R=0.104616,G=0.327778,B=0.665387,A=1.000000)
MaterialExpressionEditorX=-2600
MaterialExpressionEditorY=-1180
MaterialExpressionGuid=2ED15265889F4BA3FBB99360B9CF4544
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.M_FabricSheen'"
End Object
MaterialExpressionComment="/Script/Engine.MaterialExpressionComment'MaterialExpressionComment_C0'"
CommentColor=(R=0.104616,G=0.327778,B=0.665387,A=1.000000)
NodePosX=-2600
NodePosY=-1180
NodeWidth=560
NodeHeight=560
NodeComment="01 Base Surface"
NodeGuid=49C09C623DD1A2B9123FBD768A2D3BDB
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_1"
Begin Object Class=/Script/Engine.MaterialExpressionVectorParameter Name="MaterialExpressionVectorParameter_1"
End Object
Begin Object Name="MaterialExpressionVectorParameter_1"
ParameterName="BaseColor"
DefaultValue=(R=0.32,G=0.27,B=0.22,A=1)
Group="01 Base Surface"
Desc="The cloth's diffuse colour (Slab Diffuse Albedo). This is the body of the fabric — the weave shades it slightly and the fuzz sheen sits on top of it. Keep it off true black/true white; deep velvets are very dark (the colour comes from the fuzz), cottons/linens are mid-tone."
MaterialExpressionEditorX=-2560
MaterialExpressionEditorY=-1080
MaterialExpressionGuid=00A51ACE4E7267785D5797063768F46D
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.M_FabricSheen'"
End Object
MaterialExpression="/Script/Engine.MaterialExpressionVectorParameter'MaterialExpressionVectorParameter_1'"
NodePosX=-2560
NodePosY=-1080
NodeGuid=5C35D3FA7E618E40A104581674B40543
CustomProperties Pin (PinId=B3BEA1E7B2764849AE3A50DC8B94DEBF,PinName="Output",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_34 13425378BEDAF83BA593FB86A1043FA2,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=6EDF919D184B6ECF2DA12C1AC96E7FD6,PinName="R",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=2BB70ED940034372399D3258C391DE25,PinName="G",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=716224310DD0CC87EDD1CD6019F7D41E,PinName="B",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=618982978E8FEE4C661B669A01EACF14,PinName="A",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_2"
Begin Object Class=/Script/Engine.MaterialExpressionScalarParameter Name="MaterialExpressionScalarParameter_2"
End Object
Begin Object Name="MaterialExpressionScalarParameter_2"
ParameterName="Roughness"
DefaultValue=0.85
SliderMin=0
SliderMax=1
Group="01 Base Surface"
Desc="Base roughness of the cloth body. Fabric is rough — cotton/linen 0.8-0.95, satin/silk lower (0.6-0.8 with the sheen doing the work). The weave adds a small break-up around this value."
MaterialExpressionEditorX=-2560
MaterialExpressionEditorY=-900
MaterialExpressionGuid=9238E5738C5F7E3B53FCC362F80DE683
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.M_FabricSheen'"
End Object
MaterialExpression="/Script/Engine.MaterialExpressionScalarParameter'MaterialExpressionScalarParameter_2'"
NodePosX=-2560
NodePosY=-900
NodeGuid=4BA738853ACD91020850425418B0881C
CustomProperties Pin (PinId=E27A420EFA76D033F38EF89A07D13BD3,PinName="Output",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_36 59B6D4E6E878C87E06227CD63DA8DBE7,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_3"
Begin Object Class=/Script/Engine.MaterialExpressionScalarParameter Name="MaterialExpressionScalarParameter_3"
End Object
Begin Object Name="MaterialExpressionScalarParameter_3"
ParameterName="Specular"
DefaultValue=0.5
SliderMin=0
SliderMax=1
Group="01 Base Surface"
Desc="Dielectric specular level, remapped to F0 (0.5 = the standard ~0.04 / IOR 1.5 dielectric, like legacy Specular). Fabric is a non-metal, so leave near 0.5; drop it for a chalkier, more matte weave."
MaterialExpressionEditorX=-2560
MaterialExpressionEditorY=-720
MaterialExpressionGuid=5A16C2550E63FB75092B94FC38B20AA5
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.M_FabricSheen'"
End Object
MaterialExpression="/Script/Engine.MaterialExpressionScalarParameter'MaterialExpressionScalarParameter_3'"
NodePosX=-2560
NodePosY=-720
NodeGuid=24094D48F13CF52CECF8A248A1D0198D
CustomProperties Pin (PinId=BAA6246144A70F74FA246ED05DD99D2E,PinName="Output",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_38 674CD543398CCD1C6B753A992CFA96BB,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_4"
Begin Object Class=/Script/Engine.MaterialExpressionScalarParameter Name="MaterialExpressionScalarParameter_4"
End Object
Begin Object Name="MaterialExpressionScalarParameter_4"
ParameterName="ThreadShadow"
DefaultValue=0.35
SliderMin=0
SliderMax=1
Group="01 Base Surface"
Desc="How much the woven threads self-shadow the diffuse (the gaps between threads read darker). 0 = flat painted look; higher = deeper, more obviously woven cloth. This is what makes it read as fabric rather than coloured plastic."
MaterialExpressionEditorX=-2560
MaterialExpressionEditorY=-540
MaterialExpressionGuid=ED77A974AF26F472D8CE3741E68E592B
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.M_FabricSheen'"
End Object
MaterialExpression="/Script/Engine.MaterialExpressionScalarParameter'MaterialExpressionScalarParameter_4'"
NodePosX=-2560
NodePosY=-540
NodeGuid=7FD5A3F299128F88BCDA75502847EE19
CustomProperties Pin (PinId=2D2D98C59D08A107242A14C62A6088DE,PinName="Output",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_32 2D8BF862A954378B8E8C0D4983A611BC,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode_Comment Name="MaterialGraphNode_Comment_5"
Begin Object Class=/Script/Engine.MaterialExpressionComment Name="MaterialExpressionComment_C5"
End Object
Begin Object Name="MaterialExpressionComment_C5"
SizeX=560
SizeY=760
Text="02 Fuzz Sheen"
CommentColor=(R=0.104616,G=0.327778,B=0.665387,A=1.000000)
MaterialExpressionEditorX=-2600
MaterialExpressionEditorY=-540
MaterialExpressionGuid=D748D560F11FDADE16D1EC00C918AF38
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.M_FabricSheen'"
End Object
MaterialExpressionComment="/Script/Engine.MaterialExpressionComment'MaterialExpressionComment_C5'"
CommentColor=(R=0.104616,G=0.327778,B=0.665387,A=1.000000)
NodePosX=-2600
NodePosY=-540
NodeWidth=560
NodeHeight=760
NodeComment="02 Fuzz Sheen"
NodeGuid=E53549F804CDE67DC5842516266A5256
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_6"
Begin Object Class=/Script/Engine.MaterialExpressionVectorParameter Name="MaterialExpressionVectorParameter_6"
End Object
Begin Object Name="MaterialExpressionVectorParameter_6"
ParameterName="FuzzColor"
DefaultValue=(R=0.62,G=0.58,B=0.5,A=1)
Group="02 Fuzz Sheen"
Desc="Colour of the sheen lobe (Slab Fuzz Color). This is the bloom you see raking across velvet. A Fuzz Color brighter and more saturated than the Base Color reads as a vibrant rim without any rim-light logic. Pale neutral for cotton/wool; a saturated tint for jewel-tone velvet."
MaterialExpressionEditorX=-2560
MaterialExpressionEditorY=-440
MaterialExpressionGuid=8CE693A1FE23C660F62CD6FBD10EA33C
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.M_FabricSheen'"
End Object
MaterialExpression="/Script/Engine.MaterialExpressionVectorParameter'MaterialExpressionVectorParameter_6'"
NodePosX=-2560
NodePosY=-440
NodeGuid=B2C61B2873418CD946AC035A688E0C70
CustomProperties Pin (PinId=5E707C88EE27A30A215A5BDDE25DA241,PinName="Output",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_40 23BD172BFD1CC4DC3DA4B34E32B93D5D,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=39434E3251857745FE830A8B444D98BF,PinName="R",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=0AD82F525E63E1A1E2D56FC11576D390,PinName="G",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=FD7C478D18DD97BEC77DCED9254F7DE3,PinName="B",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=75070AB682C4AB093F78CAF8AED202E2,PinName="A",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_7"
Begin Object Class=/Script/Engine.MaterialExpressionScalarParameter Name="MaterialExpressionScalarParameter_7"
End Object
Begin Object Name="MaterialExpressionScalarParameter_7"
ParameterName="FuzzAmount"
DefaultValue=0.6
SliderMin=0
SliderMax=1
Group="02 Fuzz Sheen"
Desc="Overall strength of the fuzz sheen (drives Slab Fuzz Amount, after the grazing mask). 0 = no sheen (plain rough dielectric); 0.5-0.8 reads as proper upholstery/velvet; 1 is maximum bloom. Velvet wants this high, flat cotton lower."
MaterialExpressionEditorX=-2560
MaterialExpressionEditorY=-260
MaterialExpressionGuid=691DAA1FEBB7D73ED5B68BF9A092EACD
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.M_FabricSheen'"
End Object
MaterialExpression="/Script/Engine.MaterialExpressionScalarParameter'MaterialExpressionScalarParameter_7'"
NodePosX=-2560
NodePosY=-260
NodeGuid=8AC117A91FE9ABF56FCC6698EBF8CCFA
CustomProperties Pin (PinId=D19CC40C5BD61C246306E5F652874EBA,PinName="Output",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_28 028742BDBBEA7C12A17BA1983DE42973,MaterialGraphNode_31 D954633BD86B1CD86E37B1765B1AE81E,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_8"
Begin Object Class=/Script/Engine.MaterialExpressionScalarParameter Name="MaterialExpressionScalarParameter_8"
End Object
Begin Object Name="MaterialExpressionScalarParameter_8"
ParameterName="FuzzRoughness"
DefaultValue=0.5
SliderMin=0
SliderMax=1
Group="02 Fuzz Sheen"
Desc="Roughness of the sheen lobe (Slab Fuzz Roughness), independent of the base. Lower = a tighter, more satin-like sheen band; higher = a broader, softer, more diffuse velvet bloom. Silk ~0.3, velvet ~0.7."
MaterialExpressionEditorX=-2560
MaterialExpressionEditorY=-80
MaterialExpressionGuid=C7F53442A02A09C73A3F44FF1EEDB415
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.M_FabricSheen'"
End Object
MaterialExpression="/Script/Engine.MaterialExpressionScalarParameter'MaterialExpressionScalarParameter_8'"
NodePosX=-2560
NodePosY=-80
NodeGuid=B536C1D86F25B2A3775FF795850F69AA
CustomProperties Pin (PinId=8F0286358B7490B4C0FC324069EA8887,PinName="Output",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_40 39100F1EBFE0740AB69F6E704D855A26,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_9"
Begin Object Class=/Script/Engine.MaterialExpressionScalarParameter Name="MaterialExpressionScalarParameter_9"
End Object
Begin Object Name="MaterialExpressionScalarParameter_9"
ParameterName="SheenGrazing"
DefaultValue=3
SliderMin=0.5
SliderMax=8
Group="02 Fuzz Sheen"
Desc="How strongly the sheen is pushed toward the grazing silhouette (Fresnel exponent). Higher = the bloom hugs a tighter rim at the edges; lower = the sheen spreads across more of the surface. This is the view-dependent character of real fibre."
MaterialExpressionEditorX=-2560
MaterialExpressionEditorY=100
MaterialExpressionGuid=541BD76647D161D8D5D659B487E54E1D
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.M_FabricSheen'"
End Object
MaterialExpression="/Script/Engine.MaterialExpressionScalarParameter'MaterialExpressionScalarParameter_9'"
NodePosX=-2560
NodePosY=100
NodeGuid=6C5535855DC44E3A80BDAFC5489A56CE
CustomProperties Pin (PinId=A955CAE3B9B49F6173165D14BB670DFE,PinName="Output",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_27 1506EE8ED0F976ACD79D62EBD19C849F,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_10"
Begin Object Class=/Script/Engine.MaterialExpressionScalarParameter Name="MaterialExpressionScalarParameter_10"
End Object
Begin Object Name="MaterialExpressionScalarParameter_10"
ParameterName="SheenBase"
DefaultValue=0.15
SliderMin=0
SliderMax=1
Group="02 Fuzz Sheen"
Desc="Floor of fuzz that is present even when looking straight on (before the grazing bloom is added). 0 = sheen only at the rim (most directional); raise for a fabric that fuzzes evenly all over, like a thick wool or a flat carpet."
MaterialExpressionEditorX=-2560
MaterialExpressionEditorY=280
MaterialExpressionGuid=BB9CEEB147225A4869EF7F018B802E3F
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.M_FabricSheen'"
End Object
MaterialExpression="/Script/Engine.MaterialExpressionScalarParameter'MaterialExpressionScalarParameter_10'"
NodePosX=-2560
NodePosY=280
NodeGuid=EA68AFE3134B6BA2955DFC109B9296AF
CustomProperties Pin (PinId=62434E646CB54F56B0E85540D3CCC5C4,PinName="Output",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_29 603835D35E805CF381D5D61D6751659F,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode_Comment Name="MaterialGraphNode_Comment_11"
Begin Object Class=/Script/Engine.MaterialExpressionComment Name="MaterialExpressionComment_C11"
End Object
Begin Object Name="MaterialExpressionComment_C11"
SizeX=560
SizeY=940
Text="03 Weave"
CommentColor=(R=0.104616,G=0.327778,B=0.665387,A=1.000000)
MaterialExpressionEditorX=-2600
MaterialExpressionEditorY=460
MaterialExpressionGuid=5D80088A95548701EC9A894ACA76EB87
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.M_FabricSheen'"
End Object
MaterialExpressionComment="/Script/Engine.MaterialExpressionComment'MaterialExpressionComment_C11'"
CommentColor=(R=0.104616,G=0.327778,B=0.665387,A=1.000000)
NodePosX=-2600
NodePosY=460
NodeWidth=560
NodeHeight=940
NodeComment="03 Weave"
NodeGuid=BFDA3F26ECC0541424298AD0D5A3CB7B
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_12"
Begin Object Class=/Script/Engine.MaterialExpressionScalarParameter Name="MaterialExpressionScalarParameter_12"
End Object
Begin Object Name="MaterialExpressionScalarParameter_12"
ParameterName="WeaveScale"
DefaultValue=48
SliderMin=2
SliderMax=300
Group="03 Weave"
Desc="Density of the woven thread grid in UV space (threads per UV tile). Higher = finer, tighter weave (fine cotton); lower = chunky, visible threads (burlap, coarse upholstery). Scale this to your mesh's UVs."
MaterialExpressionEditorX=-2560
MaterialExpressionEditorY=560
MaterialExpressionGuid=7AD1E1A27D88CF1AD331FFDC65FAAA59
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.M_FabricSheen'"
End Object
MaterialExpression="/Script/Engine.MaterialExpressionScalarParameter'MaterialExpressionScalarParameter_12'"
NodePosX=-2560
NodePosY=560
NodeGuid=1EA1B788303ACF99CD0E5CA36F130B23
CustomProperties Pin (PinId=108B6E688B29C24AA2C6C1FD9793EBE4,PinName="Output",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_Custom_22 DB88FFC3DAFAFC0946E6EC4AFA147062,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_13"
Begin Object Class=/Script/Engine.MaterialExpressionScalarParameter Name="MaterialExpressionScalarParameter_13"
End Object
Begin Object Name="MaterialExpressionScalarParameter_13"
ParameterName="WeaveDepth"
DefaultValue=0.6
SliderMin=0
SliderMax=1
Group="03 Weave"
Desc="Relief depth of the over/under weave in the normal. 0 = smooth (sheen-only fabric); higher = pronounced rounded thread bumps catching the light. Drives the strength of the procedural weave normal."
MaterialExpressionEditorX=-2560
MaterialExpressionEditorY=740
MaterialExpressionGuid=4D27E6EF90D5B0B1B66E722600832D1B
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.M_FabricSheen'"
End Object
MaterialExpression="/Script/Engine.MaterialExpressionScalarParameter'MaterialExpressionScalarParameter_13'"
NodePosX=-2560
NodePosY=740
NodeGuid=662689FD8A4CE12BD763BD6082E91B16
CustomProperties Pin (PinId=E895D1BE9C32ED26B4503627B8FB9003,PinName="Output",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_25 150577D64D3B1D47FCE939ED8EFDA5C1,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_14"
Begin Object Class=/Script/Engine.MaterialExpressionScalarParameter Name="MaterialExpressionScalarParameter_14"
End Object
Begin Object Name="MaterialExpressionScalarParameter_14"
ParameterName="ThreadContrast"
DefaultValue=1.2
SliderMin=0.2
SliderMax=4
Group="03 Weave"
Desc="Crispness of the thread rounding. Higher = harder-edged, more defined threads; lower = soft, blurry weave. Shapes the over/under profile before it becomes shadow + normal."
MaterialExpressionEditorX=-2560
MaterialExpressionEditorY=920
MaterialExpressionGuid=57D18D8125CEA94C5BE4F46FE014D9CB
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.M_FabricSheen'"
End Object
MaterialExpression="/Script/Engine.MaterialExpressionScalarParameter'MaterialExpressionScalarParameter_14'"
NodePosX=-2560
NodePosY=920
NodeGuid=670BBE8DACD8E462F71C30F27E3B839E
CustomProperties Pin (PinId=D8235054DF162960E5760C2EC07C36D9,PinName="Output",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_Custom_22 658906FAF756A0932F77BBEFB737B216,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_15"
Begin Object Class=/Script/Engine.MaterialExpressionScalarParameter Name="MaterialExpressionScalarParameter_15"
End Object
Begin Object Name="MaterialExpressionScalarParameter_15"
ParameterName="FibreScale"
DefaultValue=6
SliderMin=1
SliderMax=30
Group="03 Weave"
Desc="Multiplier on the fine fibre-fuzz noise frequency relative to the weave (the soft hairy texture between threads). Higher = finer fuzz grain. Adds tooth so velvet doesn't read as a clean grid."
MaterialExpressionEditorX=-2560
MaterialExpressionEditorY=1100
MaterialExpressionGuid=CAE3E38F6062746A095FBEE345BA5BF3
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.M_FabricSheen'"
End Object
MaterialExpression="/Script/Engine.MaterialExpressionScalarParameter'MaterialExpressionScalarParameter_15'"
NodePosX=-2560
NodePosY=1100
NodeGuid=C8E838968D8C8FC3BCB9FE29FAA64972
CustomProperties Pin (PinId=9F7735497595F2F971A7876268251784,PinName="Output",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_Custom_22 DC4735DD52749B0D7EA17C77FBB2C59C,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_16"
Begin Object Class=/Script/Engine.MaterialExpressionScalarParameter Name="MaterialExpressionScalarParameter_16"
End Object
Begin Object Name="MaterialExpressionScalarParameter_16"
ParameterName="FibreAmount"
DefaultValue=0.4
SliderMin=0
SliderMax=1
Group="03 Weave"
Desc="Strength of the fine fibre-fuzz layer folded into the weave relief and roughness. 0 = clean threads only; higher = soft hairy micro-surface. Keep moderate or it gets noisy."
MaterialExpressionEditorX=-2560
MaterialExpressionEditorY=1280
MaterialExpressionGuid=D99D14F2A5FA260064A52395B9C3C94C
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.M_FabricSheen'"
End Object
MaterialExpression="/Script/Engine.MaterialExpressionScalarParameter'MaterialExpressionScalarParameter_16'"
NodePosX=-2560
NodePosY=1280
NodeGuid=2224AAF53718F78FB6EA36BD14AECA56
CustomProperties Pin (PinId=B613DDCBD5371B99CF6C213E49E2CEC7,PinName="Output",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_Custom_22 531C15383AA4EA7DB8E293904D2DAFF1,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode_Comment Name="MaterialGraphNode_Comment_17"
Begin Object Class=/Script/Engine.MaterialExpressionComment Name="MaterialExpressionComment_C17"
End Object
Begin Object Name="MaterialExpressionComment_C17"
SizeX=560
SizeY=420
Text="04 Optional Weave Texture"
CommentColor=(R=0.104616,G=0.327778,B=0.665387,A=1.000000)
MaterialExpressionEditorX=-2600
MaterialExpressionEditorY=1460
MaterialExpressionGuid=667014FB7B6164CFDBD1B0A6B02BDA11
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.M_FabricSheen'"
End Object
MaterialExpressionComment="/Script/Engine.MaterialExpressionComment'MaterialExpressionComment_C17'"
CommentColor=(R=0.104616,G=0.327778,B=0.665387,A=1.000000)
NodePosX=-2600
NodePosY=1460
NodeWidth=560
NodeHeight=420
NodeComment="04 Optional Weave Texture"
NodeGuid=1D2B16FDC782494E1CC1AAB59566D2F7
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_18"
Begin Object Class=/Script/Engine.MaterialExpressionScalarParameter Name="MaterialExpressionScalarParameter_18"
End Object
Begin Object Name="MaterialExpressionScalarParameter_18"
ParameterName="WeaveTexTiling"
DefaultValue=8
SliderMin=0.1
SliderMax=60
Group="04 Optional Weave Texture"
Desc="UV tiling for the optional bring-your-own weave map (only used when UseWeaveTexture is on). The procedural weave uses WeaveScale instead."
MaterialExpressionEditorX=-2560
MaterialExpressionEditorY=1560
MaterialExpressionGuid=791DE5F8AC2D56A1E621AA8487887A86
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.M_FabricSheen'"
End Object
MaterialExpression="/Script/Engine.MaterialExpressionScalarParameter'MaterialExpressionScalarParameter_18'"
NodePosX=-2560
NodePosY=1560
NodeGuid=6DD3C86CE1265354026541BE72580695
CustomProperties Pin (PinId=891E70DF132E5188430EED30768FA595,PinName="Output",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_21 5346F270E9E429A87E0C234DDAF07F60,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_19"
Begin Object Class=/Script/Engine.MaterialExpressionTextureSampleParameter2D Name="MaterialExpressionTextureSampleParameter2D_19"
End Object
Begin Object Name="MaterialExpressionTextureSampleParameter2D_19"
ParameterName="WeaveTexture"
Group="04 Optional Weave Texture"
Texture=Texture2D'/Engine/EngineResources/WhiteSquareTexture.WhiteSquareTexture'
SamplerType=SAMPLERTYPE_Grayscale
Desc="Optional grayscale woven-cloth map (R channel: bright = thread crown, dark = gap). Replaces the procedural weave modulation when UseWeaveTexture is on. Neutral white default = no effect until you assign a real map and enable the switch."
Coordinates=(Expression="/Script/Engine.MaterialExpressionMultiply'MaterialGraphNode_21.MaterialExpressionMultiply_21'")
MaterialExpressionEditorX=-2560
MaterialExpressionEditorY=1700
MaterialExpressionGuid=D7D1834E6B00A62FF93D8E132BC6305F
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.M_FabricSheen'"
End Object
MaterialExpression="/Script/Engine.MaterialExpressionTextureSampleParameter2D'MaterialExpressionTextureSampleParameter2D_19'"
NodePosX=-2560
NodePosY=1700
NodeGuid=8734D4DD163CBE723575918FA84F9B87
CustomProperties Pin (PinId=EB63803741F4D2D9A8ACF72D00F6EF30,PinName="UVs",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_21 D05B409F550787839D71736A5F981306,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=B7A32F75AAAF5E36123D363DB6E20ED8,PinName="ApplyViewMipBias",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=59F1D2408035DD36235CA506FB0E39FD,PinName="RGB",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=3A52615AD2BD2E2E7AC7FE27B3B215F8,PinName="R",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_23 6662579B0BAEB0DFE9D7BF845CC116E4,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=C71FC5912A33F7689C8CA74D17B00321,PinName="G",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=7FEF4663D343CFF60DA5233A3738E3B7,PinName="B",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=128A9AE8AC4BF050A850E9A54C7D453E,PinName="A",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=0C05B0B5A815469877D369D8AF33C9AA,PinName="RGBA",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_20"
Begin Object Class=/Script/Engine.MaterialExpressionTextureCoordinate Name="MaterialExpressionTextureCoordinate_20"
End Object
Begin Object Name="MaterialExpressionTextureCoordinate_20"
CoordinateIndex=0
MaterialExpressionEditorX=-1980
MaterialExpressionEditorY=700
MaterialExpressionGuid=9811FB3CC0D58B6A71F1B05E5C9D217F
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.M_FabricSheen'"
End Object
MaterialExpression="/Script/Engine.MaterialExpressionTextureCoordinate'MaterialExpressionTextureCoordinate_20'"
NodePosX=-1980
NodePosY=700
NodeGuid=024E443161A24F32032AA1CCC2A224E9
CustomProperties Pin (PinId=E7AB898903CD3833FB8819FBAD114FDE,PinName="Output",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_Custom_22 B916648632721CA7E10859355E84AD99,MaterialGraphNode_21 D0AEAEBDD3AEDF9E47A550BDC37275D4,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_21"
Begin Object Class=/Script/Engine.MaterialExpressionMultiply Name="MaterialExpressionMultiply_21"
End Object
Begin Object Name="MaterialExpressionMultiply_21"
A=(Expression="/Script/Engine.MaterialExpressionTextureCoordinate'MaterialGraphNode_20.MaterialExpressionTextureCoordinate_20'")
B=(Expression="/Script/Engine.MaterialExpressionScalarParameter'MaterialGraphNode_18.MaterialExpressionScalarParameter_18'")
MaterialExpressionEditorX=-1820
MaterialExpressionEditorY=1620
MaterialExpressionGuid=E7C705DC1C4875191A5FEAC838038BDC
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.M_FabricSheen'"
End Object
MaterialExpression="/Script/Engine.MaterialExpressionMultiply'MaterialExpressionMultiply_21'"
NodePosX=-1820
NodePosY=1620
NodeGuid=90FBF94D4E057F742375FBFCD4D53F75
CustomProperties Pin (PinId=D0AEAEBDD3AEDF9E47A550BDC37275D4,PinName="A",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_20 E7AB898903CD3833FB8819FBAD114FDE,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=5346F270E9E429A87E0C234DDAF07F60,PinName="B",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_18 891E70DF132E5188430EED30768FA595,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=D05B409F550787839D71736A5F981306,PinName="Output",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_19 EB63803741F4D2D9A8ACF72D00F6EF30,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode_Custom Name="MaterialGraphNode_Custom_22"
Begin Object Class=/Script/Engine.MaterialExpressionCustom Name="MaterialExpressionCustom_22"
End Object
Begin Object Name="MaterialExpressionCustom_22"
Code="// Weave Engine - procedural woven cloth: over/under warp+weft height + fine fibre fuzz.\r\n// Returns thread-crown height (0..1, 1 = on top of a thread), a 2-component slope for\r\n// DeriveNormalZ, and a roughness break value. No Time = TSR-safe. Macros only (UE5 Custom\r\n// blocks forbid nested function defs).\r\n#define FS_H2(p) frac(sin(dot((p), float2(127.1, 311.7))) * 43758.5453)\r\n#define FS_VN(OUT, P) { float2 _i = floor(P); float2 _f = frac(P); _f = _f*_f*(3.0 - 2.0*_f); \\\r\n float _a = FS_H2(_i); float _b = FS_H2(_i + float2(1,0)); \\\r\n float _c = FS_H2(_i + float2(0,1)); float _d = FS_H2(_i + float2(1,1)); \\\r\n OUT = lerp(lerp(_a,_b,_f.x), lerp(_c,_d,_f.x), _f.y); }\r\n// Woven height at a UV: warp threads run along U, weft along V, alternating over/under per\r\n// cell so the crown switches axis like a real plain weave. cos() gives the rounded thread\r\n// bump; ThreadContrast sharpens the rounding; a half-cell checker picks which yarn is on top.\r\n#define FS_WEAVE(OUT, UVv, SCv, CNv) { float2 _g = (UVv) * (SCv); float2 _c = floor(_g); \\\r\n float2 _t = frac(_g) * 6.2831853; \\\r\n float _warp = cos(_t.x) * 0.5 + 0.5; float _weft = cos(_t.y) * 0.5 + 0.5; \\\r\n float _chk = fmod(_c.x + _c.y, 2.0); \\\r\n float _h = lerp(_weft, _warp, _chk); \\\r\n OUT = pow(saturate(_h), max(CNv, 0.05)); }\r\n\r\nfloat2 uv = UV;\r\nfloat sc = max(WeaveScale, 0.5);\r\n\r\n// Weave crown height + fine fibre fuzz folded in.\r\nfloat w; FS_WEAVE(w, uv, sc, ThreadContrast);\r\nfloat fb; FS_VN(fb, uv * sc * max(FibreScale, 0.5));\r\nfloat h = saturate(w + (fb - 0.5) * FibreAmount * 0.5);\r\n\r\n// Tangent slope by finite difference of the same field -> DeriveNormalZ outside.\r\nfloat e = 0.0016;\r\nfloat hx0; FS_WEAVE(hx0, uv + float2(e,0), sc, ThreadContrast);\r\nfloat hy0; FS_WEAVE(hy0, uv + float2(0,e), sc, ThreadContrast);\r\nfloat fbx; FS_VN(fbx, (uv + float2(e,0)) * sc * max(FibreScale, 0.5));\r\nfloat fby; FS_VN(fby, (uv + float2(0,e)) * sc * max(FibreScale, 0.5));\r\nfloat hx = saturate(hx0 + (fbx - 0.5) * FibreAmount * 0.5);\r\nfloat hy = saturate(hy0 + (fby - 0.5) * FibreAmount * 0.5);\r\nWeaveGrad = float2(hx - h, hy - h);\r\n\r\n// Roughness break: thread crowns read very slightly smoother than the shadowed gaps.\r\nRoughBreak = (h - 0.5);\r\n\r\nreturn h;\r\n"
OutputType=CMOT_Float1
Description="Weave Engine"
ShowCode=True
bShowOutputNameOnPin=True
Inputs(0)=(InputName="UV",Input=(Expression="/Script/Engine.MaterialExpressionTextureCoordinate'MaterialGraphNode_20.MaterialExpressionTextureCoordinate_20'"))
Inputs(1)=(InputName="WeaveScale",Input=(Expression="/Script/Engine.MaterialExpressionScalarParameter'MaterialGraphNode_12.MaterialExpressionScalarParameter_12'"))
Inputs(2)=(InputName="ThreadContrast",Input=(Expression="/Script/Engine.MaterialExpressionScalarParameter'MaterialGraphNode_14.MaterialExpressionScalarParameter_14'"))
Inputs(3)=(InputName="FibreScale",Input=(Expression="/Script/Engine.MaterialExpressionScalarParameter'MaterialGraphNode_15.MaterialExpressionScalarParameter_15'"))
Inputs(4)=(InputName="FibreAmount",Input=(Expression="/Script/Engine.MaterialExpressionScalarParameter'MaterialGraphNode_16.MaterialExpressionScalarParameter_16'"))
AdditionalOutputs(0)=(OutputName="WeaveGrad",OutputType=CMOT_Float2)
AdditionalOutputs(1)=(OutputName="RoughBreak",OutputType=CMOT_Float1)
Desc="Procedural plain-weave: over/under warp+weft rounded threads (alternating per cell) plus a fine fibre-fuzz noise. Outputs thread-crown height (diffuse shadow), a 2-component slope (-> DeriveNormalZ for the Slab normal) and a roughness break. No textures, no Time -> TSR-safe. Macros only."
MaterialExpressionEditorX=-1600
MaterialExpressionEditorY=760
MaterialExpressionGuid=788D9F657236144BFC6084E4A28132E4
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.M_FabricSheen'"
End Object
MaterialExpression="/Script/Engine.MaterialExpressionCustom'MaterialExpressionCustom_22'"
NodePosX=-1600
NodePosY=760
NodeGuid=AFDBE75FE3A723B0229DB9B8A0C3CF7D
CustomProperties Pin (PinId=B916648632721CA7E10859355E84AD99,PinName="UV",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_20 E7AB898903CD3833FB8819FBAD114FDE,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=DB88FFC3DAFAFC0946E6EC4AFA147062,PinName="WeaveScale",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_12 108B6E688B29C24AA2C6C1FD9793EBE4,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=658906FAF756A0932F77BBEFB737B216,PinName="ThreadContrast",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_14 D8235054DF162960E5760C2EC07C36D9,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=DC4735DD52749B0D7EA17C77FBB2C59C,PinName="FibreScale",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_15 9F7735497595F2F971A7876268251784,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=531C15383AA4EA7DB8E293904D2DAFF1,PinName="FibreAmount",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_16 B613DDCBD5371B99CF6C213E49E2CEC7,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=FE32A35944365C3311DBB8EFA67DA75B,PinName="Output",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_23 CBF94B312C321BADEF1E0A5CE455AA94,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=F56FDA4634B44472104761B6BD675B3C,PinName="WeaveGrad",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_25 1108FE6FDD41E652C610D1E0CFB50F10,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=E82E2F54F721CD8165AA97D140015F0A,PinName="RoughBreak",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_35 A173A536D9E8559C4925B751D7851EC2,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_23"
Begin Object Class=/Script/Engine.MaterialExpressionStaticSwitchParameter Name="MaterialExpressionStaticSwitchParameter_23"
End Object
Begin Object Name="MaterialExpressionStaticSwitchParameter_23"
ParameterName="UseWeaveTexture"
DefaultValue=False
Group="04 Optional Weave Texture"
Desc="Use a bring-your-own grayscale weave map for the thread height instead of the procedural weave. Off by default = procedural. Assign a real woven-cloth map to the WeaveTexture slot before turning this on; both branches are wired so the switch is safe either way."
A=(Expression="/Script/Engine.MaterialExpressionTextureSampleParameter2D'MaterialGraphNode_19.MaterialExpressionTextureSampleParameter2D_19'",OutputIndex=1)
B=(Expression="/Script/Engine.MaterialExpressionCustom'MaterialGraphNode_Custom_22.MaterialExpressionCustom_22'")
MaterialExpressionEditorX=-960
MaterialExpressionEditorY=1040
MaterialExpressionGuid=DC7D4BDE31BE61CCD5A5640A0142B6D7
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.M_FabricSheen'"
End Object
MaterialExpression="/Script/Engine.MaterialExpressionStaticSwitchParameter'MaterialExpressionStaticSwitchParameter_23'"
NodePosX=-960
NodePosY=1040
NodeGuid=95CA4A32784175CC62578FE76912DDC0
CustomProperties Pin (PinId=6662579B0BAEB0DFE9D7BF845CC116E4,PinName="True",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_19 3A52615AD2BD2E2E7AC7FE27B3B215F8,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=CBF94B312C321BADEF1E0A5CE455AA94,PinName="False",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_Custom_22 FE32A35944365C3311DBB8EFA67DA75B,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=2076BF739E8103E0B72FCC715841C56C,PinName="Output",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_32 4E777044586EA8C0C8B9E0C7A50D6E3B,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_24"
Begin Object Class=/Script/Engine.MaterialExpressionDeriveNormalZ Name="MaterialExpressionDeriveNormalZ_24"
End Object
Begin Object Name="MaterialExpressionDeriveNormalZ_24"
InXY=(Expression="/Script/Engine.MaterialExpressionMultiply'MaterialGraphNode_25.MaterialExpressionMultiply_25'")
MaterialExpressionEditorX=-740
MaterialExpressionEditorY=940
MaterialExpressionGuid=A87E0FA9C4BE6A385B543AFD935C513C
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.M_FabricSheen'"
End Object
MaterialExpression="/Script/Engine.MaterialExpressionDeriveNormalZ'MaterialExpressionDeriveNormalZ_24'"
NodePosX=-740
NodePosY=940
NodeGuid=48B6AA1DAED0FAB6AB0D3527017DCCDD
CustomProperties Pin (PinId=D4074CBA1964D51C9D7337ABAEBB1E70,PinName="InXY",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_25 66A6E04326D3ABA473AF77DC0E65D91A,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=47F32F77412F52FF15B31C64053BDFC6,PinName="Output",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_40 B272438401294FE6BF08BE409CDED3E4,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_25"
Begin Object Class=/Script/Engine.MaterialExpressionMultiply Name="MaterialExpressionMultiply_25"
End Object
Begin Object Name="MaterialExpressionMultiply_25"
A=(Expression="/Script/Engine.MaterialExpressionCustom'MaterialGraphNode_Custom_22.MaterialExpressionCustom_22'",OutputIndex=1)
B=(Expression="/Script/Engine.MaterialExpressionScalarParameter'MaterialGraphNode_13.MaterialExpressionScalarParameter_13'")
MaterialExpressionEditorX=-980
MaterialExpressionEditorY=880
MaterialExpressionGuid=8B43D09E3BD83E51506583CA32843E03
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.M_FabricSheen'"
End Object
MaterialExpression="/Script/Engine.MaterialExpressionMultiply'MaterialExpressionMultiply_25'"
NodePosX=-980
NodePosY=880
NodeGuid=B02B6963B163FD4CF7EBC059CD485300
CustomProperties Pin (PinId=1108FE6FDD41E652C610D1E0CFB50F10,PinName="A",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_Custom_22 F56FDA4634B44472104761B6BD675B3C,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=150577D64D3B1D47FCE939ED8EFDA5C1,PinName="B",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_13 E895D1BE9C32ED26B4503627B8FB9003,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=66A6E04326D3ABA473AF77DC0E65D91A,PinName="Output",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_24 D4074CBA1964D51C9D7337ABAEBB1E70,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_26"
Begin Object Class=/Script/Engine.MaterialExpressionVertexNormalWS Name="MaterialExpressionVertexNormalWS_26"
End Object
Begin Object Name="MaterialExpressionVertexNormalWS_26"
MaterialExpressionEditorX=-1980
MaterialExpressionEditorY=-120
MaterialExpressionGuid=D220C66F576159BE9E19AB02A93702A5
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.M_FabricSheen'"
End Object
MaterialExpression="/Script/Engine.MaterialExpressionVertexNormalWS'MaterialExpressionVertexNormalWS_26'"
NodePosX=-1980
NodePosY=-120
NodeGuid=3E3F9B18699FD922C6DD6F231EED1375
CustomProperties Pin (PinId=24A1ED19C88ED67B75F4D2B29C4F2A96,PinName="Output",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_27 3632D7D64833DD7437F061D4B13559E1,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_27"
Begin Object Class=/Script/Engine.MaterialExpressionFresnel Name="MaterialExpressionFresnel_27"
End Object
Begin Object Name="MaterialExpressionFresnel_27"
ExponentIn=(Expression="/Script/Engine.MaterialExpressionScalarParameter'MaterialGraphNode_9.MaterialExpressionScalarParameter_9'")
Normal=(Expression="/Script/Engine.MaterialExpressionVertexNormalWS'MaterialGraphNode_26.MaterialExpressionVertexNormalWS_26'")
MaterialExpressionEditorX=-1700
MaterialExpressionEditorY=-160
MaterialExpressionGuid=47DED7729987253A3BAD54FF99407C28
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.M_FabricSheen'"
End Object
MaterialExpression="/Script/Engine.MaterialExpressionFresnel'MaterialExpressionFresnel_27'"
NodePosX=-1700
NodePosY=-160
NodeGuid=D4A6418DFCDDBC235536AD4BCBD037BE
CustomProperties Pin (PinId=1506EE8ED0F976ACD79D62EBD19C849F,PinName="ExponentIn",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_9 A955CAE3B9B49F6173165D14BB670DFE,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=8FA861D2ACCDFA1D55DA81417A6919CB,PinName="BaseReflectFractionIn",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=3632D7D64833DD7437F061D4B13559E1,PinName="Normal",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_26 24A1ED19C88ED67B75F4D2B29C4F2A96,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=B67F1EA12D6B926383723460CBB306AB,PinName="Output",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_28 95BEE2C2ED80828D504DDDFFDC30CBC5,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_28"
Begin Object Class=/Script/Engine.MaterialExpressionMultiply Name="MaterialExpressionMultiply_28"
End Object
Begin Object Name="MaterialExpressionMultiply_28"
A=(Expression="/Script/Engine.MaterialExpressionFresnel'MaterialGraphNode_27.MaterialExpressionFresnel_27'")
B=(Expression="/Script/Engine.MaterialExpressionScalarParameter'MaterialGraphNode_7.MaterialExpressionScalarParameter_7'")
MaterialExpressionEditorX=-1380
MaterialExpressionEditorY=-60
MaterialExpressionGuid=A9282D06BE36AD090471DD103DA357CE
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.M_FabricSheen'"
End Object
MaterialExpression="/Script/Engine.MaterialExpressionMultiply'MaterialExpressionMultiply_28'"
NodePosX=-1380
NodePosY=-60
NodeGuid=1AA89A14F3422C22E4A1252BED431040
CustomProperties Pin (PinId=95BEE2C2ED80828D504DDDFFDC30CBC5,PinName="A",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_27 B67F1EA12D6B926383723460CBB306AB,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=028742BDBBEA7C12A17BA1983DE42973,PinName="B",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_7 D19CC40C5BD61C246306E5F652874EBA,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=D229267D2B25C3E9A91A3DDC2CCFF742,PinName="Output",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_29 48FD3A83DA93E20C9D4A45893346F1FC,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_29"
Begin Object Class=/Script/Engine.MaterialExpressionAdd Name="MaterialExpressionAdd_29"
End Object
Begin Object Name="MaterialExpressionAdd_29"
A=(Expression="/Script/Engine.MaterialExpressionMultiply'MaterialGraphNode_28.MaterialExpressionMultiply_28'")
B=(Expression="/Script/Engine.MaterialExpressionScalarParameter'MaterialGraphNode_10.MaterialExpressionScalarParameter_10'")
MaterialExpressionEditorX=-1200
MaterialExpressionEditorY=-160
MaterialExpressionGuid=585B2D431B1A53276FD39545D73EF40F
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.M_FabricSheen'"
End Object
MaterialExpression="/Script/Engine.MaterialExpressionAdd'MaterialExpressionAdd_29'"
NodePosX=-1200
NodePosY=-160
NodeGuid=82170D352772CE7F505A505EAB88B449
CustomProperties Pin (PinId=48FD3A83DA93E20C9D4A45893346F1FC,PinName="A",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_28 D229267D2B25C3E9A91A3DDC2CCFF742,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=603835D35E805CF381D5D61D6751659F,PinName="B",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_10 62434E646CB54F56B0E85540D3CCC5C4,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=53A4C283A215C0F38BC649A567F44CEF,PinName="Output",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_30 F8C977947260BEA66B3CC012F9889265,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_30"
Begin Object Class=/Script/Engine.MaterialExpressionSaturate Name="MaterialExpressionSaturate_30"
End Object
Begin Object Name="MaterialExpressionSaturate_30"
Input=(Expression="/Script/Engine.MaterialExpressionAdd'MaterialGraphNode_29.MaterialExpressionAdd_29'")
MaterialExpressionEditorX=-1020
MaterialExpressionEditorY=-160
MaterialExpressionGuid=D8876D510A6B794F0E33A2F6FC80A5A1
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.M_FabricSheen'"
End Object
MaterialExpression="/Script/Engine.MaterialExpressionSaturate'MaterialExpressionSaturate_30'"
NodePosX=-1020
NodePosY=-160
NodeGuid=62C0F2408D2F28590B8092E3656E0C6F
CustomProperties Pin (PinId=F8C977947260BEA66B3CC012F9889265,PinName="Input",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_29 53A4C283A215C0F38BC649A567F44CEF,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=50BAC946C09BD795D90489805734BECB,PinName="Output",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_31 74ED5291C25506A418B1A66D2958C1A5,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_31"
Begin Object Class=/Script/Engine.MaterialExpressionMultiply Name="MaterialExpressionMultiply_31"
End Object
Begin Object Name="MaterialExpressionMultiply_31"
A=(Expression="/Script/Engine.MaterialExpressionSaturate'MaterialGraphNode_30.MaterialExpressionSaturate_30'")
B=(Expression="/Script/Engine.MaterialExpressionScalarParameter'MaterialGraphNode_7.MaterialExpressionScalarParameter_7'")
MaterialExpressionEditorX=-840
MaterialExpressionEditorY=-160
MaterialExpressionGuid=5C37C28A4791D3422E9AE35EF9F268D5
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.M_FabricSheen'"
End Object
MaterialExpression="/Script/Engine.MaterialExpressionMultiply'MaterialExpressionMultiply_31'"
NodePosX=-840
NodePosY=-160
NodeGuid=3C1EA5EEEAD78579BE7D663CA521F993
CustomProperties Pin (PinId=74ED5291C25506A418B1A66D2958C1A5,PinName="A",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_30 50BAC946C09BD795D90489805734BECB,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=D954633BD86B1CD86E37B1765B1AE81E,PinName="B",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_7 D19CC40C5BD61C246306E5F652874EBA,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=F1DE7D53A332013094F66FE9EA753AE8,PinName="Output",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_40 929A354F55095ABA0CAB613E193B8776,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_32"
Begin Object Class=/Script/Engine.MaterialExpressionMultiply Name="MaterialExpressionMultiply_32"
End Object
Begin Object Name="MaterialExpressionMultiply_32"
A=(Expression="/Script/Engine.MaterialExpressionStaticSwitchParameter'MaterialGraphNode_23.MaterialExpressionStaticSwitchParameter_23'")
B=(Expression="/Script/Engine.MaterialExpressionScalarParameter'MaterialGraphNode_4.MaterialExpressionScalarParameter_4'")
MaterialExpressionEditorX=-1180
MaterialExpressionEditorY=-560
MaterialExpressionGuid=A049EA35282819BE6A30DCDD46BA1AA8
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.M_FabricSheen'"
End Object
MaterialExpression="/Script/Engine.MaterialExpressionMultiply'MaterialExpressionMultiply_32'"
NodePosX=-1180
NodePosY=-560
NodeGuid=8FA5401FD38FF1A47EF704450A609ADB
CustomProperties Pin (PinId=4E777044586EA8C0C8B9E0C7A50D6E3B,PinName="A",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_23 2076BF739E8103E0B72FCC715841C56C,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=2D8BF862A954378B8E8C0D4983A611BC,PinName="B",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_4 2D2D98C59D08A107242A14C62A6088DE,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=C595A2C95DF48F90F918A939CDC272EF,PinName="Output",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_33 C4893C65DE4D4364D5BB519CEAFC9F7B,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_33"
Begin Object Class=/Script/Engine.MaterialExpressionOneMinus Name="MaterialExpressionOneMinus_33"
End Object
Begin Object Name="MaterialExpressionOneMinus_33"
Input=(Expression="/Script/Engine.MaterialExpressionMultiply'MaterialGraphNode_32.MaterialExpressionMultiply_32'")
MaterialExpressionEditorX=-1000
MaterialExpressionEditorY=-560
MaterialExpressionGuid=2F70F1EC4EBF2882F0506390747C0FF4
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.M_FabricSheen'"
End Object
MaterialExpression="/Script/Engine.MaterialExpressionOneMinus'MaterialExpressionOneMinus_33'"
NodePosX=-1000
NodePosY=-560
NodeGuid=B309BF3F2389EC685D37699F0785BAB7
CustomProperties Pin (PinId=C4893C65DE4D4364D5BB519CEAFC9F7B,PinName="Input",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_32 C595A2C95DF48F90F918A939CDC272EF,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=1A9C07A44A6E1D494EECD7035172E708,PinName="Output",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_34 5244240E4F4B3474A3FFB3EBB6C7736A,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_34"
Begin Object Class=/Script/Engine.MaterialExpressionMultiply Name="MaterialExpressionMultiply_34"
End Object
Begin Object Name="MaterialExpressionMultiply_34"
A=(Expression="/Script/Engine.MaterialExpressionVectorParameter'MaterialGraphNode_1.MaterialExpressionVectorParameter_1'")
B=(Expression="/Script/Engine.MaterialExpressionOneMinus'MaterialGraphNode_33.MaterialExpressionOneMinus_33'")
MaterialExpressionEditorX=-820
MaterialExpressionEditorY=-640
MaterialExpressionGuid=9D726F1FF553763EA10D3D8675CC9BBB
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.M_FabricSheen'"
End Object
MaterialExpression="/Script/Engine.MaterialExpressionMultiply'MaterialExpressionMultiply_34'"
NodePosX=-820
NodePosY=-640
NodeGuid=110395461C03D2658E3190C6972922F7
CustomProperties Pin (PinId=13425378BEDAF83BA593FB86A1043FA2,PinName="A",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_1 B3BEA1E7B2764849AE3A50DC8B94DEBF,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=5244240E4F4B3474A3FFB3EBB6C7736A,PinName="B",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_33 1A9C07A44A6E1D494EECD7035172E708,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=05D9DFFB336EB04B6526D6AD16793846,PinName="Output",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_40 321A4B5BF090B1E84037E10E9FE62B98,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_35"
Begin Object Class=/Script/Engine.MaterialExpressionMultiply Name="MaterialExpressionMultiply_35"
End Object
Begin Object Name="MaterialExpressionMultiply_35"
B=(Expression="/Script/Engine.MaterialExpressionCustom'MaterialGraphNode_Custom_22.MaterialExpressionCustom_22'",OutputIndex=2)
MaterialExpressionEditorX=-1180
MaterialExpressionEditorY=360
MaterialExpressionGuid=49BE22F2638504DFD6CF4B1D789E33FE
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.M_FabricSheen'"
End Object
MaterialExpression="/Script/Engine.MaterialExpressionMultiply'MaterialExpressionMultiply_35'"
NodePosX=-1180
NodePosY=360
NodeGuid=E3A2FB9B2E5E8E4D0DE61BCF725B089C
CustomProperties Pin (PinId=033AB95A44A3E01E4378186C3E261F97,PinName="A",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=A173A536D9E8559C4925B751D7851EC2,PinName="B",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_Custom_22 E82E2F54F721CD8165AA97D140015F0A,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=6ED7362DB9B476F6BD75535601B43A01,PinName="Output",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_36 1A1F439C08B106B2853A7417C6BF279C,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_36"
Begin Object Class=/Script/Engine.MaterialExpressionAdd Name="MaterialExpressionAdd_36"
End Object
Begin Object Name="MaterialExpressionAdd_36"
A=(Expression="/Script/Engine.MaterialExpressionScalarParameter'MaterialGraphNode_2.MaterialExpressionScalarParameter_2'")
B=(Expression="/Script/Engine.MaterialExpressionMultiply'MaterialGraphNode_35.MaterialExpressionMultiply_35'")
MaterialExpressionEditorX=-1000
MaterialExpressionEditorY=300
MaterialExpressionGuid=1BDC4C36F1D6867B1F26919D82F13FB6
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.M_FabricSheen'"
End Object
MaterialExpression="/Script/Engine.MaterialExpressionAdd'MaterialExpressionAdd_36'"
NodePosX=-1000
NodePosY=300
NodeGuid=32A938DB2162F73A25FFEEFAF8A10637
CustomProperties Pin (PinId=59B6D4E6E878C87E06227CD63DA8DBE7,PinName="A",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_2 E27A420EFA76D033F38EF89A07D13BD3,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=1A1F439C08B106B2853A7417C6BF279C,PinName="B",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_35 6ED7362DB9B476F6BD75535601B43A01,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=8B360F545D560A68A5F74BE40E9B0D3A,PinName="Output",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_37 9796419256121078DCAE26CBAD9A99F8,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_37"
Begin Object Class=/Script/Engine.MaterialExpressionClamp Name="MaterialExpressionClamp_37"
End Object
Begin Object Name="MaterialExpressionClamp_37"
MinDefault=0.05
MaxDefault=1
Input=(Expression="/Script/Engine.MaterialExpressionAdd'MaterialGraphNode_36.MaterialExpressionAdd_36'")
MaterialExpressionEditorX=-820
MaterialExpressionEditorY=300
MaterialExpressionGuid=1F7D32BD2C62249C8ED51E229CF70A8D
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.M_FabricSheen'"
End Object
MaterialExpression="/Script/Engine.MaterialExpressionClamp'MaterialExpressionClamp_37'"
NodePosX=-820
NodePosY=300
NodeGuid=6C7B2EFD15FA8EEDCB93E723D0B5207E
CustomProperties Pin (PinId=9796419256121078DCAE26CBAD9A99F8,PinName="Input",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_36 8B360F545D560A68A5F74BE40E9B0D3A,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=AB3B066F51B570C235D19B5DF44D1E49,PinName="Min",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=5AA063DAA704B83D61D0571E90DAA4E9,PinName="Max",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=DF96378A9DF0ADDD88072D5859EC1602,PinName="Output",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_40 22A6C425EADC46652CD1A64141F0C5D8,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_38"
Begin Object Class=/Script/Engine.MaterialExpressionMultiply Name="MaterialExpressionMultiply_38"
End Object
Begin Object Name="MaterialExpressionMultiply_38"
A=(Expression="/Script/Engine.MaterialExpressionScalarParameter'MaterialGraphNode_3.MaterialExpressionScalarParameter_3'")
MaterialExpressionEditorX=-820
MaterialExpressionEditorY=-440
MaterialExpressionGuid=30097815DDD8053C209056BB987F939B
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.M_FabricSheen'"
End Object
MaterialExpression="/Script/Engine.MaterialExpressionMultiply'MaterialExpressionMultiply_38'"
NodePosX=-820
NodePosY=-440
NodeGuid=6CFB12313529F082688BD791EA280074
CustomProperties Pin (PinId=674CD543398CCD1C6B753A992CFA96BB,PinName="A",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_3 BAA6246144A70F74FA246ED05DD99D2E,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=1088553CBD885DA610044A5B02D16B7D,PinName="B",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=12FC5D01B7FF83A9D2E50D2E9EF79D56,PinName="Output",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_40 37947EC7CEE4A478A8ACB36485D6422D,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode_Comment Name="MaterialGraphNode_Comment_39"
Begin Object Class=/Script/Engine.MaterialExpressionComment Name="MaterialExpressionComment_C39"
End Object
Begin Object Name="MaterialExpressionComment_C39"
SizeX=520
SizeY=660
Text="Front Material"
CommentColor=(R=0.033105,G=1.000000,B=0.132868,A=1.000000)
MaterialExpressionEditorX=220
MaterialExpressionEditorY=-560
MaterialExpressionGuid=81276FA24E9F81D43C8C9C86DBAC4FE2
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.M_FabricSheen'"
End Object
MaterialExpressionComment="/Script/Engine.MaterialExpressionComment'MaterialExpressionComment_C39'"
CommentColor=(R=0.033105,G=1.000000,B=0.132868,A=1.000000)
NodePosX=220
NodePosY=-560
NodeWidth=520
NodeHeight=660
NodeComment="Front Material"
NodeGuid=5AA544CD0E7295260271E83CF10B3852
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_40"
Begin Object Class=/Script/Engine.MaterialExpressionSubstrateSlabBSDF Name="MaterialExpressionSubstrateSlabBSDF_40"
End Object
Begin Object Name="MaterialExpressionSubstrateSlabBSDF_40"
SubSurfaceType=MSS_None
DiffuseAlbedo=(Expression="/Script/Engine.MaterialExpressionMultiply'MaterialGraphNode_34.MaterialExpressionMultiply_34'")
F0=(Expression="/Script/Engine.MaterialExpressionMultiply'MaterialGraphNode_38.MaterialExpressionMultiply_38'")
Roughness=(Expression="/Script/Engine.MaterialExpressionClamp'MaterialGraphNode_37.MaterialExpressionClamp_37'")
Normal=(Expression="/Script/Engine.MaterialExpressionDeriveNormalZ'MaterialGraphNode_24.MaterialExpressionDeriveNormalZ_24'")
FuzzRoughness=(Expression="/Script/Engine.MaterialExpressionScalarParameter'MaterialGraphNode_8.MaterialExpressionScalarParameter_8'")
FuzzAmount=(Expression="/Script/Engine.MaterialExpressionMultiply'MaterialGraphNode_31.MaterialExpressionMultiply_31'")
FuzzColor=(Expression="/Script/Engine.MaterialExpressionVectorParameter'MaterialGraphNode_6.MaterialExpressionVectorParameter_6'")
MaterialExpressionEditorX=280
MaterialExpressionEditorY=-440
MaterialExpressionGuid=57AD3DBF8E7F52B94CBCBE460BFED802
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.M_FabricSheen'"
End Object
MaterialExpression="/Script/Engine.MaterialExpressionSubstrateSlabBSDF'MaterialExpressionSubstrateSlabBSDF_40'"
NodePosX=280
NodePosY=-440
NodeGuid=7FF717667441F41D6E34A8023AA2C8A7
CustomProperti
…Source truncated for rendering. Use Copy to grab the full 113 KB.
Nodes: ScalarParameter (x13), Multiply (x8), Comment (x5), Add (x2), VectorParameter (x2), Clamp, Custom, DeriveNormalZ, Fresnel, Material, OneMinus, Saturate, StaticSwitchParameter, SubstrateSlabBSDF, TextureCoordinate, TextureSampleParameter2D, VertexNormalWS
More like this
CC0 1.0: Public Domain
Public domain: use it however you like, no credit required.
Zero dependencies
Pastes and works in any UE 5.3+ project. No textures, no material functions, no MPCs.
Details
- Last update
- 2 hours ago
- Published
- 2 hours ago
- Nodes
- 42



0 comments
Sign in to join the discussion.
No comments yet. Be the first.