Skip to main content

Description

For see-through two-sided materials like shield domes. Normally you see the inside faces at full brightness fighting with the front, and it turns into a mess. This dims the back faces so the front stays readable. One slider: how dim the inside should be (0 = invisible, 1 = no change). Hookup is slightly different from my other snippets: wire your emissive INTO the Result node's A input, then send its output to Emissive Color. Your material needs Two Sided turned on, on a one-sided material it simply does nothing.

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 (16 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=330
      SizeY=290
      Text="Backside Dim"
      CommentColor=(R=0.104616,G=0.327778,B=0.665387,A=1.000000)
      MaterialExpressionEditorX=-40
      MaterialExpressionEditorY=-100
      MaterialExpressionGuid=D6CAB5E7A451589E7BB7C8CC07CC87E6
      Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.Pasted_material'"
   End Object
   MaterialExpressionComment="/Script/Engine.MaterialExpressionComment'MaterialExpressionComment_C0'"
   CommentColor=(R=0.104616,G=0.327778,B=0.665387,A=1.000000)
   NodePosX=-40
   NodePosY=-100
   NodeWidth=330
   NodeHeight=290
   NodeComment="Backside Dim"
   NodeGuid=01F8E4E58CE914C4E8AC2CEADD0EC8A2
End Object

Begin Object Class=/Script/UnrealEd.MaterialGraphNode_Comment Name="MaterialGraphNode_Comment_1"
   Begin Object Class=/Script/Engine.MaterialExpressionComment Name="MaterialExpressionComment_C1"
   End Object
   Begin Object Name="MaterialExpressionComment_C1"
      SizeX=340
      SizeY=240
      Text="Result → Emissive Color (wire your emissive into this Multiply's A)"
      CommentColor=(R=0.162029,G=0.417885,B=0.063010,A=1.000000)
      MaterialExpressionEditorX=680
      MaterialExpressionEditorY=20
      MaterialExpressionGuid=793C60A74E81BF7A68F124231C646C55
      Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.Pasted_material'"
   End Object
   MaterialExpressionComment="/Script/Engine.MaterialExpressionComment'MaterialExpressionComment_C1'"
   CommentColor=(R=0.162029,G=0.417885,B=0.063010,A=1.000000)
   NodePosX=680
   NodePosY=20
   NodeWidth=340
   NodeHeight=240
   NodeComment="Result → Emissive Color (wire your emissive into this Multiply's A)"
   NodeGuid=784737FF2FACB2738D81FA6FE0D7DFBB
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="BacksideDim"
      DefaultValue=0.4
      SliderMin=0
      SliderMax=1
      Group="Backside Dim"
      SortPriority=0
      Desc="Backside emissive dim multiplier. 1 = backside same brightness as front, 0 = backside invisible. Standard idiom for translucent two-sided surfaces."
      MaterialExpressionEditorX=0
      MaterialExpressionEditorY=0
      MaterialExpressionGuid=581911C05FEAD3FF39177AC4B4BAB947
      Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.Pasted_material'"
   End Object
   MaterialExpression="/Script/Engine.MaterialExpressionScalarParameter'MaterialExpressionScalarParameter_2'"
   NodePosX=0
   NodePosY=0
   NodeGuid=029D9CFABE80530BD2D7AD241D0DC9E9
   CustomProperties Pin (PinId=0A7B1D935CF216A80BEFF04554477AAF,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 5221EEBDFD27F5AB12F9D9B9D4A01068,),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.MaterialExpressionTwoSidedSign Name="MaterialExpressionTwoSidedSign_3"
   End Object
   Begin Object Name="MaterialExpressionTwoSidedSign_3"
      MaterialExpressionEditorX=0
      MaterialExpressionEditorY=240
      MaterialExpressionGuid=034E32F5965ED2DF188A75AD7DB5FDAB
      Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.Pasted_material'"
   End Object
   MaterialExpression="/Script/Engine.MaterialExpressionTwoSidedSign'MaterialExpressionTwoSidedSign_3'"
   NodePosX=0
   NodePosY=240
   NodeGuid=E3DBD9F5753BAA2D75F768C2279C0FB1
   CustomProperties Pin (PinId=182916A16BC1EA3C3D295CE0F2B5E83B,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_4 3E15EFC8C253F926262D1CF0E469121E,),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.MaterialExpressionSaturate Name="MaterialExpressionSaturate_4"
   End Object
   Begin Object Name="MaterialExpressionSaturate_4"
      Input=(Expression="/Script/Engine.MaterialExpressionTwoSidedSign'MaterialGraphNode_3.MaterialExpressionTwoSidedSign_3'")
      MaterialExpressionEditorX=240
      MaterialExpressionEditorY=240
      MaterialExpressionGuid=BAD39F2B88E3D384CD869C56DFF2E833
      Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.Pasted_material'"
   End Object
   MaterialExpression="/Script/Engine.MaterialExpressionSaturate'MaterialExpressionSaturate_4'"
   NodePosX=240
   NodePosY=240
   NodeGuid=6D3C3D72473FA1C3B32F7C7875BDD3E5
   CustomProperties Pin (PinId=3E15EFC8C253F926262D1CF0E469121E,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_3 182916A16BC1EA3C3D295CE0F2B5E83B,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
   CustomProperties Pin (PinId=6B7632943E8C5B23A28146AA46012BDE,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 571CBC78456301B0B062F45A783D3D66,),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.MaterialExpressionConstant Name="MaterialExpressionConstant_5"
   End Object
   Begin Object Name="MaterialExpressionConstant_5"
      R=1
      MaterialExpressionEditorX=240
      MaterialExpressionEditorY=380
      MaterialExpressionGuid=D940AEC6F01C8C97518713A941B8B738
      Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.Pasted_material'"
   End Object
   MaterialExpression="/Script/Engine.MaterialExpressionConstant'MaterialExpressionConstant_5'"
   NodePosX=240
   NodePosY=380
   NodeGuid=902B7B8C8EB62FC9CF7DD555785CF6DE
   CustomProperties Pin (PinId=43AFD690BB69CDC36E0BDAEFB862CF33,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 B5F4A0ADD990DC643DE998798FF14119,),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.MaterialExpressionLinearInterpolate Name="MaterialExpressionLinearInterpolate_6"
   End Object
   Begin Object Name="MaterialExpressionLinearInterpolate_6"
      A=(Expression="/Script/Engine.MaterialExpressionScalarParameter'MaterialGraphNode_2.MaterialExpressionScalarParameter_2'")
      B=(Expression="/Script/Engine.MaterialExpressionConstant'MaterialGraphNode_5.MaterialExpressionConstant_5'")
      Alpha=(Expression="/Script/Engine.MaterialExpressionSaturate'MaterialGraphNode_4.MaterialExpressionSaturate_4'")
      MaterialExpressionEditorX=460
      MaterialExpressionEditorY=240
      MaterialExpressionGuid=734F0C53E595DF06EF72932DF8805B89
      Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.Pasted_material'"
   End Object
   MaterialExpression="/Script/Engine.MaterialExpressionLinearInterpolate'MaterialExpressionLinearInterpolate_6'"
   NodePosX=460
   NodePosY=240
   NodeGuid=B7544BC02E64DA4E5691D7A3038CECB3
   CustomProperties Pin (PinId=5221EEBDFD27F5AB12F9D9B9D4A01068,PinName="A",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(MaterialGraphNode_2 0A7B1D935CF216A80BEFF04554477AAF,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
   CustomProperties Pin (PinId=B5F4A0ADD990DC643DE998798FF14119,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 43AFD690BB69CDC36E0BDAEFB862CF33,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
   CustomProperties Pin (PinId=571CBC78456301B0B062F45A783D3D66,PinName="Alpha",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 6B7632943E8C5B23A28146AA46012BDE,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
   CustomProperties Pin (PinId=300A1E51CE131BD0C6763CD5E06612F2,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_7 70E5B2CA99C77B5C8739D0C1617E1CEF,),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.MaterialExpressionMultiply Name="MaterialExpressionMultiply_7"
   End Object
   Begin Object Name="MaterialExpressionMultiply_7"
      B=(Expression="/Script/Engine.MaterialExpressionLinearInterpolate'MaterialGraphNode_6.MaterialExpressionLinearInterpolate_6'")
      MaterialExpressionEditorX=764
      MaterialExpressionEditorY=132
      MaterialExpressionGuid=211E3DF22FB063B761E4BD53AE5B2DE0
      Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.Pasted_material'"
   End Object
   MaterialExpression="/Script/Engine.MaterialExpressionMultiply'MaterialExpressionMultiply_7'"
   NodePosX=764
   NodePosY=132
   NodeGuid=49E161F24B23CA8AF2745D82672522B0
   CustomProperties Pin (PinId=11A4A3E2073C4F3186ED0E0577BDDE3C,PinName="A",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
   CustomProperties Pin (PinId=70E5B2CA99C77B5C8739D0C1617E1CEF,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_6 300A1E51CE131BD0C6763CD5E06612F2,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
   CustomProperties Pin (PinId=72622751AFA1E7F2248EB9EE764986FA,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_8 BD11334FCA61C4B3B091A779F9D560CC,),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_8"
   Material="/Script/UnrealEd.PreviewMaterial'/Engine/Transient.Pasted_material'"
   NodePosX=1123
   NodePosY=-79
   NodeGuid=9C57261BF02BC9DF1CF9F71FC48C5DC6
   CustomProperties Pin (PinId=BD11334FCA61C4B3B091A779F9D560CC,PinName="Emissive 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_7 72622751AFA1E7F2248EB9EE764986FA,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False)
End Object

Nodes: Comment (x2), Constant, LinearInterpolate, Material, Multiply, Saturate, ScalarParameter, TwoSidedSign

more from @hazesee all

Camera Distance Fade

@hazeUE 5.6+

Contact Glow

@hazeUE 5.6

Fresnel Rim Stack

@hazeUE 5.6+

More like this

Contact Glow

@hazeUE 5.6

Fresnel Rim Stack

@hazeUE 5.6+

Glass Master — UE5.7 Substrate

@staticUE 5.6+

Two-Sided Backside Dim

@hazefounder
UE 5.6UE 5.7

0
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
16 hours ago
Published
16 hours ago
Nodes
9