Skip to main content

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
material graph

Preview only · open in editor for full material editing

Want this graph on your blog or forum?

0 comments

Sign in to join the discussion.

No comments yet. Be the first.

source
View T3D source (55 KB)expand
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 from @hazesee all

Refractive Lens

@hazeUE 5.6+

Contact Mask

@hazeUE 5.6+

Iridescent Thin-Film

@hazeUE 5.7

More like this

Fabric Sheen

@hazeUE 5.7

Radial Motion Blur

@hazeUE 5.6+

Car Paint

@hazeUE 5.6+

Blob Shadow

@hazefounder
UE 5.6UE 5.7

1
license

CC0 1.0: Public Domain

Public domain: use it however you like, no credit required.

dependencies

Zero dependencies

Pastes and works in any UE 5.3+ project. No textures, no material functions, no MPCs.

ue compatibility
UE 5.3UE 5.4UE 5.5UE 5.6UE 5.7

Details

Last update
5 hours ago
Published
5 hours ago
Nodes
24