
Description
Blob Shadow
A soft dark oval you drop on the ground under a character or prop to fake a contact shadow - for free, with nothing actually casting a shadow. It is a deferred decal: a round, soft-edged radial falloff darkens whatever ground it projects onto, and that is it. No shadow maps, no extra draws, no light to chase. Park one under a barrel, a crate, a hovering enemy, a placed prop, and it grounds them instantly.
It is fully procedural - the blob is built from the decal UVs, so it works with zero textures. Radius sets how wide the oval is, Softness shapes the edge from a tight feathered puff to a broad soft smudge, and Strength is how dark it gets at the centre. Shadow Colour is near-black out of the box; nudge it warm or cool if you want a stylised contact shadow instead of a neutral one.
When the plain oval is not enough, flip Use Shape Texture and feed a grayscale shape - a character silhouette, a blobby splat, a hand-smeared smudge - and it multiplies into the blob so the shadow takes that shape instead. Off by default, so you only pay for the sampler when you actually want it.
Heads up: this is a flat oval on the floor. It does not track the sun or stretch with the light angle - that is the trade-off for costing nothing. And being a deferred decal, it only paints onto solid ground in the GBuffer, not onto translucent surfaces or skinned characters.
Required UE material settings
Set these on the material asset before you paste - they are not carried in the T3D:
- Material Domain: Deferred Decal
- Blend Mode: Translucent (or DBuffer Translucent Color if your project uses the DBuffer decal path)
- Decal Blend Mode: Translucent
- Shading Model: leave at the decal default
After pasting, wire the two result nodes into the Material node by hand (their frames are labelled with the target pin - paste does not carry root-pin links):
- Base Color <- Shadow Colour
- Opacity <- the Strength multiply (the soft blob mask x Strength)
Then drop a Decal Actor in the level, assign the material, and point its projection box straight down at the ground under the thing you want shadowed.
Parameters
- Radius (0.05-0.5) - blob size in decal-UV units; 0.5 fills the projection box. Default 0.45.
- Softness (0.25-8) - edge falloff exponent. Higher = softer/feathered, lower = broader and harder. 1 is a straight linear fade. Default 2.5.
- Shadow Colour - the colour painted on the ground. Near-black b
Preview only · open in editor for full material editing
Want this graph on your blog or forum?
View T3D source (55 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=400
Text="01 Shape"
CommentColor=(R=0.104616,G=0.327778,B=0.665387,A=1.000000)
MaterialExpressionEditorX=-1880
MaterialExpressionEditorY=-520
MaterialExpressionGuid=C25D36176E1AEF87AF21CE973D0C9C7D
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.M_BlobShadow'"
End Object
MaterialExpressionComment="/Script/Engine.MaterialExpressionComment'MaterialExpressionComment_C0'"
CommentColor=(R=0.104616,G=0.327778,B=0.665387,A=1.000000)
NodePosX=-1880
NodePosY=-520
NodeWidth=520
NodeHeight=400
NodeComment="01 Shape"
NodeGuid=30F7AFBA2742F8A3E8E26223C2842383
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_1"
Begin Object Class=/Script/Engine.MaterialExpressionScalarParameter Name="MaterialExpressionScalarParameter_1"
End Object
Begin Object Name="MaterialExpressionScalarParameter_1"
ParameterName="Radius"
DefaultValue=0.45
SliderMin=0.05
SliderMax=0.5
Group="01 Shape"
Desc="Blob radius in decal-UV units (0.5 = edge of the projection box). The falloff fades to nothing at this radius."
MaterialExpressionEditorX=-1800
MaterialExpressionEditorY=-440
MaterialExpressionGuid=DF61F306AC29D5026AABBFB4CDF3BDF3
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.M_BlobShadow'"
End Object
MaterialExpression="/Script/Engine.MaterialExpressionScalarParameter'MaterialExpressionScalarParameter_1'"
NodePosX=-1800
NodePosY=-440
NodeGuid=7AB1BAD5C075910EEA69CAB0D6E498C3
CustomProperties Pin (PinId=B88C519D797E14D8B79644895EA384F8,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_11 FF26187A0E7C121D5B152B5603FC2E5A,),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="Softness"
DefaultValue=2.5
SliderMin=0.25
SliderMax=8
Group="01 Shape"
Desc="Edge falloff exponent. Higher = softer, more feathered edge that hugs the centre; lower = broader and harder-edged. 1 is a straight linear fade."
MaterialExpressionEditorX=-1800
MaterialExpressionEditorY=-260
MaterialExpressionGuid=00A5B13BDE1698A07F36B5781B0D96F7
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.M_BlobShadow'"
End Object
MaterialExpression="/Script/Engine.MaterialExpressionScalarParameter'MaterialExpressionScalarParameter_2'"
NodePosX=-1800
NodePosY=-260
NodeGuid=15E714647A5F5B81BCE44F1BFE438804
CustomProperties Pin (PinId=2D26F65D65FB65CC1751BDE0EA234CBB,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_14 0BFFFD4F3376B36318B5C183A4D9E814,),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_3"
Begin Object Class=/Script/Engine.MaterialExpressionComment Name="MaterialExpressionComment_C3"
End Object
Begin Object Name="MaterialExpressionComment_C3"
SizeX=520
SizeY=400
Text="02 Shadow"
CommentColor=(R=0.042311,G=0.262251,B=0.144128,A=1.000000)
MaterialExpressionEditorX=-1880
MaterialExpressionEditorY=40
MaterialExpressionGuid=F60CA3CF22343098BC421036231EF803
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.M_BlobShadow'"
End Object
MaterialExpressionComment="/Script/Engine.MaterialExpressionComment'MaterialExpressionComment_C3'"
CommentColor=(R=0.042311,G=0.262251,B=0.144128,A=1.000000)
NodePosX=-1880
NodePosY=40
NodeWidth=520
NodeHeight=400
NodeComment="02 Shadow"
NodeGuid=BE2E7BEE70B114A71D9205EEBEFD52DF
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_4"
Begin Object Class=/Script/Engine.MaterialExpressionVectorParameter Name="MaterialExpressionVectorParameter_4"
End Object
Begin Object Name="MaterialExpressionVectorParameter_4"
ParameterName="Shadow Colour"
DefaultValue=(R=0.02,G=0.02,B=0.025,A=1)
Group="02 Shadow"
Desc="Colour the decal paints onto the ground. Near-black by default for a neutral shadow; tint slightly for coloured/stylised contact shadows."
MaterialExpressionEditorX=-1800
MaterialExpressionEditorY=120
MaterialExpressionGuid=6CBB3E2AF0416BF076349720B6A77CF3
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.M_BlobShadow'"
End Object
MaterialExpression="/Script/Engine.MaterialExpressionVectorParameter'MaterialExpressionVectorParameter_4'"
NodePosX=-1800
NodePosY=120
NodeGuid=1ACDD7B64280177C01EAF6B1E25C4FE7
CustomProperties Pin (PinId=B3957318077DA7CEEB7C831FEA31CBC4,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)
CustomProperties Pin (PinId=BF5569ACFF4CF3521F7B51FD4889F009,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=8AB5F88F198C93CFE1700D4E70E68ED2,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=B75D170A25975BF35D6D55782A1DD479,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=0004C753B34116154EA72D5D0AFE9BD5,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_5"
Begin Object Class=/Script/Engine.MaterialExpressionScalarParameter Name="MaterialExpressionScalarParameter_5"
End Object
Begin Object Name="MaterialExpressionScalarParameter_5"
ParameterName="Strength"
DefaultValue=0.65
SliderMin=0
SliderMax=1
Group="02 Shadow"
Desc="Maximum darkness at the centre of the blob (peak opacity). 0 = invisible, 1 = the Shadow Colour fully replaces the ground underneath."
MaterialExpressionEditorX=-1800
MaterialExpressionEditorY=300
MaterialExpressionGuid=12A8788F5A3786D065B28EFB8659DC07
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.M_BlobShadow'"
End Object
MaterialExpression="/Script/Engine.MaterialExpressionScalarParameter'MaterialExpressionScalarParameter_5'"
NodePosX=-1800
NodePosY=300
NodeGuid=26A289622531E1D7EAC6A2F244EA13F5
CustomProperties Pin (PinId=FD64DFFC21A1AC7A816248D4E0FC600D,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_22 042F96092BCD11766002C5F31FE76486,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_6"
Begin Object Class=/Script/Engine.MaterialExpressionTextureCoordinate Name="MaterialExpressionTextureCoordinate_6"
End Object
Begin Object Name="MaterialExpressionTextureCoordinate_6"
CoordinateIndex=0
UTiling=1
VTiling=1
Desc="Decal projection UV (0..1 across the decal box footprint)."
MaterialExpressionEditorX=-1280
MaterialExpressionEditorY=-360
MaterialExpressionGuid=147836CB7E56461A1CB45178F73858FA
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.M_BlobShadow'"
End Object
MaterialExpression="/Script/Engine.MaterialExpressionTextureCoordinate'MaterialExpressionTextureCoordinate_6'"
NodePosX=-1280
NodePosY=-360
NodeGuid=B1B36C9FB894D211D3A8D7B2B388CE60
CustomProperties Pin (PinId=37105452105E7A9B2F0B884B0CBF5D5E,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_9 7CF7FCB3D69A5B9ECE4B76D5F0CFD46D,),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.MaterialExpressionConstant2Vector Name="MaterialExpressionConstant2Vector_7"
End Object
Begin Object Name="MaterialExpressionConstant2Vector_7"
R=0.5
G=0.5
Desc="Decal-UV centre."
MaterialExpressionEditorX=-1280
MaterialExpressionEditorY=-180
MaterialExpressionGuid=2DB59FA6CF30F4D6DA12DC307A0CEADB
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.M_BlobShadow'"
End Object
MaterialExpression="/Script/Engine.MaterialExpressionConstant2Vector'MaterialExpressionConstant2Vector_7'"
NodePosX=-1280
NodePosY=-180
NodeGuid=A0E0FB4BA464AAAB11413203380B0239
CustomProperties Pin (PinId=2931710ECD970C117AB3AD743A3CE60E,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_9 85A82173FABD3023F2FD99083B3B1C46,),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.MaterialExpressionConstant2Vector Name="MaterialExpressionConstant2Vector_8"
End Object
Begin Object Name="MaterialExpressionConstant2Vector_8"
R=0
G=0
Desc="Origin for the radial distance."
MaterialExpressionEditorX=-1280
MaterialExpressionEditorY=0
MaterialExpressionGuid=A01DC6A51193A7DEA66B7A9343CFAD98
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.M_BlobShadow'"
End Object
MaterialExpression="/Script/Engine.MaterialExpressionConstant2Vector'MaterialExpressionConstant2Vector_8'"
NodePosX=-1280
NodePosY=0
NodeGuid=31C6C3A30E9C4A129E4FEC22C67F8842
CustomProperties Pin (PinId=83B22530A8DCB7F4973F1358B4ED0D3A,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_10 A98B7A9DBFDDE2AA7EBD584C9C748E5C,),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.MaterialExpressionSubtract Name="MaterialExpressionSubtract_9"
End Object
Begin Object Name="MaterialExpressionSubtract_9"
Desc="Recentre UV so the blob centre is at 0."
A=(Expression="/Script/Engine.MaterialExpressionTextureCoordinate'MaterialGraphNode_6.MaterialExpressionTextureCoordinate_6'")
B=(Expression="/Script/Engine.MaterialExpressionConstant2Vector'MaterialGraphNode_7.MaterialExpressionConstant2Vector_7'")
MaterialExpressionEditorX=-1040
MaterialExpressionEditorY=-300
MaterialExpressionGuid=157096BE7A3AA892C7E80E58CDC3A2E8
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.M_BlobShadow'"
End Object
MaterialExpression="/Script/Engine.MaterialExpressionSubtract'MaterialExpressionSubtract_9'"
NodePosX=-1040
NodePosY=-300
NodeGuid=BE74356449FDBCD398033E3D876E5C4E
CustomProperties Pin (PinId=7CF7FCB3D69A5B9ECE4B76D5F0CFD46D,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_6 37105452105E7A9B2F0B884B0CBF5D5E,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=85A82173FABD3023F2FD99083B3B1C46,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 2931710ECD970C117AB3AD743A3CE60E,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=4A9BF9D3B98875D5A89C41445337AE31,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_10 029A892E4854639132EBFCB4CE3C804A,),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.MaterialExpressionDistance Name="MaterialExpressionDistance_10"
End Object
Begin Object Name="MaterialExpressionDistance_10"
Desc="Radial distance from centre: 0 at centre, ~0.5 at the box edge."
A=(Expression="/Script/Engine.MaterialExpressionSubtract'MaterialGraphNode_9.MaterialExpressionSubtract_9'")
B=(Expression="/Script/Engine.MaterialExpressionConstant2Vector'MaterialGraphNode_8.MaterialExpressionConstant2Vector_8'")
MaterialExpressionEditorX=-860
MaterialExpressionEditorY=-260
MaterialExpressionGuid=8687FF3266F6A9C2CCB57B14DEBB36D2
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.M_BlobShadow'"
End Object
MaterialExpression="/Script/Engine.MaterialExpressionDistance'MaterialExpressionDistance_10'"
NodePosX=-860
NodePosY=-260
NodeGuid=7D3329766BB16FB5613A038BF2597D80
CustomProperties Pin (PinId=029A892E4854639132EBFCB4CE3C804A,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_9 4A9BF9D3B98875D5A89C41445337AE31,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=A98B7A9DBFDDE2AA7EBD584C9C748E5C,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_8 83B22530A8DCB7F4973F1358B4ED0D3A,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=51844E9025CAAE149F23A490014399F6,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_11 8FFE862D682CDFE259AE74E2217AD51F,),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.MaterialExpressionDivide Name="MaterialExpressionDivide_11"
End Object
Begin Object Name="MaterialExpressionDivide_11"
Desc="Normalise the radial distance by Radius: 0 centre, 1 at the blob edge."
A=(Expression="/Script/Engine.MaterialExpressionDistance'MaterialGraphNode_10.MaterialExpressionDistance_10'")
B=(Expression="/Script/Engine.MaterialExpressionScalarParameter'MaterialGraphNode_1.MaterialExpressionScalarParameter_1'")
MaterialExpressionEditorX=-620
MaterialExpressionEditorY=-260
MaterialExpressionGuid=BE7783AF0653440982B5ABD62EB19F5B
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.M_BlobShadow'"
End Object
MaterialExpression="/Script/Engine.MaterialExpressionDivide'MaterialExpressionDivide_11'"
NodePosX=-620
NodePosY=-260
NodeGuid=5F78A44F6F15C24CEB3308B487A2A04F
CustomProperties Pin (PinId=8FFE862D682CDFE259AE74E2217AD51F,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_10 51844E9025CAAE149F23A490014399F6,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=FF26187A0E7C121D5B152B5603FC2E5A,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_1 B88C519D797E14D8B79644895EA384F8,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=D5BB7E7594AABE0EBEA0A6AC35DFF60C,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_12 D60CC29CD90DBF335061091F14B5CC02,),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.MaterialExpressionSaturate Name="MaterialExpressionSaturate_12"
End Object
Begin Object Name="MaterialExpressionSaturate_12"
Desc="Clamp to 0..1 so everything past Radius reads as the far edge (fully faded)."
Input=(Expression="/Script/Engine.MaterialExpressionDivide'MaterialGraphNode_11.MaterialExpressionDivide_11'")
MaterialExpressionEditorX=-440
MaterialExpressionEditorY=-260
MaterialExpressionGuid=0FE76C5368ACE7BFAE6DEA8E2F56ABC8
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.M_BlobShadow'"
End Object
MaterialExpression="/Script/Engine.MaterialExpressionSaturate'MaterialExpressionSaturate_12'"
NodePosX=-440
NodePosY=-260
NodeGuid=B06591A218F696392EE6A6976D97F244
CustomProperties Pin (PinId=D60CC29CD90DBF335061091F14B5CC02,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_11 D5BB7E7594AABE0EBEA0A6AC35DFF60C,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=44107B6AF3278157C2D4A58920986EFF,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_13 B797751393C18994BAC116AD0BDA4EF1,),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.MaterialExpressionOneMinus Name="MaterialExpressionOneMinus_13"
End Object
Begin Object Name="MaterialExpressionOneMinus_13"
Desc="Invert: 1 at the centre, 0 at the blob edge - a linear radial ramp."
Input=(Expression="/Script/Engine.MaterialExpressionSaturate'MaterialGraphNode_12.MaterialExpressionSaturate_12'")
MaterialExpressionEditorX=-260
MaterialExpressionEditorY=-260
MaterialExpressionGuid=466792657A0420031E7E0B278020C87C
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.M_BlobShadow'"
End Object
MaterialExpression="/Script/Engine.MaterialExpressionOneMinus'MaterialExpressionOneMinus_13'"
NodePosX=-260
NodePosY=-260
NodeGuid=E83101C5870BF1F84D5E3038B21E6B04
CustomProperties Pin (PinId=B797751393C18994BAC116AD0BDA4EF1,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_12 44107B6AF3278157C2D4A58920986EFF,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=F508C6CCF1E17D762BD21B2C77ED81F7,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_14 0641DCDD90B8A066D1F3E6DBBD832AE6,),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.MaterialExpressionPower Name="MaterialExpressionPower_14"
End Object
Begin Object Name="MaterialExpressionPower_14"
Desc="Raise to Softness to bend the linear ramp into a soft exponential falloff. The procedural blob mask."
Base=(Expression="/Script/Engine.MaterialExpressionOneMinus'MaterialGraphNode_13.MaterialExpressionOneMinus_13'")
Exponent=(Expression="/Script/Engine.MaterialExpressionScalarParameter'MaterialGraphNode_2.MaterialExpressionScalarParameter_2'")
MaterialExpressionEditorX=-60
MaterialExpressionEditorY=-260
MaterialExpressionGuid=9B4972BDB8C3F831FF5331B934F4D4F2
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.M_BlobShadow'"
End Object
MaterialExpression="/Script/Engine.MaterialExpressionPower'MaterialExpressionPower_14'"
NodePosX=-60
NodePosY=-260
NodeGuid=72335484CEFF9DD61FF6BDCFE3E87E6D
CustomProperties Pin (PinId=0641DCDD90B8A066D1F3E6DBBD832AE6,PinName="Base",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 F508C6CCF1E17D762BD21B2C77ED81F7,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=0BFFFD4F3376B36318B5C183A4D9E814,PinName="Exp",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 2D26F65D65FB65CC1751BDE0EA234CBB,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=1E95484E3374213D83ED98B40A8859F9,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 E59C390EE739BCEF73481FF8E159BBE4,MaterialGraphNode_17 A2434B3FBDA871A7150C9EBB1F0E19FE,),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_15"
Begin Object Class=/Script/Engine.MaterialExpressionComment Name="MaterialExpressionComment_C15"
End Object
Begin Object Name="MaterialExpressionComment_C15"
SizeX=520
SizeY=380
Text="03 Optional Shape"
CommentColor=(R=0.194618,G=0.107023,B=0.262251,A=1.000000)
MaterialExpressionEditorX=-1880
MaterialExpressionEditorY=460
MaterialExpressionGuid=172903C571FE65D55DFDD1BE5A0930BD
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.M_BlobShadow'"
End Object
MaterialExpressionComment="/Script/Engine.MaterialExpressionComment'MaterialExpressionComment_C15'"
CommentColor=(R=0.194618,G=0.107023,B=0.262251,A=1.000000)
NodePosX=-1880
NodePosY=460
NodeWidth=520
NodeHeight=380
NodeComment="03 Optional Shape"
NodeGuid=9FE544A1182DF42437D08152F45B84A3
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_16"
Begin Object Class=/Script/Engine.MaterialExpressionTextureSampleParameter2D Name="MaterialExpressionTextureSampleParameter2D_16"
End Object
Begin Object Name="MaterialExpressionTextureSampleParameter2D_16"
ParameterName="Shape Texture"
Group="03 Optional Shape"
Texture=Texture2D'/Engine/EngineResources/WhiteSquareTexture'
SamplerType=SAMPLERTYPE_Grayscale
Desc="Optional grayscale shadow shape (R = darkness) that multiplies the procedural oval - a character silhouette, a blobby splat, a hand-painted smudge. White (default) leaves the round blob untouched. Set its address mode to Clamp so the shape doesn't tile across the decal."
MaterialExpressionEditorX=-1800
MaterialExpressionEditorY=540
MaterialExpressionGuid=C2FDB584F96538B724F8B4439272EE8B
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.M_BlobShadow'"
End Object
MaterialExpression="/Script/Engine.MaterialExpressionTextureSampleParameter2D'MaterialExpressionTextureSampleParameter2D_16'"
NodePosX=-1800
NodePosY=540
NodeGuid=D603E3846E06FA420B43B670CD44D062
CustomProperties Pin (PinId=9781B8B5506FA7571AC8BFA9149295B0,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,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=C142BD7BC044F9883857D6DEB3BAFCD9,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=F8CC64EBC8180E8555E89F0580067EE5,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=316FFED3394F255302F58344CB1448D3,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_18 32F4D70982D3ECE7DA7CDF60A1C3B09B,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=45EF608589A0B94B00D38957B3BC9A0D,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=EC0DE6E4BA157009CE71179656327B74,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=7DAF57E871F13CFB8813094CE7E21651,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=8C787103DE8F336866212D6796E82A1E,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_17"
Begin Object Class=/Script/Engine.MaterialExpressionStaticSwitchParameter Name="MaterialExpressionStaticSwitchParameter_17"
End Object
Begin Object Name="MaterialExpressionStaticSwitchParameter_17"
ParameterName="Use Shape Texture"
DefaultValue=False
Group="03 Optional Shape"
Desc="On = multiply the Shape Texture into the blob (stamp a custom silhouette/splat). Off = the plain procedural oval."
A=(Expression="/Script/Engine.MaterialExpressionMultiply'MaterialGraphNode_18.MaterialExpressionMultiply_18'")
B=(Expression="/Script/Engine.MaterialExpressionPower'MaterialGraphNode_14.MaterialExpressionPower_14'")
MaterialExpressionEditorX=-1800
MaterialExpressionEditorY=720
MaterialExpressionGuid=0BB9AC819BC2862C51AC0AB8363E7FB3
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.M_BlobShadow'"
End Object
MaterialExpression="/Script/Engine.MaterialExpressionStaticSwitchParameter'MaterialExpressionStaticSwitchParameter_17'"
NodePosX=-1800
NodePosY=720
NodeGuid=EA03759007335CAE34D7CE9220D5744E
CustomProperties Pin (PinId=BB3E0ABC515182B7AEC4D9D7E004E3D2,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_18 F197953247397F4806C3F1DB26CD3CE3,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=A2434B3FBDA871A7150C9EBB1F0E19FE,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_14 1E95484E3374213D83ED98B40A8859F9,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=99486806BC11C54EC07074D426A01D15,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_22 AD64586FC801E54684A460A3F3B8FF3F,),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.MaterialExpressionMultiply Name="MaterialExpressionMultiply_18"
End Object
Begin Object Name="MaterialExpressionMultiply_18"
Desc="Gate the procedural blob by the shape sprite (True branch of the switch)."
A=(Expression="/Script/Engine.MaterialExpressionPower'MaterialGraphNode_14.MaterialExpressionPower_14'")
B=(Expression="/Script/Engine.MaterialExpressionTextureSampleParameter2D'MaterialGraphNode_16.MaterialExpressionTextureSampleParameter2D_16'",OutputIndex=1)
MaterialExpressionEditorX=220
MaterialExpressionEditorY=40
MaterialExpressionGuid=33B1BD06E1151CD2D84CBBF83A97A038
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.M_BlobShadow'"
End Object
MaterialExpression="/Script/Engine.MaterialExpressionMultiply'MaterialExpressionMultiply_18'"
NodePosX=220
NodePosY=40
NodeGuid=FC6A0A020576AE910107FF9616A901E7
CustomProperties Pin (PinId=E59C390EE739BCEF73481FF8E159BBE4,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_14 1E95484E3374213D83ED98B40A8859F9,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=32F4D70982D3ECE7DA7CDF60A1C3B09B,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_16 316FFED3394F255302F58344CB1448D3,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=F197953247397F4806C3F1DB26CD3CE3,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_17 BB3E0ABC515182B7AEC4D9D7E004E3D2,),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_19"
Begin Object Class=/Script/Engine.MaterialExpressionComment Name="MaterialExpressionComment_C19"
End Object
Begin Object Name="MaterialExpressionComment_C19"
SizeX=440
SizeY=260
Text="Base Color"
CommentColor=(R=0.033105,G=1.000000,B=0.132868,A=1.000000)
MaterialExpressionEditorX=760
MaterialExpressionEditorY=-460
MaterialExpressionGuid=871EE95488DCD2DD63257C3732CC5D2B
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.M_BlobShadow'"
End Object
MaterialExpressionComment="/Script/Engine.MaterialExpressionComment'MaterialExpressionComment_C19'"
CommentColor=(R=0.033105,G=1.000000,B=0.132868,A=1.000000)
NodePosX=760
NodePosY=-460
NodeWidth=440
NodeHeight=260
NodeComment="Base Color"
NodeGuid=4F86F2D7B6408D15C7D07A1C20873703
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_20"
Begin Object Class=/Script/Engine.MaterialExpressionVectorParameter Name="MaterialExpressionVectorParameter_20"
End Object
Begin Object Name="MaterialExpressionVectorParameter_20"
ParameterName="Shadow Colour"
DefaultValue=(R=0.02,G=0.02,B=0.025,A=1)
Group="02 Shadow"
Desc="Base Color result node: the same Shadow Colour MI slot, placed next to the Material node so Base Color wires in one click."
MaterialExpressionEditorX=880
MaterialExpressionEditorY=-380
MaterialExpressionGuid=D65527DF5D55AECF062C37909BC34098
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.M_BlobShadow'"
End Object
MaterialExpression="/Script/Engine.MaterialExpressionVectorParameter'MaterialExpressionVectorParameter_20'"
NodePosX=880
NodePosY=-380
NodeGuid=56BF112D2CC6A330F45E0B9F39E9B4F9
CustomProperties Pin (PinId=818A7A4F095367C3AE8AAC04EAC2E8FB,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_23 2D0D9F0700FBCB156C3097DEAE484B7B,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=61A2790D73280B16FBA5D5317D442C5E,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=33B72B7352D875CB933385427757E67C,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=1FE1FD66C5392C5230B5C94B5657BEB7,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=CEE5A7D813EEB5C2A38343B150DB1557,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_Comment Name="MaterialGraphNode_Comment_21"
Begin Object Class=/Script/Engine.MaterialExpressionComment Name="MaterialExpressionComment_C21"
End Object
Begin Object Name="MaterialExpressionComment_C21"
SizeX=440
SizeY=320
Text="Opacity"
CommentColor=(R=0.327778,G=0.502886,B=1.000000,A=1.000000)
MaterialExpressionEditorX=760
MaterialExpressionEditorY=120
MaterialExpressionGuid=E503E9C50496594B8CBC5CDE8A6A416A
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.M_BlobShadow'"
End Object
MaterialExpressionComment="/Script/Engine.MaterialExpressionComment'MaterialExpressionComment_C21'"
CommentColor=(R=0.327778,G=0.502886,B=1.000000,A=1.000000)
NodePosX=760
NodePosY=120
NodeWidth=440
NodeHeight=320
NodeComment="Opacity"
NodeGuid=E00743A0B50C9C89A816240BCFDD3B81
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_22"
Begin Object Class=/Script/Engine.MaterialExpressionMultiply Name="MaterialExpressionMultiply_22"
End Object
Begin Object Name="MaterialExpressionMultiply_22"
Desc="Selected blob mask * Strength - the Opacity result node. Decal only darkens where the blob is."
A=(Expression="/Script/Engine.MaterialExpressionStaticSwitchParameter'MaterialGraphNode_17.MaterialExpressionStaticSwitchParameter_17'")
B=(Expression="/Script/Engine.MaterialExpressionScalarParameter'MaterialGraphNode_5.MaterialExpressionScalarParameter_5'")
MaterialExpressionEditorX=880
MaterialExpressionEditorY=220
MaterialExpressionGuid=BF51B438C6F7B0E49C3C46DD15FE5CCE
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.M_BlobShadow'"
End Object
MaterialExpression="/Script/Engine.MaterialExpressionMultiply'MaterialExpressionMultiply_22'"
NodePosX=880
NodePosY=220
NodeGuid=D3BB6FCFD256FE38A7C5ABA80B1939AC
CustomProperties Pin (PinId=AD64586FC801E54684A460A3F3B8FF3F,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_17 99486806BC11C54EC07074D426A01D15,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=042F96092BCD11766002C5F31FE76486,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_5 FD64DFFC21A1AC7A816248D4E0FC600D,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=A2C9AC11FE1ED460C8805D39246361D9,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_23 4EA22693B2756EA1EA224A97E2DC5980,),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_23"
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.M_BlobShadow'"
NodePosX=1500
NodePosY=-80
NodeGuid=9B029C51FAD9E6CFF20B869C2219E3C5
CustomProperties Pin (PinId=2D0D9F0700FBCB156C3097DEAE484B7B,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_20 818A7A4F095367C3AE8AAC04EAC2E8FB,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=4EA22693B2756EA1EA224A97E2DC5980,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_22 A2C9AC11FE1ED460C8805D39246361D9,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
End Object
Nodes: Comment (x5), ScalarParameter (x3), Constant2Vector (x2), Multiply (x2), VectorParameter (x2), Distance, Divide, Material, OneMinus, Power, Saturate, StaticSwitchParameter, Subtract, TextureCoordinate, TextureSampleParameter2D
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
- 5 hours ago
- Published
- 5 hours ago
- Nodes
- 24




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