Download

Bioshock-style Pickup Glimmer Material

I recently re-played through the entire Bioshock series, and one of the things they do in those games that I really liked was that pickups, loot, and interactable items didn’t stand out. They didn’t glow, they didn’t have labels floating over them. You’d just find coins or bills on a desk, a candy bar on a table, or a button next to an elevator, etc… But, to make sure you knew which items you could pickup or interact with, those items will occasionally glimmer. In game, you usually catch it almost as if out of the corner of your eye. It makes for a subtle hint that doesn’t break immersion and take away from the gorgeous environments of that game.

I thought it would be fun to recreate that effect as a UE4 material and I was curious to see if that approach would work better than our current pickup visuals in Republic Sniper. It was surprisingly easy to implement. I really do love UE4’s material system.

The material is based upon a standard Default Lit opaque material (though you could also use a translucent material and get the same effect). There are parameters for base color, roughness/gloss, and normal maps for creating object-specific material instances. A Sine curve fed off of a Time input node drives the glimmer, and there’s a parameter to speed up or slow down how often the material glimmers. Both the light intensity and the light color are also parameters and can be overridden in material instances.

There’s one thing that can’t be controlled by an instance parameter, which is how “wide” the glimmer is. In other words, how much of the object can glow at any given moment in time. This is controlled by the equals threshold of the If node, so if you wanted to have materials with different glimmer “widths”, you’d have to have multiple master materials.

It uses ScreenAlignedUVs and a gradient texture to drive the glimmer. From further way, it’s just a glimmer, up close, it’s a quick right and then left flash. The gradient is a simple linear gradient going from pure black to pure white horizontally.

You are welcome to use in your games without obligation, and if you make any changes or improvements, I’d love to hear what you did.

Here’s a picture of the node graph (click for full-size):
http://8.t.imgbox.com/jsN8NZ0y.jpg

Here’s the node layout for pasting into the material editor:


Begin Object Class=MaterialGraphNode_Root Name="MaterialGraphNode_Root_1"
   Begin Object Class=EdGraphPin Name="EdGraphPin_70990"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_70989"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_70988"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_70987"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_70986"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_70985"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_70984"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_70983"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_70982"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_70981"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_70980"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_70979"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_70978"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_70977"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_70976"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_70975"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_70974"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_70973"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_70972"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_70971"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_70970"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_70969"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_70968"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_70967"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_70966"
   End Object
   Begin Object Name="EdGraphPin_70990"
      PinName="Material Attributes"
      PinType=(PinCategory="materialinput")
   End Object
   Begin Object Name="EdGraphPin_70989"
      PinName="Customized UV7"
      PinType=(PinCategory="materialinput")
   End Object
   Begin Object Name="EdGraphPin_70988"
      PinName="Customized UV6"
      PinType=(PinCategory="materialinput")
   End Object
   Begin Object Name="EdGraphPin_70987"
      PinName="Customized UV5"
      PinType=(PinCategory="materialinput")
   End Object
   Begin Object Name="EdGraphPin_70986"
      PinName="Customized UV4"
      PinType=(PinCategory="materialinput")
   End Object
   Begin Object Name="EdGraphPin_70985"
      PinName="Customized UV3"
      PinType=(PinCategory="materialinput")
   End Object
   Begin Object Name="EdGraphPin_70984"
      PinName="Customized UV2"
      PinType=(PinCategory="materialinput")
   End Object
   Begin Object Name="EdGraphPin_70983"
      PinName="Customized UV1"
      PinType=(PinCategory="materialinput")
   End Object
   Begin Object Name="EdGraphPin_70982"
      PinName="Customized UV0"
      PinType=(PinCategory="materialinput")
   End Object
   Begin Object Name="EdGraphPin_70981"
      PinName="Refraction"
      PinType=(PinCategory="materialinput")
   End Object
   Begin Object Name="EdGraphPin_70980"
      PinName="Ambient Occlusion"
      PinType=(PinCategory="materialinput")
   End Object
   Begin Object Name="EdGraphPin_70979"
      PinName="Clear Coat Roughness"
      PinType=(PinCategory="materialinput")
   End Object
   Begin Object Name="EdGraphPin_70978"
      PinName="Clear Coat"
      PinType=(PinCategory="materialinput")
   End Object
   Begin Object Name="EdGraphPin_70977"
      PinName="Subsurface Color"
      PinType=(PinCategory="materialinput")
   End Object
   Begin Object Name="EdGraphPin_70976"
      PinName="Tessellation Multiplier"
      PinType=(PinCategory="materialinput")
   End Object
   Begin Object Name="EdGraphPin_70975"
      PinName="World Displacement"
      PinType=(PinCategory="materialinput")
   End Object
   Begin Object Name="EdGraphPin_70974"
      PinName="World Position Offset"
      PinType=(PinCategory="materialinput")
   End Object
   Begin Object Name="EdGraphPin_70973"
      PinName="Normal"
      PinType=(PinCategory="materialinput")
      LinkedTo(0)=EdGraphPin'MaterialGraphNode_6.EdGraphPin_71004'
   End Object
   Begin Object Name="EdGraphPin_70972"
      PinName="Opacity Mask"
      PinType=(PinCategory="materialinput")
   End Object
   Begin Object Name="EdGraphPin_70971"
      PinName="Opacity"
      PinType=(PinCategory="materialinput")
   End Object
   Begin Object Name="EdGraphPin_70970"
      PinName="Emissive Color"
      PinType=(PinCategory="materialinput")
      LinkedTo(0)=EdGraphPin'MaterialGraphNode_7.EdGraphPin_71011'
   End Object
   Begin Object Name="EdGraphPin_70969"
      PinName="Roughness"
      PinType=(PinCategory="materialinput")
      LinkedTo(0)=EdGraphPin'MaterialGraphNode_5.EdGraphPin_70998'
   End Object
   Begin Object Name="EdGraphPin_70968"
      PinName="Specular"
      PinType=(PinCategory="materialinput")
   End Object
   Begin Object Name="EdGraphPin_70967"
      PinName="Metallic"
      PinType=(PinCategory="materialinput")
   End Object
   Begin Object Name="EdGraphPin_70966"
      PinName="Base Color"
      PinType=(PinCategory="materialinput")
      LinkedTo(0)=EdGraphPin'MaterialGraphNode_4.EdGraphPin_70992'
   End Object
   Material=PreviewMaterial'/Engine/Transient.M_PickupMaster'
   Pins(0)=EdGraphPin'EdGraphPin_70966'
   Pins(1)=EdGraphPin'EdGraphPin_70967'
   Pins(2)=EdGraphPin'EdGraphPin_70968'
   Pins(3)=EdGraphPin'EdGraphPin_70969'
   Pins(4)=EdGraphPin'EdGraphPin_70970'
   Pins(5)=EdGraphPin'EdGraphPin_70971'
   Pins(6)=EdGraphPin'EdGraphPin_70972'
   Pins(7)=EdGraphPin'EdGraphPin_70973'
   Pins(8)=EdGraphPin'EdGraphPin_70974'
   Pins(9)=EdGraphPin'EdGraphPin_70975'
   Pins(10)=EdGraphPin'EdGraphPin_70976'
   Pins(11)=EdGraphPin'EdGraphPin_70977'
   Pins(12)=EdGraphPin'EdGraphPin_70978'
   Pins(13)=EdGraphPin'EdGraphPin_70979'
   Pins(14)=EdGraphPin'EdGraphPin_70980'
   Pins(15)=EdGraphPin'EdGraphPin_70981'
   Pins(16)=EdGraphPin'EdGraphPin_70982'
   Pins(17)=EdGraphPin'EdGraphPin_70983'
   Pins(18)=EdGraphPin'EdGraphPin_70984'
   Pins(19)=EdGraphPin'EdGraphPin_70985'
   Pins(20)=EdGraphPin'EdGraphPin_70986'
   Pins(21)=EdGraphPin'EdGraphPin_70987'
   Pins(22)=EdGraphPin'EdGraphPin_70988'
   Pins(23)=EdGraphPin'EdGraphPin_70989'
   Pins(24)=EdGraphPin'EdGraphPin_70990'
   NodePosX=128
   NodeGuid=DA4E90A18748CD5D52EBC4B26BFA316C
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_4"
   Begin Object Class=EdGraphPin Name="EdGraphPin_70996"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_70995"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_70994"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_70993"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_70992"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_70991"
   End Object
   Begin Object Class=MaterialExpressionTextureSampleParameter2D Name="MaterialExpressionTextureSampleParameter2D_0"
   End Object
   Begin Object Name="EdGraphPin_70996"
      PinName="Output5"
      PinFriendlyName=" "
      Direction=EGPD_Output
      PinType=(PinCategory="mask",PinSubCategory="alpha")
   End Object
   Begin Object Name="EdGraphPin_70995"
      PinName="Output4"
      PinFriendlyName=" "
      Direction=EGPD_Output
      PinType=(PinCategory="mask",PinSubCategory="blue")
   End Object
   Begin Object Name="EdGraphPin_70994"
      PinName="Output3"
      PinFriendlyName=" "
      Direction=EGPD_Output
      PinType=(PinCategory="mask",PinSubCategory="green")
   End Object
   Begin Object Name="EdGraphPin_70993"
      PinName="Output2"
      PinFriendlyName=" "
      Direction=EGPD_Output
      PinType=(PinCategory="mask",PinSubCategory="red")
   End Object
   Begin Object Name="EdGraphPin_70992"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      PinType=(PinCategory="mask")
      LinkedTo(0)=EdGraphPin'MaterialGraphNode_Root_1.EdGraphPin_70966'
   End Object
   Begin Object Name="EdGraphPin_70991"
      PinName="UVs"
      PinType=(PinCategory="optional")
   End Object
   Begin Object Name="MaterialExpressionTextureSampleParameter2D_0"
      ParameterName="Base Color"
      ExpressionGUID=1BEEC719AD4E6BED8727569D1F7C57F5
      Texture=Texture2D'/Game/Textures/Tiles/hexmap.hexmap'
      MaterialExpressionEditorX=-640
      MaterialExpressionEditorY=-384
      MaterialExpressionGuid=7BC995A29C45D7761D5D29A01031F533
      Material=PreviewMaterial'/Engine/Transient.M_PickupMaster'
   End Object
   MaterialExpression=MaterialExpressionTextureSampleParameter2D'MaterialExpressionTextureSampleParameter2D_0'
   Pins(0)=EdGraphPin'EdGraphPin_70991'
   Pins(1)=EdGraphPin'EdGraphPin_70992'
   Pins(2)=EdGraphPin'EdGraphPin_70993'
   Pins(3)=EdGraphPin'EdGraphPin_70994'
   Pins(4)=EdGraphPin'EdGraphPin_70995'
   Pins(5)=EdGraphPin'EdGraphPin_70996'
   NodePosX=-640
   NodePosY=-384
   bCanRenameNode=True
   NodeGuid=249CDBEEEB44C7B1197D7E8CAD45ABE8
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_5"
   Begin Object Class=EdGraphPin Name="EdGraphPin_71002"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_71001"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_71000"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_70999"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_70998"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_70997"
   End Object
   Begin Object Class=MaterialExpressionTextureSampleParameter2D Name="MaterialExpressionTextureSampleParameter2D_1"
   End Object
   Begin Object Name="EdGraphPin_71002"
      PinName="Output5"
      PinFriendlyName=" "
      Direction=EGPD_Output
      PinType=(PinCategory="mask",PinSubCategory="alpha")
   End Object
   Begin Object Name="EdGraphPin_71001"
      PinName="Output4"
      PinFriendlyName=" "
      Direction=EGPD_Output
      PinType=(PinCategory="mask",PinSubCategory="blue")
   End Object
   Begin Object Name="EdGraphPin_71000"
      PinName="Output3"
      PinFriendlyName=" "
      Direction=EGPD_Output
      PinType=(PinCategory="mask",PinSubCategory="green")
   End Object
   Begin Object Name="EdGraphPin_70999"
      PinName="Output2"
      PinFriendlyName=" "
      Direction=EGPD_Output
      PinType=(PinCategory="mask",PinSubCategory="red")
   End Object
   Begin Object Name="EdGraphPin_70998"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      PinType=(PinCategory="mask")
      LinkedTo(0)=EdGraphPin'MaterialGraphNode_Root_1.EdGraphPin_70969'
   End Object
   Begin Object Name="EdGraphPin_70997"
      PinName="UVs"
      PinType=(PinCategory="optional")
   End Object
   Begin Object Name="MaterialExpressionTextureSampleParameter2D_1"
      ParameterName="Roughness Map"
      ExpressionGUID=29F89933D64587E8357B7884A8F5F250
      Texture=Texture2D'/Game/Textures/T_white_D.T_white_D'
      MaterialExpressionEditorX=-640
      MaterialExpressionEditorY=-192
      MaterialExpressionGuid=185916F0B247A0FF2DD17D82B0984B1D
      Material=PreviewMaterial'/Engine/Transient.M_PickupMaster'
   End Object
   MaterialExpression=MaterialExpressionTextureSampleParameter2D'MaterialExpressionTextureSampleParameter2D_1'
   Pins(0)=EdGraphPin'EdGraphPin_70997'
   Pins(1)=EdGraphPin'EdGraphPin_70998'
   Pins(2)=EdGraphPin'EdGraphPin_70999'
   Pins(3)=EdGraphPin'EdGraphPin_71000'
   Pins(4)=EdGraphPin'EdGraphPin_71001'
   Pins(5)=EdGraphPin'EdGraphPin_71002'
   NodePosX=-640
   NodePosY=-192
   bCanRenameNode=True
   NodeGuid=A8F5905CD64FF10D5298C5B5A688CAC0
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_6"
   Begin Object Class=EdGraphPin Name="EdGraphPin_71008"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_71007"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_71006"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_71005"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_71004"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_71003"
   End Object
   Begin Object Class=MaterialExpressionTextureSampleParameter2D Name="MaterialExpressionTextureSampleParameter2D_2"
   End Object
   Begin Object Name="EdGraphPin_71008"
      PinName="Output5"
      PinFriendlyName=" "
      Direction=EGPD_Output
      PinType=(PinCategory="mask",PinSubCategory="alpha")
   End Object
   Begin Object Name="EdGraphPin_71007"
      PinName="Output4"
      PinFriendlyName=" "
      Direction=EGPD_Output
      PinType=(PinCategory="mask",PinSubCategory="blue")
   End Object
   Begin Object Name="EdGraphPin_71006"
      PinName="Output3"
      PinFriendlyName=" "
      Direction=EGPD_Output
      PinType=(PinCategory="mask",PinSubCategory="green")
   End Object
   Begin Object Name="EdGraphPin_71005"
      PinName="Output2"
      PinFriendlyName=" "
      Direction=EGPD_Output
      PinType=(PinCategory="mask",PinSubCategory="red")
   End Object
   Begin Object Name="EdGraphPin_71004"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      PinType=(PinCategory="mask")
      LinkedTo(0)=EdGraphPin'MaterialGraphNode_Root_1.EdGraphPin_70973'
   End Object
   Begin Object Name="EdGraphPin_71003"
      PinName="UVs"
      PinType=(PinCategory="optional")
   End Object
   Begin Object Name="MaterialExpressionTextureSampleParameter2D_2"
      ParameterName="Normal Map"
      ExpressionGUID=F3D0569EED49D171BE41B3B94DD24714
      Texture=Texture2D'/Game/Textures/map_neutral_N.map_neutral_N'
      SamplerType=SAMPLERTYPE_Normal
      MaterialExpressionEditorX=-640
      MaterialExpressionGuid=FFE58C80E943998169EB489D095D932A
      Material=PreviewMaterial'/Engine/Transient.M_PickupMaster'
   End Object
   MaterialExpression=MaterialExpressionTextureSampleParameter2D'MaterialExpressionTextureSampleParameter2D_2'
   Pins(0)=EdGraphPin'EdGraphPin_71003'
   Pins(1)=EdGraphPin'EdGraphPin_71004'
   Pins(2)=EdGraphPin'EdGraphPin_71005'
   Pins(3)=EdGraphPin'EdGraphPin_71006'
   Pins(4)=EdGraphPin'EdGraphPin_71007'
   Pins(5)=EdGraphPin'EdGraphPin_71008'
   NodePosX=-640
   bCanRenameNode=True
   NodeGuid=756995C3EB495C8801F52E86B98961AE
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_7"
   Begin Object Class=EdGraphPin Name="EdGraphPin_71011"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_71010"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_71009"
   End Object
   Begin Object Class=MaterialExpressionMultiply Name="MaterialExpressionMultiply_0"
   End Object
   Begin Object Name="EdGraphPin_71011"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'MaterialGraphNode_Root_1.EdGraphPin_70970'
   End Object
   Begin Object Name="EdGraphPin_71010"
      PinName="B"
      PinType=(PinCategory="optional")
      LinkedTo(0)=EdGraphPin'MaterialGraphNode_13.EdGraphPin_71030'
   End Object
   Begin Object Name="EdGraphPin_71009"
      PinName="A"
      PinType=(PinCategory="optional")
      LinkedTo(0)=EdGraphPin'MaterialGraphNode_12.EdGraphPin_71029'
   End Object
   Begin Object Name="MaterialExpressionMultiply_0"
      A=(Expression=MaterialExpressionIf'MaterialGraphNode_12.MaterialExpressionIf_0')
      B=(Expression=MaterialExpressionScalarParameter'MaterialGraphNode_13.MaterialExpressionScalarParameter_0')
      MaterialExpressionEditorX=-128
      MaterialExpressionEditorY=256
      MaterialExpressionGuid=CE4730085D4FD28905AA568700D56373
      Material=PreviewMaterial'/Engine/Transient.M_PickupMaster'
   End Object
   MaterialExpression=MaterialExpressionMultiply'MaterialExpressionMultiply_0'
   Pins(0)=EdGraphPin'EdGraphPin_71009'
   Pins(1)=EdGraphPin'EdGraphPin_71010'
   Pins(2)=EdGraphPin'EdGraphPin_71011'
   NodePosX=-128
   NodePosY=256
   NodeGuid=096A4E903F465245C571FBB39AA547C4
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_8"
   Begin Object Class=EdGraphPin Name="EdGraphPin_71017"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_71016"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_71015"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_71014"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_71013"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_71012"
   End Object
   Begin Object Class=MaterialExpressionTextureSample Name="MaterialExpressionTextureSample_0"
   End Object
   Begin Object Name="EdGraphPin_71017"
      PinName="Output5"
      PinFriendlyName=" "
      Direction=EGPD_Output
      PinType=(PinCategory="mask",PinSubCategory="alpha")
   End Object
   Begin Object Name="EdGraphPin_71016"
      PinName="Output4"
      PinFriendlyName=" "
      Direction=EGPD_Output
      PinType=(PinCategory="mask",PinSubCategory="blue")
   End Object
   Begin Object Name="EdGraphPin_71015"
      PinName="Output3"
      PinFriendlyName=" "
      Direction=EGPD_Output
      PinType=(PinCategory="mask",PinSubCategory="green")
   End Object
   Begin Object Name="EdGraphPin_71014"
      PinName="Output2"
      PinFriendlyName=" "
      Direction=EGPD_Output
      PinType=(PinCategory="mask",PinSubCategory="red")
      LinkedTo(0)=EdGraphPin'MaterialGraphNode_12.EdGraphPin_71024'
   End Object
   Begin Object Name="EdGraphPin_71013"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      PinType=(PinCategory="mask")
   End Object
   Begin Object Name="EdGraphPin_71012"
      PinName="UVs"
      PinType=(PinCategory="optional")
      LinkedTo(0)=EdGraphPin'MaterialGraphNode_18.EdGraphPin_71043'
   End Object
   Begin Object Name="MaterialExpressionTextureSample_0"
      Coordinates=(Expression=MaterialExpressionMaterialFunctionCall'MaterialGraphNode_18.MaterialExpressionMaterialFunctionCall_0')
      Texture=Texture2D'/Game/Textures/Props/PickupGradient.PickupGradient'
      SamplerType=SAMPLERTYPE_Masks
      MaterialExpressionEditorX=-1024
      MaterialExpressionEditorY=640
      MaterialExpressionGuid=88598A69C24720163DD1C695EDA27778
      Material=PreviewMaterial'/Engine/Transient.M_PickupMaster'
   End Object
   MaterialExpression=MaterialExpressionTextureSample'MaterialExpressionTextureSample_0'
   Pins(0)=EdGraphPin'EdGraphPin_71012'
   Pins(1)=EdGraphPin'EdGraphPin_71013'
   Pins(2)=EdGraphPin'EdGraphPin_71014'
   Pins(3)=EdGraphPin'EdGraphPin_71015'
   Pins(4)=EdGraphPin'EdGraphPin_71016'
   Pins(5)=EdGraphPin'EdGraphPin_71017'
   NodePosX=-1024
   NodePosY=640
   NodeGuid=DB379F957943D5DDA43FE0982E0A151E
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_9"
   Begin Object Class=EdGraphPin Name="EdGraphPin_71018"
   End Object
   Begin Object Class=MaterialExpressionTime Name="MaterialExpressionTime_0"
   End Object
   Begin Object Name="EdGraphPin_71018"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'MaterialGraphNode_11.EdGraphPin_71021'
   End Object
   Begin Object Name="MaterialExpressionTime_0"
      MaterialExpressionEditorX=-1536
      MaterialExpressionEditorY=256
      MaterialExpressionGuid=1D875F043243168F6D525EAFA66264AC
      Material=PreviewMaterial'/Engine/Transient.M_PickupMaster'
   End Object
   MaterialExpression=MaterialExpressionTime'MaterialExpressionTime_0'
   Pins(0)=EdGraphPin'EdGraphPin_71018'
   NodePosX=-1536
   NodePosY=256
   NodeGuid=9FA23B56484718050481A4A5FC4A2DB9
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_10"
   Begin Object Class=EdGraphPin Name="EdGraphPin_71020"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_71019"
   End Object
   Begin Object Class=MaterialExpressionSine Name="MaterialExpressionSine_0"
   End Object
   Begin Object Name="EdGraphPin_71020"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'MaterialGraphNode_16.EdGraphPin_71037'
   End Object
   Begin Object Name="EdGraphPin_71019"
      PinName="Input"
      PinFriendlyName=" "
      PinType=(PinCategory="required")
      LinkedTo(0)=EdGraphPin'MaterialGraphNode_11.EdGraphPin_71023'
   End Object
   Begin Object Name="MaterialExpressionSine_0"
      Input=(Expression=MaterialExpressionDivide'MaterialGraphNode_11.MaterialExpressionDivide_0')
      MaterialExpressionEditorX=-1024
      MaterialExpressionEditorY=256
      MaterialExpressionGuid=8E87EA1FCF48D170B3E6BF8771EDC9AB
      Material=PreviewMaterial'/Engine/Transient.M_PickupMaster'
   End Object
   MaterialExpression=MaterialExpressionSine'MaterialExpressionSine_0'
   Pins(0)=EdGraphPin'EdGraphPin_71019'
   Pins(1)=EdGraphPin'EdGraphPin_71020'
   NodePosX=-1024
   NodePosY=256
   NodeGuid=FF5CF96A584F01EDDAB83E8C9C838FB1
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_11"
   Begin Object Class=EdGraphPin Name="EdGraphPin_71023"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_71022"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_71021"
   End Object
   Begin Object Class=MaterialExpressionDivide Name="MaterialExpressionDivide_0"
   End Object
   Begin Object Name="EdGraphPin_71023"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'MaterialGraphNode_10.EdGraphPin_71019'
   End Object
   Begin Object Name="EdGraphPin_71022"
      PinName="B"
      PinType=(PinCategory="optional")
   End Object
   Begin Object Name="EdGraphPin_71021"
      PinName="A"
      PinType=(PinCategory="optional")
      LinkedTo(0)=EdGraphPin'MaterialGraphNode_9.EdGraphPin_71018'
   End Object
   Begin Object Name="MaterialExpressionDivide_0"
      A=(Expression=MaterialExpressionTime'MaterialGraphNode_9.MaterialExpressionTime_0')
      ConstB=10.000000
      MaterialExpressionEditorX=-1280
      MaterialExpressionEditorY=256
      MaterialExpressionGuid=721D1536AB49D0D8DEBEC39E36FBFB32
      Material=PreviewMaterial'/Engine/Transient.M_PickupMaster'
      Desc="Slows down glint. Don\'t change, use Time Modifier parameter"
   End Object
   MaterialExpression=MaterialExpressionDivide'MaterialExpressionDivide_0'
   Pins(0)=EdGraphPin'EdGraphPin_71021'
   Pins(1)=EdGraphPin'EdGraphPin_71022'
   Pins(2)=EdGraphPin'EdGraphPin_71023'
   NodePosX=-1280
   NodePosY=256
   NodeComment="Slows down glint. Don\'t change, use Time Modifier parameter"
   bCommentBubbleVisible=True
   NodeGuid=7050F6D9814172065E6D80A87D99118F
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_12"
   Begin Object Class=EdGraphPin Name="EdGraphPin_71029"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_71028"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_71027"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_71026"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_71025"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_71024"
   End Object
   Begin Object Class=MaterialExpressionIf Name="MaterialExpressionIf_0"
   End Object
   Begin Object Name="EdGraphPin_71029"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'MaterialGraphNode_7.EdGraphPin_71009'
   End Object
   Begin Object Name="EdGraphPin_71028"
      PinName="A<B"
      PinType=(PinCategory="required")
      LinkedTo(0)=EdGraphPin'MaterialGraphNode_14.EdGraphPin_71031'
   End Object
   Begin Object Name="EdGraphPin_71027"
      PinName="A==B"
      PinType=(PinCategory="optional")
      LinkedTo(0)=EdGraphPin'MaterialGraphNode_15.EdGraphPin_71032'
   End Object
   Begin Object Name="EdGraphPin_71026"
      PinName="A>=B"
      PinType=(PinCategory="required")
      LinkedTo(0)=EdGraphPin'MaterialGraphNode_14.EdGraphPin_71031'
   End Object
   Begin Object Name="EdGraphPin_71025"
      PinName="B"
      PinType=(PinCategory="optional")
      LinkedTo(0)=EdGraphPin'MaterialGraphNode_17.EdGraphPin_71042'
   End Object
   Begin Object Name="EdGraphPin_71024"
      PinName="A"
      PinType=(PinCategory="required")
      LinkedTo(0)=EdGraphPin'MaterialGraphNode_8.EdGraphPin_71014'
   End Object
   Begin Object Name="MaterialExpressionIf_0"
      A=(Expression=MaterialExpressionTextureSample'MaterialGraphNode_8.MaterialExpressionTextureSample_0',OutputIndex=1,Mask=1,MaskR=1)
      B=(Expression=MaterialExpressionSubtract'MaterialGraphNode_17.MaterialExpressionSubtract_0')
      AGreaterThanB=(Expression=MaterialExpressionConstant3Vector'MaterialGraphNode_14.MaterialExpressionConstant3Vector_0')
      AEqualsB=(Expression=MaterialExpressionVectorParameter'MaterialGraphNode_15.MaterialExpressionVectorParameter_0',Mask=1,MaskR=1,MaskG=1,MaskB=1)
      ALessThanB=(Expression=MaterialExpressionConstant3Vector'MaterialGraphNode_14.MaterialExpressionConstant3Vector_0')
      EqualsThreshold=0.100000
      MaterialExpressionEditorX=-256
      MaterialExpressionEditorY=384
      MaterialExpressionGuid=41AD0D3C824EFD2BF098B2AA67CC9CE0
      Material=PreviewMaterial'/Engine/Transient.M_PickupMaster'
      Desc="Equals Threshold controls how wide the glimmer is"
   End Object
   MaterialExpression=MaterialExpressionIf'MaterialExpressionIf_0'
   Pins(0)=EdGraphPin'EdGraphPin_71024'
   Pins(1)=EdGraphPin'EdGraphPin_71025'
   Pins(2)=EdGraphPin'EdGraphPin_71026'
   Pins(3)=EdGraphPin'EdGraphPin_71027'
   Pins(4)=EdGraphPin'EdGraphPin_71028'
   Pins(5)=EdGraphPin'EdGraphPin_71029'
   NodePosX=-256
   NodePosY=384
   NodeComment="Equals Threshold controls how wide the glimmer is"
   bCommentBubbleVisible=True
   NodeGuid=43ED38847949E52633DB39A5F0A36A72
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_13"
   Begin Object Class=EdGraphPin Name="EdGraphPin_71030"
   End Object
   Begin Object Class=MaterialExpressionScalarParameter Name="MaterialExpressionScalarParameter_0"
   End Object
   Begin Object Name="EdGraphPin_71030"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'MaterialGraphNode_7.EdGraphPin_71010'
   End Object
   Begin Object Name="MaterialExpressionScalarParameter_0"
      DefaultValue=5.000000
      ParameterName="LightMultiplier"
      ExpressionGUID=CA7DC24894460C19E33C6985C38E3B26
      MaterialExpressionEditorX=-1152
      MaterialExpressionGuid=E57507C335429C4DD8A288989E0A1B5D
      Material=PreviewMaterial'/Engine/Transient.M_PickupMaster'
      Desc="Controls brightness of glint"
   End Object
   MaterialExpression=MaterialExpressionScalarParameter'MaterialExpressionScalarParameter_0'
   Pins(0)=EdGraphPin'EdGraphPin_71030'
   NodePosX=-1152
   bCanRenameNode=True
   NodeComment="Controls brightness of glint"
   bCommentBubbleVisible=True
   NodeGuid=14C07E0FA844F2A8F8FE4E8A54683604
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_14"
   Begin Object Class=EdGraphPin Name="EdGraphPin_71031"
   End Object
   Begin Object Class=MaterialExpressionConstant3Vector Name="MaterialExpressionConstant3Vector_0"
   End Object
   Begin Object Name="EdGraphPin_71031"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'MaterialGraphNode_12.EdGraphPin_71026'
      LinkedTo(1)=EdGraphPin'MaterialGraphNode_12.EdGraphPin_71028'
   End Object
   Begin Object Name="MaterialExpressionConstant3Vector_0"
      MaterialExpressionEditorX=-768
      MaterialExpressionEditorY=512
      MaterialExpressionGuid=8394FB52194925DDA2DFDCB58C39373A
      Material=PreviewMaterial'/Engine/Transient.M_PickupMaster'
   End Object
   MaterialExpression=MaterialExpressionConstant3Vector'MaterialExpressionConstant3Vector_0'
   Pins(0)=EdGraphPin'EdGraphPin_71031'
   NodePosX=-768
   NodePosY=512
   NodeGuid=C0A78A1AED4D6AEC129240B09371AEF8
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_15"
   Begin Object Class=EdGraphPin Name="EdGraphPin_71036"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_71035"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_71034"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_71033"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_71032"
   End Object
   Begin Object Class=MaterialExpressionVectorParameter Name="MaterialExpressionVectorParameter_0"
   End Object
   Begin Object Name="EdGraphPin_71036"
      PinName="Output5"
      PinFriendlyName=" "
      Direction=EGPD_Output
      PinType=(PinCategory="mask",PinSubCategory="alpha")
   End Object
   Begin Object Name="EdGraphPin_71035"
      PinName="Output4"
      PinFriendlyName=" "
      Direction=EGPD_Output
      PinType=(PinCategory="mask",PinSubCategory="blue")
   End Object
   Begin Object Name="EdGraphPin_71034"
      PinName="Output3"
      PinFriendlyName=" "
      Direction=EGPD_Output
      PinType=(PinCategory="mask",PinSubCategory="green")
   End Object
   Begin Object Name="EdGraphPin_71033"
      PinName="Output2"
      PinFriendlyName=" "
      Direction=EGPD_Output
      PinType=(PinCategory="mask",PinSubCategory="red")
   End Object
   Begin Object Name="EdGraphPin_71032"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      PinType=(PinCategory="mask")
      LinkedTo(0)=EdGraphPin'MaterialGraphNode_12.EdGraphPin_71027'
   End Object
   Begin Object Name="MaterialExpressionVectorParameter_0"
      DefaultValue=(R=0.585939,G=1.000000,B=0.442147,A=1.000000)
      ParameterName="Flash Light Color"
      ExpressionGUID=719A31F55E45A271E77B6292A69BF63F
      MaterialExpressionEditorX=-512
      MaterialExpressionEditorY=640
      MaterialExpressionGuid=F3A75D276A40ECE6F2B025BD54FDE448
      Material=PreviewMaterial'/Engine/Transient.M_PickupMaster'
   End Object
   MaterialExpression=MaterialExpressionVectorParameter'MaterialExpressionVectorParameter_0'
   Pins(0)=EdGraphPin'EdGraphPin_71032'
   Pins(1)=EdGraphPin'EdGraphPin_71033'
   Pins(2)=EdGraphPin'EdGraphPin_71034'
   Pins(3)=EdGraphPin'EdGraphPin_71035'
   Pins(4)=EdGraphPin'EdGraphPin_71036'
   NodePosX=-512
   NodePosY=640
   bCanRenameNode=True
   NodeGuid=3892712D3F43D020EF5E648F88856A01
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_16"
   Begin Object Class=EdGraphPin Name="EdGraphPin_71039"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_71038"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_71037"
   End Object
   Begin Object Class=MaterialExpressionMultiply Name="MaterialExpressionMultiply_1"
   End Object
   Begin Object Name="EdGraphPin_71039"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'MaterialGraphNode_17.EdGraphPin_71040'
   End Object
   Begin Object Name="EdGraphPin_71038"
      PinName="B"
      PinType=(PinCategory="optional")
      LinkedTo(0)=EdGraphPin'MaterialGraphNode_20.EdGraphPin_71047'
   End Object
   Begin Object Name="EdGraphPin_71037"
      PinName="A"
      PinType=(PinCategory="optional")
      LinkedTo(0)=EdGraphPin'MaterialGraphNode_10.EdGraphPin_71020'
   End Object
   Begin Object Name="MaterialExpressionMultiply_1"
      A=(Expression=MaterialExpressionSine'MaterialGraphNode_10.MaterialExpressionSine_0')
      B=(Expression=MaterialExpressionScalarParameter'MaterialGraphNode_20.MaterialExpressionScalarParameter_1')
      ConstB=30.000000
      MaterialExpressionEditorX=-896
      MaterialExpressionEditorY=384
      MaterialExpressionGuid=3E0EB74D044EA2EBDAEE5C94D217A2CA
      Material=PreviewMaterial'/Engine/Transient.M_PickupMaster'
   End Object
   MaterialExpression=MaterialExpressionMultiply'MaterialExpressionMultiply_1'
   Pins(0)=EdGraphPin'EdGraphPin_71037'
   Pins(1)=EdGraphPin'EdGraphPin_71038'
   Pins(2)=EdGraphPin'EdGraphPin_71039'
   NodePosX=-896
   NodePosY=384
   NodeGuid=0D84E8AEBF4D444B5F0DCBABFA3977E3
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_17"
   Begin Object Class=EdGraphPin Name="EdGraphPin_71042"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_71041"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_71040"
   End Object
   Begin Object Class=MaterialExpressionSubtract Name="MaterialExpressionSubtract_0"
   End Object
   Begin Object Name="EdGraphPin_71042"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'MaterialGraphNode_12.EdGraphPin_71025'
   End Object
   Begin Object Name="EdGraphPin_71041"
      PinName="B"
      PinType=(PinCategory="optional")
      LinkedTo(0)=EdGraphPin'MaterialGraphNode_19.EdGraphPin_71046'
   End Object
   Begin Object Name="EdGraphPin_71040"
      PinName="A"
      PinType=(PinCategory="optional")
      LinkedTo(0)=EdGraphPin'MaterialGraphNode_16.EdGraphPin_71039'
   End Object
   Begin Object Name="MaterialExpressionSubtract_0"
      A=(Expression=MaterialExpressionMultiply'MaterialGraphNode_16.MaterialExpressionMultiply_1')
      B=(Expression=MaterialExpressionSubtract'MaterialGraphNode_19.MaterialExpressionSubtract_1')
      ConstB=29.000000
      MaterialExpressionEditorX=-640
      MaterialExpressionEditorY=384
      MaterialExpressionGuid=398A1F692346C133047318A6A55EAD48
      Material=PreviewMaterial'/Engine/Transient.M_PickupMaster'
   End Object
   MaterialExpression=MaterialExpressionSubtract'MaterialExpressionSubtract_0'
   Pins(0)=EdGraphPin'EdGraphPin_71040'
   Pins(1)=EdGraphPin'EdGraphPin_71041'
   Pins(2)=EdGraphPin'EdGraphPin_71042'
   NodePosX=-640
   NodePosY=384
   NodeGuid=09802FCBBB4B71A6276D84839831321F
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_18"
   Begin Object Class=EdGraphPin Name="EdGraphPin_71043"
   End Object
   Begin Object Class=MaterialExpressionMaterialFunctionCall Name="MaterialExpressionMaterialFunctionCall_0"
   End Object
   Begin Object Name="EdGraphPin_71043"
      PinName="Result"
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'MaterialGraphNode_8.EdGraphPin_71012'
   End Object
   Begin Object Name="MaterialExpressionMaterialFunctionCall_0"
      MaterialFunction=MaterialFunction'/Engine/Functions/Engine_MaterialFunctions02/Texturing/ScreenAlignedUVs.ScreenAlignedUVs'
      FunctionOutputs(0)=(ExpressionOutputId=0B62F82A4407238F0BA4FE86805D8B50,Output=(OutputName="Result"))
      MaterialExpressionEditorX=-1280
      MaterialExpressionEditorY=768
      MaterialExpressionGuid=EFB428B6F943BA4B9C2FA6A83095EBB9
      Material=PreviewMaterial'/Engine/Transient.M_PickupMaster'
      Outputs(0)=(OutputName="Result")
   End Object
   MaterialExpression=MaterialExpressionMaterialFunctionCall'MaterialExpressionMaterialFunctionCall_0'
   Pins(0)=EdGraphPin'EdGraphPin_71043'
   NodePosX=-1280
   NodePosY=768
   NodeGuid=79B4A5E99647245CD060BF8E3980E38C
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_19"
   Begin Object Class=EdGraphPin Name="EdGraphPin_71046"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_71045"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_71044"
   End Object
   Begin Object Class=MaterialExpressionSubtract Name="MaterialExpressionSubtract_1"
   End Object
   Begin Object Name="EdGraphPin_71046"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'MaterialGraphNode_17.EdGraphPin_71041'
   End Object
   Begin Object Name="EdGraphPin_71045"
      PinName="B"
      PinType=(PinCategory="optional")
   End Object
   Begin Object Name="EdGraphPin_71044"
      PinName="A"
      PinType=(PinCategory="optional")
      LinkedTo(0)=EdGraphPin'MaterialGraphNode_20.EdGraphPin_71047'
   End Object
   Begin Object Name="MaterialExpressionSubtract_1"
      A=(Expression=MaterialExpressionScalarParameter'MaterialGraphNode_20.MaterialExpressionScalarParameter_1')
      MaterialExpressionEditorX=-1280
      MaterialExpressionEditorY=640
      MaterialExpressionGuid=BFC532018C4CFCC91BB31F969290E48E
      Material=PreviewMaterial'/Engine/Transient.M_PickupMaster'
   End Object
   MaterialExpression=MaterialExpressionSubtract'MaterialExpressionSubtract_1'
   Pins(0)=EdGraphPin'EdGraphPin_71044'
   Pins(1)=EdGraphPin'EdGraphPin_71045'
   Pins(2)=EdGraphPin'EdGraphPin_71046'
   NodePosX=-1280
   NodePosY=640
   NodeGuid=0DBC852829433190BA1D479773B02F2A
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_20"
   Begin Object Class=EdGraphPin Name="EdGraphPin_71047"
   End Object
   Begin Object Class=MaterialExpressionScalarParameter Name="MaterialExpressionScalarParameter_1"
   End Object
   Begin Object Name="EdGraphPin_71047"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'MaterialGraphNode_16.EdGraphPin_71038'
      LinkedTo(1)=EdGraphPin'MaterialGraphNode_19.EdGraphPin_71044'
   End Object
   Begin Object Name="MaterialExpressionScalarParameter_1"
      DefaultValue=30.000000
      ParameterName="Time Modifier"
      ExpressionGUID=8B75333BE8402323DECCC883ED05BCE9
      MaterialExpressionEditorX=-1536
      MaterialExpressionEditorY=512
      MaterialExpressionGuid=D9ED67F32A4B429F363375B76054C539
      Material=PreviewMaterial'/Engine/Transient.M_PickupMaster'
      Desc="The higher this is set to, the less frequently the object will flash"
   End Object
   MaterialExpression=MaterialExpressionScalarParameter'MaterialExpressionScalarParameter_1'
   Pins(0)=EdGraphPin'EdGraphPin_71047'
   NodePosX=-1536
   NodePosY=512
   bCanRenameNode=True
   NodeComment="The higher this is set to, the less frequently the object will flash"
   bCommentBubbleVisible=True
   NodeGuid=84C19789D04A93355AD92BA2A7EC10F7
End Object


Hi!
Just now seeing this post, it’s exactly what we’re looking to do in our VR game. I’m having a rough time getting it to work though. Wondering if it has something to do with the screenalignedUV’s node. Attached is a photo of my material, could you let me know if you see anything off here?

thanks!