
Description
Turns any grayscale into a clean, tunable mask around a movable threshold. Paste it in, wire your value into one pin, take the mask out the other end.
It's a windowed soft-threshold: it builds a band around Position, runs your input through a smoothstep across that band, then shapes the falloff with a Contrast power curve and saturates the result to 0..1. So instead of a hard cutoff you get a clean feathered edge whose width, location, and punch you actually control — and an Invert toggle to flip which side reads as "on". No textures of its own, all native nodes.
Reach for it whenever you've got a value and you want a mask out of it: gate opacity off noise, build a dissolve/reveal by animating Position, isolate a height/AO/distance band, or drive a Lerp alpha between two looks. It's the little remap you end up rebuilding by hand on every other material — here it's one paste.
Wiring (two manual hookups)
It's a paste-in node group, so there are no material settings to change — it inherits whatever the host material already is.
- It ships with a placeholder Constant (0.5) on the input, framed and labelled. Delete it and wire your own grayscale into the SmoothStep Value pin.
- Wire the Result (mask) node into whatever wants a 0..1 signal — an opacity, a
Lerpalpha, a blend mask, an emissive gate.
A T3D paste never carries those links, so both are by hand.
Params
- Position — where the threshold sits along your input (0..1).
- Width — half-width of the soft band on each side. Small = hard edge, large = gentle ramp.
- Contrast — power exponent on the band. 1 = the raw smooth ramp; higher = steeper/punchier; below 1 lifts the low end.
- Invert — flips the mask (compile-time switch, so it costs nothing).
Expose any of them through a Material Instance to tune per use-case.
Preview only · open in editor for full material editing
Want this graph on your blog or forum?
View T3D source (29 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=540
SizeY=560
Text="01 Histogram Scan"
CommentColor=(R=0.104616,G=0.327778,B=0.665387,A=1.000000)
MaterialExpressionEditorX=-1640
MaterialExpressionEditorY=-420
MaterialExpressionGuid=2EAE6F11A045FAF04269E2B3F6515E13
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.HistogramScanRemap'"
End Object
MaterialExpressionComment="/Script/Engine.MaterialExpressionComment'MaterialExpressionComment_C0'"
CommentColor=(R=0.104616,G=0.327778,B=0.665387,A=1.000000)
NodePosX=-1640
NodePosY=-420
NodeWidth=540
NodeHeight=560
NodeComment="01 Histogram Scan"
NodeGuid=7F26D8D6821EECE9A23B49496C1744AF
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="Position"
DefaultValue=0.5
SliderMin=0
SliderMax=1
Group="01 Histogram Scan"
SortPriority=0
Desc="Where the threshold sits along the input range (0..1). The soft band is centred on this value."
MaterialExpressionEditorX=-1600
MaterialExpressionEditorY=-320
MaterialExpressionGuid=89AE08DD54A9140863BC20FE66FFB2BF
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.HistogramScanRemap'"
End Object
MaterialExpression="/Script/Engine.MaterialExpressionScalarParameter'MaterialExpressionScalarParameter_1'"
NodePosX=-1600
NodePosY=-320
NodeGuid=0D23987E67E1289577B4FC0244D9D989
CustomProperties Pin (PinId=FEB7B14D7A15F647EC98965A10B4752E,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_6 46645F3BC2D93BC211F45A4B3C0B162D,MaterialGraphNode_7 4DED509A1269CB0948B3A81568FB23BA,),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="Width"
DefaultValue=0.15
SliderMin=0.001
SliderMax=0.5
Group="01 Histogram Scan"
SortPriority=1
Desc="Half-width of the soft transition band on each side of Position. Smaller = a harder edge; larger = a gentler feathered ramp."
MaterialExpressionEditorX=-1600
MaterialExpressionEditorY=-160
MaterialExpressionGuid=B29369966C4D168169434ABB3618F386
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.HistogramScanRemap'"
End Object
MaterialExpression="/Script/Engine.MaterialExpressionScalarParameter'MaterialExpressionScalarParameter_2'"
NodePosX=-1600
NodePosY=-160
NodeGuid=ECF49E4FD6B89764624C668148EDFADC
CustomProperties Pin (PinId=DCC6B3D3B1FDDFEF483AB1AA1816D9E1,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_6 C895F5A870DC02E5C25B819EFA917FD7,MaterialGraphNode_7 FE8F7D10D3FF1DB3C548011EF9F1AFF8,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_3"
Begin Object Class=/Script/Engine.MaterialExpressionScalarParameter Name="MaterialExpressionScalarParameter_3"
End Object
Begin Object Name="MaterialExpressionScalarParameter_3"
ParameterName="Contrast"
DefaultValue=1
SliderMin=0.1
SliderMax=8
Group="01 Histogram Scan"
SortPriority=2
Desc="Power exponent applied to the band. 1 = the raw smooth ramp; higher pushes the curve toward the high end (steeper, punchier mask); below 1 lifts the low end."
MaterialExpressionEditorX=-1600
MaterialExpressionEditorY=0
MaterialExpressionGuid=8739AEEE84B692922F88D61237FE13FC
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.HistogramScanRemap'"
End Object
MaterialExpression="/Script/Engine.MaterialExpressionScalarParameter'MaterialExpressionScalarParameter_3'"
NodePosX=-1600
NodePosY=0
NodeGuid=8C9B3EF081F92960380BC3408F55A02F
CustomProperties Pin (PinId=8D7DB743E448A06E8495385394FDDA7E,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 03A0E3728AC753C650CD1FCB70265B6B,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_4"
Begin Object Class=/Script/Engine.MaterialExpressionConstant Name="MaterialExpressionConstant_4"
End Object
Begin Object Name="MaterialExpressionConstant_4"
R=0.5
MaterialExpressionEditorX=-1180
MaterialExpressionEditorY=400
MaterialExpressionGuid=374DD4A6C5B882CA9057CFE072595E47
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.HistogramScanRemap'"
End Object
MaterialExpression="/Script/Engine.MaterialExpressionConstant'MaterialExpressionConstant_4'"
NodePosX=-1180
NodePosY=400
NodeGuid=14DDF6A8E51BF2DCD2BE0BE6B893D4DD
CustomProperties Pin (PinId=E8A17CA67262296AAAE3B516BC3BDDBE,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_8 9644181214F65C67E6C120FAE54C1998,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode_Comment Name="MaterialGraphNode_Comment_5"
Begin Object Class=/Script/Engine.MaterialExpressionComment Name="MaterialExpressionComment_C5"
End Object
Begin Object Name="MaterialExpressionComment_C5"
SizeX=320
SizeY=200
Text="Input — replace with your grayscale/value"
CommentColor=(R=0.846873,G=0.205079,B=0.030713,A=1.000000)
MaterialExpressionEditorX=-1220
MaterialExpressionEditorY=320
MaterialExpressionGuid=069B0ADC383E1B95648F9F9A630BCECC
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.HistogramScanRemap'"
End Object
MaterialExpressionComment="/Script/Engine.MaterialExpressionComment'MaterialExpressionComment_C5'"
CommentColor=(R=0.846873,G=0.205079,B=0.030713,A=1.000000)
NodePosX=-1220
NodePosY=320
NodeWidth=320
NodeHeight=200
NodeComment="Input — replace with your grayscale/value"
NodeGuid=75374A9C7DD759A72BBBAE97D3D98D86
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_6"
Begin Object Class=/Script/Engine.MaterialExpressionSubtract Name="MaterialExpressionSubtract_6"
End Object
Begin Object Name="MaterialExpressionSubtract_6"
A=(Expression="/Script/Engine.MaterialExpressionScalarParameter'MaterialGraphNode_1.MaterialExpressionScalarParameter_1'")
B=(Expression="/Script/Engine.MaterialExpressionScalarParameter'MaterialGraphNode_2.MaterialExpressionScalarParameter_2'")
MaterialExpressionEditorX=-820
MaterialExpressionEditorY=-240
MaterialExpressionGuid=98616689F1E9D34827363D983FC167A6
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.HistogramScanRemap'"
End Object
MaterialExpression="/Script/Engine.MaterialExpressionSubtract'MaterialExpressionSubtract_6'"
NodePosX=-820
NodePosY=-240
NodeGuid=464160D9D1FAA161075879B67A8E2B83
CustomProperties Pin (PinId=46645F3BC2D93BC211F45A4B3C0B162D,PinName="A",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_1 FEB7B14D7A15F647EC98965A10B4752E,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=C895F5A870DC02E5C25B819EFA917FD7,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_2 DCC6B3D3B1FDDFEF483AB1AA1816D9E1,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=A0B1659757AF9753C7D4B3EE66D1BDF2,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_8 AF7B0B100F97E2E764E1AD9BFCBE65C9,),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.MaterialExpressionAdd Name="MaterialExpressionAdd_7"
End Object
Begin Object Name="MaterialExpressionAdd_7"
A=(Expression="/Script/Engine.MaterialExpressionScalarParameter'MaterialGraphNode_1.MaterialExpressionScalarParameter_1'")
B=(Expression="/Script/Engine.MaterialExpressionScalarParameter'MaterialGraphNode_2.MaterialExpressionScalarParameter_2'")
MaterialExpressionEditorX=-820
MaterialExpressionEditorY=-60
MaterialExpressionGuid=36564A6E8D07DCA2E4106CC13AD0A799
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.HistogramScanRemap'"
End Object
MaterialExpression="/Script/Engine.MaterialExpressionAdd'MaterialExpressionAdd_7'"
NodePosX=-820
NodePosY=-60
NodeGuid=0CB4C7792A00BBDABA6E50DE43DF385C
CustomProperties Pin (PinId=4DED509A1269CB0948B3A81568FB23BA,PinName="A",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_1 FEB7B14D7A15F647EC98965A10B4752E,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=FE8F7D10D3FF1DB3C548011EF9F1AFF8,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_2 DCC6B3D3B1FDDFEF483AB1AA1816D9E1,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=26F722E890535A7B646EB9E06F14D756,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_8 34738DE1137A26080ED46494ED2F3822,),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.MaterialExpressionSmoothStep Name="MaterialExpressionSmoothStep_8"
End Object
Begin Object Name="MaterialExpressionSmoothStep_8"
Min=(Expression="/Script/Engine.MaterialExpressionSubtract'MaterialGraphNode_6.MaterialExpressionSubtract_6'")
Max=(Expression="/Script/Engine.MaterialExpressionAdd'MaterialGraphNode_7.MaterialExpressionAdd_7'")
Value=(Expression="/Script/Engine.MaterialExpressionConstant'MaterialGraphNode_4.MaterialExpressionConstant_4'")
MaterialExpressionEditorX=-560
MaterialExpressionEditorY=80
MaterialExpressionGuid=1E36BE2BBF65CCC8FA212DDBF652F313
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.HistogramScanRemap'"
End Object
MaterialExpression="/Script/Engine.MaterialExpressionSmoothStep'MaterialExpressionSmoothStep_8'"
NodePosX=-560
NodePosY=80
NodeGuid=4B64974DEC6BC0586A66222489769B6E
CustomProperties Pin (PinId=AF7B0B100F97E2E764E1AD9BFCBE65C9,PinName="Min",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_6 A0B1659757AF9753C7D4B3EE66D1BDF2,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=34738DE1137A26080ED46494ED2F3822,PinName="Max",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_7 26F722E890535A7B646EB9E06F14D756,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=9644181214F65C67E6C120FAE54C1998,PinName="Value",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_4 E8A17CA67262296AAAE3B516BC3BDDBE,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=3276697A7246F78090389A85FF625F81,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 F8A2522B6565DBBDE4500AB6DF027E15,),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.MaterialExpressionPower Name="MaterialExpressionPower_9"
End Object
Begin Object Name="MaterialExpressionPower_9"
Base=(Expression="/Script/Engine.MaterialExpressionSmoothStep'MaterialGraphNode_8.MaterialExpressionSmoothStep_8'")
Exponent=(Expression="/Script/Engine.MaterialExpressionScalarParameter'MaterialGraphNode_3.MaterialExpressionScalarParameter_3'")
MaterialExpressionEditorX=-320
MaterialExpressionEditorY=80
MaterialExpressionGuid=D892E339931BD39EEF78DBB0547FACA0
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.HistogramScanRemap'"
End Object
MaterialExpression="/Script/Engine.MaterialExpressionPower'MaterialExpressionPower_9'"
NodePosX=-320
NodePosY=80
NodeGuid=B6F09DB7F23C57932C81AA86D1BEA820
CustomProperties Pin (PinId=F8A2522B6565DBBDE4500AB6DF027E15,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_8 3276697A7246F78090389A85FF625F81,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=03A0E3728AC753C650CD1FCB70265B6B,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_3 8D7DB743E448A06E8495385394FDDA7E,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=363A55EE89C6DF765777BCCC6524CAE2,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 C954EE59F174FF438B70FA6358037383,MaterialGraphNode_11 D6F0B337AB67E74C48C601A007B08180,),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.MaterialExpressionOneMinus Name="MaterialExpressionOneMinus_10"
End Object
Begin Object Name="MaterialExpressionOneMinus_10"
Input=(Expression="/Script/Engine.MaterialExpressionPower'MaterialGraphNode_9.MaterialExpressionPower_9'")
MaterialExpressionEditorX=-80
MaterialExpressionEditorY=-60
MaterialExpressionGuid=BB236AF36E1E228DD36BBBAC302809FC
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.HistogramScanRemap'"
End Object
MaterialExpression="/Script/Engine.MaterialExpressionOneMinus'MaterialExpressionOneMinus_10'"
NodePosX=-80
NodePosY=-60
NodeGuid=D18D24D626381B8561F110256353FF25
CustomProperties Pin (PinId=C954EE59F174FF438B70FA6358037383,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_9 363A55EE89C6DF765777BCCC6524CAE2,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=D6515A42E23F5ADFA56F3AB189067EFE,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 27B6916C01B48AF5266D55F3C92F7EED,),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.MaterialExpressionStaticSwitchParameter Name="MaterialExpressionStaticSwitchParameter_11"
End Object
Begin Object Name="MaterialExpressionStaticSwitchParameter_11"
ParameterName="Invert"
DefaultValue=False
Group="01 Histogram Scan"
SortPriority=3
Desc="Off = mask is 1 above the threshold. On = flips it (1 below the threshold)."
A=(Expression="/Script/Engine.MaterialExpressionOneMinus'MaterialGraphNode_10.MaterialExpressionOneMinus_10'")
B=(Expression="/Script/Engine.MaterialExpressionPower'MaterialGraphNode_9.MaterialExpressionPower_9'")
MaterialExpressionEditorX=160
MaterialExpressionEditorY=60
MaterialExpressionGuid=C81226E51206DD75DE851BB22811640C
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.HistogramScanRemap'"
End Object
MaterialExpression="/Script/Engine.MaterialExpressionStaticSwitchParameter'MaterialExpressionStaticSwitchParameter_11'"
NodePosX=160
NodePosY=60
NodeGuid=9ED960F63E2CCC6AD2D7FC760521FFD6
CustomProperties Pin (PinId=27B6916C01B48AF5266D55F3C92F7EED,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_10 D6515A42E23F5ADFA56F3AB189067EFE,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=D6F0B337AB67E74C48C601A007B08180,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_9 363A55EE89C6DF765777BCCC6524CAE2,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=91F5290EB26E26AC5896B50677ECD2C6,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 DBC22FEC1324CB8532503FE68D425CAF,),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"
Input=(Expression="/Script/Engine.MaterialExpressionStaticSwitchParameter'MaterialGraphNode_11.MaterialExpressionStaticSwitchParameter_11'")
MaterialExpressionEditorX=440
MaterialExpressionEditorY=80
MaterialExpressionGuid=DB695EB580E21828E9A11F84A1AD191F
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.HistogramScanRemap'"
End Object
MaterialExpression="/Script/Engine.MaterialExpressionSaturate'MaterialExpressionSaturate_12'"
NodePosX=440
NodePosY=80
NodeGuid=0BF70D6E97E38CA301F3E089EDE4C9A7
CustomProperties Pin (PinId=DBC22FEC1324CB8532503FE68D425CAF,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 91F5290EB26E26AC5896B50677ECD2C6,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
CustomProperties Pin (PinId=D6B461F1CBC6817138E8FA41C06A51CB,PinName="Output",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode_Comment Name="MaterialGraphNode_Comment_13"
Begin Object Class=/Script/Engine.MaterialExpressionComment Name="MaterialExpressionComment_C13"
End Object
Begin Object Name="MaterialExpressionComment_C13"
SizeX=400
SizeY=220
Text="Result (mask) → an opacity / Lerp alpha / blend mask"
CommentColor=(R=0.162029,G=0.417885,B=0.063010,A=1.000000)
MaterialExpressionEditorX=400
MaterialExpressionEditorY=0
MaterialExpressionGuid=0B72BC01BCDAE7AF90A93CF036E8908B
Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.HistogramScanRemap'"
End Object
MaterialExpressionComment="/Script/Engine.MaterialExpressionComment'MaterialExpressionComment_C13'"
CommentColor=(R=0.162029,G=0.417885,B=0.063010,A=1.000000)
NodePosX=400
NodePosY=0
NodeWidth=400
NodeHeight=220
NodeComment="Result (mask) → an opacity / Lerp alpha / blend mask"
NodeGuid=0AF9C05DB5AC782A554F7BD6210A121A
End Object
Nodes: Comment (x3), ScalarParameter (x3), Add, Constant, Material, OneMinus, Power, Saturate, SmoothStep, StaticSwitchParameter, Subtract
More like this
CC0 1.0: Public Domain
Public domain: use it however you like, no credit required.
Zero dependencies
Pastes and works in any UE 5.3+ project. No textures, no material functions, no MPCs.
Details
- Last update
- 2 hours ago
- Published
- 2 hours ago
- Nodes
- 14



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