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 . 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