
Description
A wet puddle you drop onto any floor.
It's a deferred decal, no geometry. Project it onto streets, concrete, sci-fi panels or industrial metal and it carves a soft, dirty-edged puddle, darkens the ground into a dark reflective pool, smooths the roughness so it mirrors the scene, and lays animated micro- ripples across the water.
Highlights
- Drops onto any existing floor — no mesh, world-aligned, zero textures
- Soft dirty puddle edges + a damp halo that bleeds into the dry ground
- Mirror-smooth reflective water with animated ripples (distance-faded)
Setup
- Material Domain = Deferred Decal, Blend = DBuffer Translucent Color, Normal, roughness.
- Paste the graph, wire the four labelled frames. Base Color, Roughness, Normal, Opacity into the Material node.
- Spawn a Decal Actor, point the arrow down into the floor, scale the box over the wet area.
Preview only · open in editor for full material editing
Want this graph on your blog or forum?
View T3D source (63 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=520
SizeY=620
Text="01 Shape"
CommentColor=(R=0.104616,G=0.327778,B=0.665387,A=1.000000)
MaterialExpressionEditorX=-1280
MaterialExpressionEditorY=-620
MaterialExpressionGuid=C251DCEFFF7B0BBBE89FCD234A77FD1F
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.Pasted_material'"
End Object
MaterialExpressionComment="/Script/Engine.MaterialExpressionComment'MaterialExpressionComment_C0'"
CommentColor=(R=0.104616,G=0.327778,B=0.665387,A=1.000000)
NodePosX=-1280
NodePosY=-620
NodeWidth=520
NodeHeight=620
NodeComment="01 Shape"
NodeGuid=BB91783C423BB21C19DE5172F8A99F36
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode_Comment Name="MaterialGraphNode_Comment_1"
Begin Object Class=/Script/Engine.MaterialExpressionComment Name="MaterialExpressionComment_C1"
End Object
Begin Object Name="MaterialExpressionComment_C1"
SizeX=520
SizeY=220
Text="02 Wetness"
CommentColor=(R=0.104616,G=0.327778,B=0.665387,A=1.000000)
MaterialExpressionEditorX=-1280
MaterialExpressionEditorY=120
MaterialExpressionGuid=0366258C2D6896B9067988E0FD9B80C6
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.Pasted_material'"
End Object
MaterialExpressionComment="/Script/Engine.MaterialExpressionComment'MaterialExpressionComment_C1'"
CommentColor=(R=0.104616,G=0.327778,B=0.665387,A=1.000000)
NodePosX=-1280
NodePosY=120
NodeWidth=520
NodeHeight=220
NodeComment="02 Wetness"
NodeGuid=3C8FE0AA2D6D6EFB312DFD6DEC1F71F9
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode_Comment Name="MaterialGraphNode_Comment_2"
Begin Object Class=/Script/Engine.MaterialExpressionComment Name="MaterialExpressionComment_C2"
End Object
Begin Object Name="MaterialExpressionComment_C2"
SizeX=520
SizeY=620
Text="03 Ripples"
CommentColor=(R=0.104616,G=0.327778,B=0.665387,A=1.000000)
MaterialExpressionEditorX=-1280
MaterialExpressionEditorY=400
MaterialExpressionGuid=315275C0231827ADC244B7EAA983E2DD
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.Pasted_material'"
End Object
MaterialExpressionComment="/Script/Engine.MaterialExpressionComment'MaterialExpressionComment_C2'"
CommentColor=(R=0.104616,G=0.327778,B=0.665387,A=1.000000)
NodePosX=-1280
NodePosY=400
NodeWidth=520
NodeHeight=620
NodeComment="03 Ripples"
NodeGuid=567F3501466845D50CEFDF6A7BE8C1CB
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode_Comment Name="MaterialGraphNode_Comment_3"
Begin Object Class=/Script/Engine.MaterialExpressionComment Name="MaterialExpressionComment_C3"
End Object
Begin Object Name="MaterialExpressionComment_C3"
SizeX=360
SizeY=200
Text="Base Color"
CommentColor=(R=0.033105,G=1.000000,B=0.132868,A=1.000000)
MaterialExpressionEditorX=620
MaterialExpressionEditorY=-560
MaterialExpressionGuid=7BC17A4614C41FCF3B37EAA7CAAD2385
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.Pasted_material'"
End Object
MaterialExpressionComment="/Script/Engine.MaterialExpressionComment'MaterialExpressionComment_C3'"
CommentColor=(R=0.033105,G=1.000000,B=0.132868,A=1.000000)
NodePosX=620
NodePosY=-560
NodeWidth=360
NodeHeight=200
NodeComment="Base Color"
NodeGuid=F8C8CDC6B0F37FCC41FE6C750DF8DD0E
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode_Comment Name="MaterialGraphNode_Comment_4"
Begin Object Class=/Script/Engine.MaterialExpressionComment Name="MaterialExpressionComment_C4"
End Object
Begin Object Name="MaterialExpressionComment_C4"
SizeX=360
SizeY=200
Text="Roughness"
CommentColor=(R=0.033105,G=1.000000,B=0.132868,A=1.000000)
MaterialExpressionEditorX=620
MaterialExpressionEditorY=-320
MaterialExpressionGuid=BC1D7F7F6A309788AFC90047348D851C
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.Pasted_material'"
End Object
MaterialExpressionComment="/Script/Engine.MaterialExpressionComment'MaterialExpressionComment_C4'"
CommentColor=(R=0.033105,G=1.000000,B=0.132868,A=1.000000)
NodePosX=620
NodePosY=-320
NodeWidth=360
NodeHeight=200
NodeComment="Roughness"
NodeGuid=D83A4401622451B2A2DF6B9B639C9330
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=420
SizeY=300
Text="Opacity"
CommentColor=(R=0.033105,G=1.000000,B=0.132868,A=1.000000)
MaterialExpressionEditorX=620
MaterialExpressionEditorY=-80
MaterialExpressionGuid=D88BB70C80F67922CFCD7B8D6B9AF97A
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.Pasted_material'"
End Object
MaterialExpressionComment="/Script/Engine.MaterialExpressionComment'MaterialExpressionComment_C5'"
CommentColor=(R=0.033105,G=1.000000,B=0.132868,A=1.000000)
NodePosX=620
NodePosY=-80
NodeWidth=420
NodeHeight=300
NodeComment="Opacity"
NodeGuid=928263D2E641034CDA1BEE2B47F8D2BD
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode_Comment Name="MaterialGraphNode_Comment_6"
Begin Object Class=/Script/Engine.MaterialExpressionComment Name="MaterialExpressionComment_C6"
End Object
Begin Object Name="MaterialExpressionComment_C6"
SizeX=360
SizeY=180
Text="Normal"
CommentColor=(R=0.033105,G=1.000000,B=0.132868,A=1.000000)
MaterialExpressionEditorX=620
MaterialExpressionEditorY=280
MaterialExpressionGuid=27CDD411716BB1E8A1AE74FE5197809A
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.Pasted_material'"
End Object
MaterialExpressionComment="/Script/Engine.MaterialExpressionComment'MaterialExpressionComment_C6'"
CommentColor=(R=0.033105,G=1.000000,B=0.132868,A=1.000000)
NodePosX=620
NodePosY=280
NodeWidth=360
NodeHeight=180
NodeComment="Normal"
NodeGuid=71CEA8E0EE53DCE537235304CB2735CE
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="Coverage"
DefaultValue=0.5
SliderMin=0
SliderMax=1
Group="01 Shape"
Desc="How much of the decal area becomes puddle. Higher = larger, more connected water; lower = small isolated pools."
MaterialExpressionEditorX=-1240
MaterialExpressionEditorY=-520
MaterialExpressionGuid=C2E53D796ADAC01D2E3456F5108820B5
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.Pasted_material'"
End Object
MaterialExpression="/Script/Engine.MaterialExpressionScalarParameter'MaterialExpressionScalarParameter_7'"
NodePosX=-1240
NodePosY=-520
NodeGuid=A5FDFB74DC61A3B5E15AC25E3C1A99FA
CustomProperties Pin (PinId=6DB08F4191FD85EFA4DFC0389AB0AD86,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_20 C6DE05805A0A19CA0B25C3F69BE8D8AA,),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="EdgeSoftness"
DefaultValue=0.12
SliderMin=0.01
SliderMax=0.5
Group="01 Shape"
Desc="Softness of the water edge. Low = crisp shoreline; high = a gradual damp-to-wet transition."
MaterialExpressionEditorX=-1240
MaterialExpressionEditorY=-360
MaterialExpressionGuid=1F17365C719FB7983B5D2AE64469FF27
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.Pasted_material'"
End Object
MaterialExpression="/Script/Engine.MaterialExpressionScalarParameter'MaterialExpressionScalarParameter_8'"
NodePosX=-1240
NodePosY=-360
NodeGuid=285722C6ECFB8FBC54CA82FBED72AC7D
CustomProperties Pin (PinId=85DDD7C29D48A1CB68451FC077E32694,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_20 C5D7DDB3FF5D0FE8DC6F2296A2EA3ACB,),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="EdgeBreakup"
DefaultValue=0.5
SliderMin=0
SliderMax=1
Group="01 Shape"
Desc="Ragged, dirty break-up of the puddle outline so it never reads as a clean circle. 0 = smooth edge."
MaterialExpressionEditorX=-1240
MaterialExpressionEditorY=-200
MaterialExpressionGuid=18344F0B8C815AB815D30C9616493C66
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.Pasted_material'"
End Object
MaterialExpression="/Script/Engine.MaterialExpressionScalarParameter'MaterialExpressionScalarParameter_9'"
NodePosX=-1240
NodePosY=-200
NodeGuid=3E83A209500F2EBCE62740EF867A4310
CustomProperties Pin (PinId=ED49C82E232EB7CC3F7CFF93BAF57242,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_20 B19939911806B30D99F07AADB0E3FB66,),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="MaskTiling"
DefaultValue=0.3
SliderMin=0.02
SliderMax=2
Group="01 Shape"
Desc="World scale of the puddle-shape noise. Lower = fewer, larger puddles; higher = many small ones. World-aligned, so it stays consistent regardless of decal box size."
MaterialExpressionEditorX=-1240
MaterialExpressionEditorY=-40
MaterialExpressionGuid=18971E31A6F3D35E0729317A34F656B6
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.Pasted_material'"
End Object
MaterialExpression="/Script/Engine.MaterialExpressionScalarParameter'MaterialExpressionScalarParameter_10'"
NodePosX=-1240
NodePosY=-40
NodeGuid=49F6BB02B8688BE2DC5A439FA50DE7BA
CustomProperties Pin (PinId=9698F4D8C6A76817B5E4942DF96A29EE,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_20 2EE7C095CCECA5C25F726D67FBFCFAA0,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_11"
Begin Object Class=/Script/Engine.MaterialExpressionScalarParameter Name="MaterialExpressionScalarParameter_11"
End Object
Begin Object Name="MaterialExpressionScalarParameter_11"
ParameterName="HaloWidth"
DefaultValue=0.2
SliderMin=0
SliderMax=0.6
Group="02 Wetness"
Desc="Width of the damp halo of darkened, partly-wet ground bleeding out past the water edge. 0 = hard cut from wet to dry."
MaterialExpressionEditorX=-1240
MaterialExpressionEditorY=220
MaterialExpressionGuid=16271A84168E270CE1B64CCE240E5EE5
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.Pasted_material'"
End Object
MaterialExpression="/Script/Engine.MaterialExpressionScalarParameter'MaterialExpressionScalarParameter_11'"
NodePosX=-1240
NodePosY=220
NodeGuid=40D87372DEE4037946762600B807A814
CustomProperties Pin (PinId=D77AB90123B6BB6B3F846F9B889548EF,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_20 E97BB19FD8E68C52AFAF41E38C8EC416,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
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="RippleIntensity"
DefaultValue=0.15
SliderMin=0
SliderMax=1
Group="03 Ripples"
Desc="Strength of the animated surface ripples (normal perturbation). Keep low — water is mostly flat. 0 = a perfect still mirror."
MaterialExpressionEditorX=-1240
MaterialExpressionEditorY=500
MaterialExpressionGuid=854C4AF2B2F95C6D6E58A817F6CE3879
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.Pasted_material'"
End Object
MaterialExpression="/Script/Engine.MaterialExpressionScalarParameter'MaterialExpressionScalarParameter_12'"
NodePosX=-1240
NodePosY=500
NodeGuid=41962E0BE26919F6D70CABF977A0026F
CustomProperties Pin (PinId=A4E357202726F1ABBD32A41146C15552,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_20 BE0541B36F121BCB0E1B42B74ED26071,),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="RippleTiling"
DefaultValue=4
SliderMin=0.5
SliderMax=20
Group="03 Ripples"
Desc="World scale of the ripples. Higher = finer, tighter ripples."
MaterialExpressionEditorX=-1240
MaterialExpressionEditorY=660
MaterialExpressionGuid=6BC771083AE7110084EB7EA9D11470CD
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.Pasted_material'"
End Object
MaterialExpression="/Script/Engine.MaterialExpressionScalarParameter'MaterialExpressionScalarParameter_13'"
NodePosX=-1240
NodePosY=660
NodeGuid=134EA8C850A2C3A7AF88A72D5A2A2AB2
CustomProperties Pin (PinId=803AFB01AA39165B2E7AD7DA0CF4D0A5,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_20 C7F3E76C14BC112DBB079599AFBCBB92,),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="RippleSpeed"
DefaultValue=0.05
SliderMin=0
SliderMax=0.5
Group="03 Ripples"
Desc="Ripple drift speed. Slow reads as a calm puddle; faster as light wind or disturbance."
MaterialExpressionEditorX=-1240
MaterialExpressionEditorY=820
MaterialExpressionGuid=21966A70F71C407737DF29DC05AB4A1C
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.Pasted_material'"
End Object
MaterialExpression="/Script/Engine.MaterialExpressionScalarParameter'MaterialExpressionScalarParameter_14'"
NodePosX=-1240
NodePosY=820
NodeGuid=F41F7A7C4D88516F666BF026802100B8
CustomProperties Pin (PinId=19FFBF5929DE650B42D731F54B9D87FB,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_20 5AC13D802ECB4AB841656547A8CEBE4F,),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="RippleFadeDistance"
DefaultValue=4000
SliderMin=200
SliderMax=20000
Group="03 Ripples"
Desc="Camera distance (cm) over which ripples fade to flat, killing specular shimmer/aliasing on far puddles."
MaterialExpressionEditorX=-1240
MaterialExpressionEditorY=980
MaterialExpressionGuid=9A436C39193439FF4FFB40770867B620
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.Pasted_material'"
End Object
MaterialExpression="/Script/Engine.MaterialExpressionScalarParameter'MaterialExpressionScalarParameter_15'"
NodePosX=-1240
NodePosY=980
NodeGuid=A17D9DBAC9629719AC31AD543DF8190F
CustomProperties Pin (PinId=A23C87D8ABB13A399E232312ED5C1D3A,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_20 96E7127DCEE5C8E61D918822C0ABF0C8,),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.MaterialExpressionWorldPosition Name="MaterialExpressionWorldPosition_16"
End Object
Begin Object Name="MaterialExpressionWorldPosition_16"
MaterialExpressionEditorX=-640
MaterialExpressionEditorY=-360
MaterialExpressionGuid=C8E452A52D6B07C16F3A9A4D08E11507
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.Pasted_material'"
End Object
MaterialExpression="/Script/Engine.MaterialExpressionWorldPosition'MaterialExpressionWorldPosition_16'"
NodePosX=-640
NodePosY=-360
NodeGuid=6E1C585D02B5CB3A8063EE25AEF46A68
CustomProperties Pin (PinId=0A7413542B6C5B43D842F6F98A5697E6,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_18 535C999671F6A1ECD76E7401A9EFAFB1,MaterialGraphNode_Custom_20 CC79B502ED13510A446B733D53B08D95,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_17"
Begin Object Class=/Script/Engine.MaterialExpressionCameraPositionWS Name="MaterialExpressionCameraPositionWS_17"
End Object
Begin Object Name="MaterialExpressionCameraPositionWS_17"
MaterialExpressionEditorX=-640
MaterialExpressionEditorY=-200
MaterialExpressionGuid=F69CC65BADAAD29A58409E814B2F0212
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.Pasted_material'"
End Object
MaterialExpression="/Script/Engine.MaterialExpressionCameraPositionWS'MaterialExpressionCameraPositionWS_17'"
NodePosX=-640
NodePosY=-200
NodeGuid=155A692378DD62762F80CBF34062018F
CustomProperties Pin (PinId=A92DE146F028EF084FC2266D898FE77B,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_18 CD62A0BCC8752206F47AD45434DB879D,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_18"
Begin Object Class=/Script/Engine.MaterialExpressionDistance Name="MaterialExpressionDistance_18"
End Object
Begin Object Name="MaterialExpressionDistance_18"
A=(Expression="/Script/Engine.MaterialExpressionWorldPosition'MaterialGraphNode_16.MaterialExpressionWorldPosition_16'")
B=(Expression="/Script/Engine.MaterialExpressionCameraPositionWS'MaterialGraphNode_17.MaterialExpressionCameraPositionWS_17'")
MaterialExpressionEditorX=-460
MaterialExpressionEditorY=-300
MaterialExpressionGuid=23855F170C2EE34757C3E6667A5655C4
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.Pasted_material'"
End Object
MaterialExpression="/Script/Engine.MaterialExpressionDistance'MaterialExpressionDistance_18'"
NodePosX=-460
NodePosY=-300
NodeGuid=89C7B4374FE36B7333B5BED6DCB2F247
CustomProperties Pin (PinId=535C999671F6A1ECD76E7401A9EFAFB1,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_16 0A7413542B6C5B43D842F6F98A5697E6,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=CD62A0BCC8752206F47AD45434DB879D,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_17 A92DE146F028EF084FC2266D898FE77B,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=F22DB200043628EA916930625721D622,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_20 9744DD461F21205A22A620A6B8FE203E,),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.MaterialExpressionTime Name="MaterialExpressionTime_19"
End Object
Begin Object Name="MaterialExpressionTime_19"
MaterialExpressionEditorX=-640
MaterialExpressionEditorY=-60
MaterialExpressionGuid=B4928E633ACECD218000C473014FE65E
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.Pasted_material'"
End Object
MaterialExpression="/Script/Engine.MaterialExpressionTime'MaterialExpressionTime_19'"
NodePosX=-640
NodePosY=-60
NodeGuid=E45402FDF8349B60B6BCA5C29410FB0E
CustomProperties Pin (PinId=633112E68902410A9ACB0744183F86F2,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_20 48A8601913A5B8F87E217037AF86DE73,),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_20"
Begin Object Class=/Script/Engine.MaterialExpressionCustom Name="MaterialExpressionCustom_20"
End Object
Begin Object Name="MaterialExpressionCustom_20"
Code="// Wet puddle decal — world-aligned procedural shape + dirt edge breakup + damp halo (returns Wetness) + animated ripple normal.\r\n#define HASH(p) frac(sin(dot((p), float2(127.1,311.7)))*43758.5453)\r\n#define VN(p) lerp(lerp(HASH(floor(p)), HASH(floor(p)+float2(1,0)), smoothstep(0.0,1.0,frac(p).x)), lerp(HASH(floor(p)+float2(0,1)), HASH(floor(p)+float2(1,1)), smoothstep(0.0,1.0,frac(p).x)), smoothstep(0.0,1.0,frac(p).y))\r\n\r\nfloat2 uv = WorldPos.xy * 0.01 * MaskTiling; // cm -> m, then tiling (world-aligned, no UVs)\r\nfloat n = VN(uv)*0.55 + VN(uv*2.1+7.3)*0.30 + VN(uv*4.3+3.1)*0.15; // fbm puddle field 0..1\r\nfloat db = VN(uv*5.7 + 19.0); // high-freq edge break-up\r\nfloat shape = n - EdgeBreakup*0.5*db;\r\nfloat thr = 1.0 - Coverage; // higher Coverage = more water\r\nfloat puddle = smoothstep(thr, thr + max(EdgeSoftness,1e-3), shape);\r\nfloat halo = smoothstep(thr - max(HaloWidth,1e-3), thr, shape);\r\nfloat wetness = max(puddle, halo*0.85); // damp ring slightly weaker than open water\r\n\r\n// animated ripple normal — water core only, faded with camera distance\r\nfloat2 r = WorldPos.xy * 0.01 * RippleTiling;\r\nfloat2 fa = Time*RippleSpeed*float2(1.0,0.6);\r\nfloat2 fb = Time*RippleSpeed*float2(-0.7,0.9);\r\nfloat e = 0.03;\r\nfloat hC = VN(r+fa) + VN(r*1.7+fb);\r\nfloat hX = VN(r+float2(e,0)+fa) + VN((r+float2(e,0))*1.7+fb);\r\nfloat hY = VN(r+float2(0,e)+fa) + VN((r+float2(0,e))*1.7+fb);\r\nfloat gx = (hX-hC)/e;\r\nfloat gy = (hY-hC)/e;\r\nfloat distFade = saturate(1.0 - (CamDist - RippleFade*0.5)/max(RippleFade,1.0));\r\nfloat k = RippleIntensity * puddle * distFade;\r\nRippleNormal = normalize(float3(-gx*k, -gy*k, 1.0));\r\nreturn saturate(wetness);\r\n"
OutputType=CMOT_Float1
Description="Puddle_Engine"
ShowCode=True
bShowOutputNameOnPin=True
Inputs(0)=(InputName="WorldPos",Input=(Expression="/Script/Engine.MaterialExpressionWorldPosition'MaterialGraphNode_16.MaterialExpressionWorldPosition_16'"))
Inputs(1)=(InputName="Time",Input=(Expression="/Script/Engine.MaterialExpressionTime'MaterialGraphNode_19.MaterialExpressionTime_19'"))
Inputs(2)=(InputName="CamDist",Input=(Expression="/Script/Engine.MaterialExpressionDistance'MaterialGraphNode_18.MaterialExpressionDistance_18'"))
Inputs(3)=(InputName="MaskTiling",Input=(Expression="/Script/Engine.MaterialExpressionScalarParameter'MaterialGraphNode_10.MaterialExpressionScalarParameter_10'"))
Inputs(4)=(InputName="Coverage",Input=(Expression="/Script/Engine.MaterialExpressionScalarParameter'MaterialGraphNode_7.MaterialExpressionScalarParameter_7'"))
Inputs(5)=(InputName="EdgeSoftness",Input=(Expression="/Script/Engine.MaterialExpressionScalarParameter'MaterialGraphNode_8.MaterialExpressionScalarParameter_8'"))
Inputs(6)=(InputName="EdgeBreakup",Input=(Expression="/Script/Engine.MaterialExpressionScalarParameter'MaterialGraphNode_9.MaterialExpressionScalarParameter_9'"))
Inputs(7)=(InputName="HaloWidth",Input=(Expression="/Script/Engine.MaterialExpressionScalarParameter'MaterialGraphNode_11.MaterialExpressionScalarParameter_11'"))
Inputs(8)=(InputName="RippleTiling",Input=(Expression="/Script/Engine.MaterialExpressionScalarParameter'MaterialGraphNode_13.MaterialExpressionScalarParameter_13'"))
Inputs(9)=(InputName="RippleIntensity",Input=(Expression="/Script/Engine.MaterialExpressionScalarParameter'MaterialGraphNode_12.MaterialExpressionScalarParameter_12'"))
Inputs(10)=(InputName="RippleSpeed",Input=(Expression="/Script/Engine.MaterialExpressionScalarParameter'MaterialGraphNode_14.MaterialExpressionScalarParameter_14'"))
Inputs(11)=(InputName="RippleFade",Input=(Expression="/Script/Engine.MaterialExpressionScalarParameter'MaterialGraphNode_15.MaterialExpressionScalarParameter_15'"))
AdditionalOutputs(0)=(OutputName="RippleNormal",OutputType=CMOT_Float3)
Desc="Procedural wet-puddle engine: world-aligned fbm puddle shape with dirt-noise edge break-up and a damp halo (main output = Wetness, drives Opacity), plus an animated ripple normal gated to the water core and faded by distance. No textures, no UVs."
MaterialExpressionEditorX=-200
MaterialExpressionEditorY=-300
MaterialExpressionGuid=672FC404D4977D47B2E9C2D8FAB8B372
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.Pasted_material'"
End Object
MaterialExpression="/Script/Engine.MaterialExpressionCustom'MaterialExpressionCustom_20'"
NodePosX=-200
NodePosY=-300
NodeGuid=57B63DD96454B54C521200FDE542C609
CustomProperties Pin (PinId=CC79B502ED13510A446B733D53B08D95,PinName="WorldPos",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 0A7413542B6C5B43D842F6F98A5697E6,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=48A8601913A5B8F87E217037AF86DE73,PinName="Time",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 633112E68902410A9ACB0744183F86F2,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=9744DD461F21205A22A620A6B8FE203E,PinName="CamDist",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 F22DB200043628EA916930625721D622,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=2EE7C095CCECA5C25F726D67FBFCFAA0,PinName="MaskTiling",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 9698F4D8C6A76817B5E4942DF96A29EE,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=C6DE05805A0A19CA0B25C3F69BE8D8AA,PinName="Coverage",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 6DB08F4191FD85EFA4DFC0389AB0AD86,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=C5D7DDB3FF5D0FE8DC6F2296A2EA3ACB,PinName="EdgeSoftness",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_8 85DDD7C29D48A1CB68451FC077E32694,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=B19939911806B30D99F07AADB0E3FB66,PinName="EdgeBreakup",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 ED49C82E232EB7CC3F7CFF93BAF57242,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=E97BB19FD8E68C52AFAF41E38C8EC416,PinName="HaloWidth",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_11 D77AB90123B6BB6B3F846F9B889548EF,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=C7F3E76C14BC112DBB079599AFBCBB92,PinName="RippleTiling",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 803AFB01AA39165B2E7AD7DA0CF4D0A5,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=BE0541B36F121BCB0E1B42B74ED26071,PinName="RippleIntensity",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 A4E357202726F1ABBD32A41146C15552,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=5AC13D802ECB4AB841656547A8CEBE4F,PinName="RippleSpeed",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 19FFBF5929DE650B42D731F54B9D87FB,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=96E7127DCEE5C8E61D918822C0ABF0C8,PinName="RippleFade",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 A23C87D8ABB13A399E232312ED5C1D3A,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=4092667D8806111FCFAD569A2C1C9D47,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 97116129B0BF1019CECF8F857E64115F,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=C55F83776607C4C122FCBFBA06EF83CD,PinName="RippleNormal",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_22 C47D2F8BF612EC9D4E8CFAB7F5D9BC74,),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.MaterialExpressionNamedRerouteDeclaration Name="MaterialExpressionNamedRerouteDeclaration_21"
End Object
Begin Object Name="MaterialExpressionNamedRerouteDeclaration_21"
Name="Wetness"
NodeColor=(R=0.200000,G=0.550000,B=1.000000,A=1.000000)
VariableGuid=A1B2C3D4E5F60718293A4B5C6D7E8F90
Desc="Bus signal: combined wetness mask (puddle + damp halo) from the Puddle Engine."
Input=(Expression="/Script/Engine.MaterialExpressionCustom'MaterialGraphNode_Custom_20.MaterialExpressionCustom_20'")
MaterialExpressionEditorX=220
MaterialExpressionEditorY=-340
MaterialExpressionGuid=0D757814BDD4FF283A39444258405418
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.Pasted_material'"
End Object
MaterialExpression="/Script/Engine.MaterialExpressionNamedRerouteDeclaration'MaterialExpressionNamedRerouteDeclaration_21'"
NodePosX=220
NodePosY=-340
NodeGuid=B6760F912287C3A4E759A35EEFA8C1A5
CustomProperties Pin (PinId=97116129B0BF1019CECF8F857E64115F,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_Custom_20 4092667D8806111FCFAD569A2C1C9D47,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=2A3375921671947E952C10F4B5563883,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,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_22"
Begin Object Class=/Script/Engine.MaterialExpressionNamedRerouteDeclaration Name="MaterialExpressionNamedRerouteDeclaration_22"
End Object
Begin Object Name="MaterialExpressionNamedRerouteDeclaration_22"
Name="RippleNormal"
NodeColor=(R=0.400000,G=0.800000,B=1.000000,A=1.000000)
VariableGuid=0F1E2D3C4B5A69788796A5B4C3D2E1F0
Desc="Bus signal: animated tangent-space ripple normal from the Puddle Engine."
Input=(Expression="/Script/Engine.MaterialExpressionCustom'MaterialGraphNode_Custom_20.MaterialExpressionCustom_20'",OutputIndex=1)
MaterialExpressionEditorX=220
MaterialExpressionEditorY=-180
MaterialExpressionGuid=29B95FBB6D4D888257192E81F8FCADEF
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.Pasted_material'"
End Object
MaterialExpression="/Script/Engine.MaterialExpressionNamedRerouteDeclaration'MaterialExpressionNamedRerouteDeclaration_22'"
NodePosX=220
NodePosY=-180
NodeGuid=54EA35F98CA56931748C3009C2AE457B
CustomProperties Pin (PinId=C47D2F8BF612EC9D4E8CFAB7F5D9BC74,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_Custom_20 C55F83776607C4C122FCBFBA06EF83CD,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=874914F2F4370F14AA55737E67D2704D,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,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.MaterialExpressionVectorParameter Name="MaterialExpressionVectorParameter_23"
End Object
Begin Object Name="MaterialExpressionVectorParameter_23"
ParameterName="PuddleTint"
DefaultValue=(R=0.02,G=0.025,B=0.03,A=1)
Group="02 Wetness"
Desc="Colour the wet ground darkens toward. Near-black with a faint cool tint reads as deep, clean water. Blended in by the wetness mask via Opacity."
MaterialExpressionEditorX=660
MaterialExpressionEditorY=-460
MaterialExpressionGuid=4C87BB3F2D8C4896856C5B8503A04535
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.Pasted_material'"
End Object
MaterialExpression="/Script/Engine.MaterialExpressionVectorParameter'MaterialExpressionVectorParameter_23'"
NodePosX=660
NodePosY=-460
NodeGuid=CA7C6F9C8C010B8B21431867D4B36A47
CustomProperties Pin (PinId=B0CB90B543A42031037DDF51A81C3530,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_Root_29 49EC304D3B1A9595973EE8EEE027CBD0,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=6AC3AF7EAB5524CD9866F3237119A10A,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=82BC0A18B252B21EBCF391BAEFB771C8,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=23C00B547E5AEE08FDE9FC44982DBA8C,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=F16433194D5D0673D0831D9350461278,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_24"
Begin Object Class=/Script/Engine.MaterialExpressionScalarParameter Name="MaterialExpressionScalarParameter_24"
End Object
Begin Object Name="MaterialExpressionScalarParameter_24"
ParameterName="WaterRoughness"
DefaultValue=0.04
SliderMin=0
SliderMax=0.3
Group="02 Wetness"
Desc="Roughness of the water surface. Low = sharp, mirror-like reflections. The damp halo blends to it partially, reading as a softer sheen."
MaterialExpressionEditorX=660
MaterialExpressionEditorY=-220
MaterialExpressionGuid=993C9215CB35D59CC4F23CC7F7A8CCC6
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.Pasted_material'"
End Object
MaterialExpression="/Script/Engine.MaterialExpressionScalarParameter'MaterialExpressionScalarParameter_24'"
NodePosX=660
NodePosY=-220
NodeGuid=2F2414CDED5D868A8E222BBFF4F276E3
CustomProperties Pin (PinId=145F3C24EE507FFD432239424DD2DFA9,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_Root_29 783FC323574D1A434D6D94BED7FBF4A3,),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.MaterialExpressionScalarParameter Name="MaterialExpressionScalarParameter_25"
End Object
Begin Object Name="MaterialExpressionScalarParameter_25"
ParameterName="WetStrength"
DefaultValue=1
SliderMin=0
SliderMax=1
Group="02 Wetness"
Desc="Master blend strength of the whole decal (how strongly it overrides the dry surface). 1 = full wet, lower for a subtle damp pass."
MaterialExpressionEditorX=660
MaterialExpressionEditorY=20
MaterialExpressionGuid=3B10E9B28F85958D53ACA9313AB1ED22
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.Pasted_material'"
End Object
MaterialExpression="/Script/Engine.MaterialExpressionScalarParameter'MaterialExpressionScalarParameter_25'"
NodePosX=660
NodePosY=20
NodeGuid=8355E8356E36F97F907595E8F0DD7E2C
CustomProperties Pin (PinId=894E14AA7308140288895A66D16006F0,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 F2A7DC2F2885850230C2E685121D8112,),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.MaterialExpressionNamedRerouteUsage Name="MaterialExpressionNamedRerouteUsage_26"
End Object
Begin Object Name="MaterialExpressionNamedRerouteUsage_26"
DeclarationGuid=A1B2C3D4E5F60718293A4B5C6D7E8F90
MaterialExpressionEditorX=660
MaterialExpressionEditorY=160
MaterialExpressionGuid=BF136B869AC120DB8FC76D1B6B46470D
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.Pasted_material'"
End Object
MaterialExpression="/Script/Engine.MaterialExpressionNamedRerouteUsage'MaterialExpressionNamedRerouteUsage_26'"
NodePosX=660
NodePosY=160
NodeGuid=8C55EB4FD029558583B599CE21631E6D
CustomProperties Pin (PinId=E674AE06E0C73E87378381AE249712BF,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 F7D1BFEDC2202D4C60A36758293C386F,),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.MaterialExpressionMultiply Name="MaterialExpressionMultiply_27"
End Object
Begin Object Name="MaterialExpressionMultiply_27"
A=(Expression="/Script/Engine.MaterialExpressionNamedRerouteUsage'MaterialGraphNode_26.MaterialExpressionNamedRerouteUsage_26'")
B=(Expression="/Script/Engine.MaterialExpressionScalarParameter'MaterialGraphNode_25.MaterialExpressionScalarParameter_25'")
MaterialExpressionEditorX=880
MaterialExpressionEditorY=80
MaterialExpressionGuid=3E349AB9FD595C5771CCDA93805D27A9
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.Pasted_material'"
End Object
MaterialExpression="/Script/Engine.MaterialExpressionMultiply'MaterialExpressionMultiply_27'"
NodePosX=880
NodePosY=80
NodeGuid=FA0FFB1A6BEEFF2573984B0ABE0D9B83
CustomProperties Pin (PinId=F7D1BFEDC2202D4C60A36758293C386F,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_26 E674AE06E0C73E87378381AE249712BF,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=F2A7DC2F2885850230C2E685121D8112,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_25 894E14AA7308140288895A66D16006F0,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=749B4BA8B46A2BFD62B60A48D9CCAE14,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_Root_29 761102F3B50F2A5B3D1B2C2A02E2C98B,),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.MaterialExpressionNamedRerouteUsage Name="MaterialExpressionNamedRerouteUsage_28"
End Object
Begin Object Name="MaterialExpressionNamedRerouteUsage_28"
DeclarationGuid=0F1E2D3C4B5A69788796A5B4C3D2E1F0
MaterialExpressionEditorX=660
MaterialExpressionEditorY=360
MaterialExpressionGuid=E07058613CD45339079A3BC628A994DF
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.Pasted_material'"
End Object
MaterialExpression="/Script/Engine.MaterialExpressionNamedRerouteUsage'MaterialExpressionNamedRerouteUsage_28'"
NodePosX=660
NodePosY=360
NodeGuid=8976018D83E3DC3492CEB211E1C0E64E
CustomProperties Pin (PinId=0F8C6B1C4D36AB05D349CCFAACC6B3E2,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_Root_29 E48530DD88359522D01B080DBB8AAE62,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode_Root Name="MaterialGraphNode_Root_29"
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.Pasted_material'"
NodePosX=1373
NodePosY=-164
NodeGuid=4F0635CE5FC365F6E152AC463AB8243F
CustomProperties Pin (PinId=49EC304D3B1A9595973EE8EEE027CBD0,PinName="Base Color",PinType.PinCategory="materialinput",PinType.PinSubCategory="rgba",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 B0CB90B543A42031037DDF51A81C3530,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=783FC323574D1A434D6D94BED7FBF4A3,PinName="Roughness",PinType.PinCategory="materialinput",PinType.PinSubCategory="red",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 145F3C24EE507FFD432239424DD2DFA9,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=761102F3B50F2A5B3D1B2C2A02E2C98B,PinName="Opacity",PinType.PinCategory="materialinput",PinType.PinSubCategory="red",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 749B4BA8B46A2BFD62B60A48D9CCAE14,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=E48530DD88359522D01B080DBB8AAE62,PinName="Normal",PinType.PinCategory="materialinput",PinType.PinSubCategory="rgb",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 0F8C6B1C4D36AB05D349CCFAACC6B3E2,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
End Object
Nodes: ScalarParameter (x11), Comment (x7), NamedRerouteDeclaration (x2), NamedRerouteUsage (x2), CameraPositionWS, Custom, Distance, Material, Multiply, Time, VectorParameter, WorldPosition
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
- 3 days ago
- Published
- 3 days ago
- Nodes
- 30
0 comments
Sign in to join the discussion.
No comments yet. Be the first.