Spherical World Space Normal Map - Using Math!

Hey community,

Just spent a bit of time developing a system for capturing 360 video content from engine.

The important bit is where we use the shader to re-unwrap a cubemap back out to a single panoramic image. It may turn out that this entire method is obselete, and theres a simple tickbox somewhere to do this, but we didn’t have much time to dig through the engine.

Shown above is a rendered world space normal map of a sphere, with standard UVs - This result is correct, but it leads to artifacting as there are compression issues with 24bit images. At this point we could have looked into HDR/Colour lookup textures (.hdr stands out, as would .exr if it was supported). We opted to look into the math behind the map, as a mathmatical solution would always be more accurate.

Might never be any use to anyone, but it just might save someone out there a bit of time, so attached is our solution. Apologies for the large image.

http://rewindfx.com/wp-content/uploads/2014/07/RWD_Spherical.jpg




Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_1"
   Begin Object Class=MaterialExpressionTextureCoordinate Name="MaterialExpressionTextureCoordinate_11"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46326"
   End Object
   Begin Object Name="MaterialExpressionTextureCoordinate_11"
      MaterialExpressionEditorX=-2544
      MaterialExpressionEditorY=1008
      Material=PreviewMaterial'/Engine/Transient.PreviewMaterial_0'
   End Object
   Begin Object Name="EdGraphPin_46326"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_2.EdGraphPin_46327"'
   End Object
   MaterialExpression=MaterialExpressionTextureCoordinate'MaterialExpressionTextureCoordinate_11'
   Pins(0)=EdGraphPin'EdGraphPin_46326'
   NodePosX=-2544
   NodePosY=1008
   NodeGuid=3A4CACB14953AFF2788DDFA9F7D4A487
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_2"
   Begin Object Class=MaterialExpressionComponentMask Name="MaterialExpressionComponentMask_10"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46327"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46328"
   End Object
   Begin Object Name="MaterialExpressionComponentMask_10"
      Input=(Expression=MaterialExpressionTextureCoordinate'"MaterialGraphNode_1.MaterialExpressionTextureCoordinate_11"')
      G=True
      MaterialExpressionEditorX=-2432
      MaterialExpressionEditorY=1008
      Material=PreviewMaterial'/Engine/Transient.PreviewMaterial_0'
   End Object
   Begin Object Name="EdGraphPin_46327"
      PinName="Input"
      PinFriendlyName=" "
      PinType=(PinCategory="required")
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_1.EdGraphPin_46326"'
   End Object
   Begin Object Name="EdGraphPin_46328"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_10.EdGraphPin_46345"'
   End Object
   MaterialExpression=MaterialExpressionComponentMask'MaterialExpressionComponentMask_10'
   Pins(0)=EdGraphPin'EdGraphPin_46327'
   Pins(1)=EdGraphPin'EdGraphPin_46328'
   NodePosX=-2432
   NodePosY=1008
   NodeGuid=BCBA0FF14BB9D04CDE2A09AB20E63889
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_3"
   Begin Object Class=MaterialExpressionAppendVector Name="MaterialExpressionAppendVector_4"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46329"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46330"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46331"
   End Object
   Begin Object Name="MaterialExpressionAppendVector_4"
      A=(Expression=MaterialExpressionLinearInterpolate'"MaterialGraphNode_23.MaterialExpressionLinearInterpolate_8"')
      B=(Expression=MaterialExpressionLinearInterpolate'"MaterialGraphNode_34.MaterialExpressionLinearInterpolate_10"')
      MaterialExpressionEditorX=-1328
      MaterialExpressionEditorY=368
      Material=PreviewMaterial'/Engine/Transient.PreviewMaterial_0'
   End Object
   Begin Object Name="EdGraphPin_46329"
      PinName="A"
      PinType=(PinCategory="required")
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_23.EdGraphPin_46377"'
   End Object
   Begin Object Name="EdGraphPin_46330"
      PinName="B"
      PinType=(PinCategory="required")
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_34.EdGraphPin_46402"'
   End Object
   Begin Object Name="EdGraphPin_46331"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_8.EdGraphPin_46340"'
   End Object
   MaterialExpression=MaterialExpressionAppendVector'MaterialExpressionAppendVector_4'
   Pins(0)=EdGraphPin'EdGraphPin_46329'
   Pins(1)=EdGraphPin'EdGraphPin_46330'
   Pins(2)=EdGraphPin'EdGraphPin_46331'
   NodePosX=-1328
   NodePosY=368
   NodeGuid=DBB8501042F3EA6C76B3499D3C90FCF5
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_4"
   Begin Object Class=MaterialExpressionMultiply Name="MaterialExpressionMultiply_7"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46332"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46333"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46334"
   End Object
   Begin Object Name="MaterialExpressionMultiply_7"
      A=(Expression=MaterialExpressionAppendVector'"MaterialGraphNode_8.MaterialExpressionAppendVector_5"')
      B=(Expression=MaterialExpressionConstant3Vector'"MaterialGraphNode_7.MaterialExpressionConstant3Vector_5"')
      MaterialExpressionEditorX=-864
      MaterialExpressionEditorY=464
      Material=PreviewMaterial'/Engine/Transient.PreviewMaterial_0'
   End Object
   Begin Object Name="EdGraphPin_46332"
      PinName="A"
      PinType=(PinCategory="optional")
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_8.EdGraphPin_46342"'
   End Object
   Begin Object Name="EdGraphPin_46333"
      PinName="B"
      PinType=(PinCategory="optional")
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_7.EdGraphPin_46339"'
   End Object
   Begin Object Name="EdGraphPin_46334"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_5.EdGraphPin_46335"'
   End Object
   MaterialExpression=MaterialExpressionMultiply'MaterialExpressionMultiply_7'
   Pins(0)=EdGraphPin'EdGraphPin_46332'
   Pins(1)=EdGraphPin'EdGraphPin_46333'
   Pins(2)=EdGraphPin'EdGraphPin_46334'
   NodePosX=-864
   NodePosY=464
   NodeGuid=18CA0B3C457875C207E2A995F246CC84
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_5"
   Begin Object Class=MaterialExpressionAdd Name="MaterialExpressionAdd_19"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46335"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46336"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46337"
   End Object
   Begin Object Name="MaterialExpressionAdd_19"
      A=(Expression=MaterialExpressionMultiply'"MaterialGraphNode_4.MaterialExpressionMultiply_7"')
      B=(Expression=MaterialExpressionConstant3Vector'"MaterialGraphNode_6.MaterialExpressionConstant3Vector_4"')
      MaterialExpressionEditorX=-576
      MaterialExpressionEditorY=464
      Material=PreviewMaterial'/Engine/Transient.PreviewMaterial_0'
   End Object
   Begin Object Name="EdGraphPin_46335"
      PinName="A"
      PinType=(PinCategory="optional")
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_4.EdGraphPin_46334"'
   End Object
   Begin Object Name="EdGraphPin_46336"
      PinName="B"
      PinType=(PinCategory="optional")
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_6.EdGraphPin_46338"'
   End Object
   Begin Object Name="EdGraphPin_46337"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_0.EdGraphPin_46320"'
   End Object
   MaterialExpression=MaterialExpressionAdd'MaterialExpressionAdd_19'
   Pins(0)=EdGraphPin'EdGraphPin_46335'
   Pins(1)=EdGraphPin'EdGraphPin_46336'
   Pins(2)=EdGraphPin'EdGraphPin_46337'
   NodePosX=-576
   NodePosY=464
   NodeGuid=BD72EF644A067254C9CF8099D7C7BC79
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_6"
   Begin Object Class=MaterialExpressionConstant3Vector Name="MaterialExpressionConstant3Vector_4"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46338"
   End Object
   Begin Object Name="MaterialExpressionConstant3Vector_4"
      Constant=(R=1.000000,G=-1.000000,B=-1.000000,A=0.000000)
      MaterialExpressionEditorX=-752
      MaterialExpressionEditorY=528
      Material=PreviewMaterial'/Engine/Transient.PreviewMaterial_0'
   End Object
   Begin Object Name="EdGraphPin_46338"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_5.EdGraphPin_46336"'
   End Object
   MaterialExpression=MaterialExpressionConstant3Vector'MaterialExpressionConstant3Vector_4'
   Pins(0)=EdGraphPin'EdGraphPin_46338'
   NodePosX=-752
   NodePosY=528
   NodeGuid=6EBB4EF64647EE9006BA16B25A75DD94
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_7"
   Begin Object Class=MaterialExpressionConstant3Vector Name="MaterialExpressionConstant3Vector_5"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46339"
   End Object
   Begin Object Name="MaterialExpressionConstant3Vector_5"
      Constant=(R=-2.000000,G=2.000000,B=2.000000,A=0.000000)
      MaterialExpressionEditorX=-1040
      MaterialExpressionEditorY=528
      Material=PreviewMaterial'/Engine/Transient.PreviewMaterial_0'
   End Object
   Begin Object Name="EdGraphPin_46339"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_4.EdGraphPin_46333"'
   End Object
   MaterialExpression=MaterialExpressionConstant3Vector'MaterialExpressionConstant3Vector_5'
   Pins(0)=EdGraphPin'EdGraphPin_46339'
   NodePosX=-1040
   NodePosY=528
   NodeGuid=65649A374A71C1437A667982778AE6C1
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_8"
   Begin Object Class=MaterialExpressionAppendVector Name="MaterialExpressionAppendVector_5"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46340"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46341"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46342"
   End Object
   Begin Object Name="MaterialExpressionAppendVector_5"
      A=(Expression=MaterialExpressionAppendVector'"MaterialGraphNode_3.MaterialExpressionAppendVector_4"')
      B=(Expression=MaterialExpressionDivide'"MaterialGraphNode_12.MaterialExpressionDivide_17"')
      MaterialExpressionEditorX=-1152
      MaterialExpressionEditorY=416
      Material=PreviewMaterial'/Engine/Transient.PreviewMaterial_0'
   End Object
   Begin Object Name="EdGraphPin_46340"
      PinName="A"
      PinType=(PinCategory="required")
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_3.EdGraphPin_46331"'
   End Object
   Begin Object Name="EdGraphPin_46341"
      PinName="B"
      PinType=(PinCategory="required")
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_12.EdGraphPin_46353"'
   End Object
   Begin Object Name="EdGraphPin_46342"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_4.EdGraphPin_46332"'
   End Object
   MaterialExpression=MaterialExpressionAppendVector'MaterialExpressionAppendVector_5'
   Pins(0)=EdGraphPin'EdGraphPin_46340'
   Pins(1)=EdGraphPin'EdGraphPin_46341'
   Pins(2)=EdGraphPin'EdGraphPin_46342'
   NodePosX=-1152
   NodePosY=416
   NodeGuid=901AF5D64805A9CF0F0A56A644E84B7F
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_9"
   Begin Object Class=MaterialExpressionCosine Name="MaterialExpressionCosine_6"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46343"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46344"
   End Object
   Begin Object Name="MaterialExpressionCosine_6"
      Input=(Expression=MaterialExpressionDivide'"MaterialGraphNode_10.MaterialExpressionDivide_16"')
      MaterialExpressionEditorX=-2176
      MaterialExpressionEditorY=1008
      Material=PreviewMaterial'/Engine/Transient.PreviewMaterial_0'
   End Object
   Begin Object Name="EdGraphPin_46343"
      PinName="Input"
      PinFriendlyName=" "
      PinType=(PinCategory="required")
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_10.EdGraphPin_46347"'
   End Object
   Begin Object Name="EdGraphPin_46344"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_11.EdGraphPin_46348"'
   End Object
   MaterialExpression=MaterialExpressionCosine'MaterialExpressionCosine_6'
   Pins(0)=EdGraphPin'EdGraphPin_46343'
   Pins(1)=EdGraphPin'EdGraphPin_46344'
   NodePosX=-2176
   NodePosY=1008
   NodeGuid=EE49126C4A7A0EBDDEBED68FF8E305A3
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_10"
   Begin Object Class=MaterialExpressionDivide Name="MaterialExpressionDivide_16"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46345"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46346"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46347"
   End Object
   Begin Object Name="MaterialExpressionDivide_16"
      A=(Expression=MaterialExpressionComponentMask'"MaterialGraphNode_2.MaterialExpressionComponentMask_10"')
      MaterialExpressionEditorX=-2304
      MaterialExpressionEditorY=1008
      Material=PreviewMaterial'/Engine/Transient.PreviewMaterial_0'
   End Object
   Begin Object Name="EdGraphPin_46345"
      PinName="A"
      PinType=(PinCategory="optional")
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_2.EdGraphPin_46328"'
   End Object
   Begin Object Name="EdGraphPin_46346"
      PinName="B"
      PinType=(PinCategory="optional")
   End Object
   Begin Object Name="EdGraphPin_46347"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_9.EdGraphPin_46343"'
   End Object
   MaterialExpression=MaterialExpressionDivide'MaterialExpressionDivide_16'
   Pins(0)=EdGraphPin'EdGraphPin_46345'
   Pins(1)=EdGraphPin'EdGraphPin_46346'
   Pins(2)=EdGraphPin'EdGraphPin_46347'
   NodePosX=-2304
   NodePosY=1008
   NodeGuid=463067424A6C0FDBE42DB3AF1A9308E5
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_11"
   Begin Object Class=MaterialExpressionAdd Name="MaterialExpressionAdd_20"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46348"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46349"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46350"
   End Object
   Begin Object Name="MaterialExpressionAdd_20"
      A=(Expression=MaterialExpressionCosine'"MaterialGraphNode_9.MaterialExpressionCosine_6"')
      MaterialExpressionEditorX=-2064
      MaterialExpressionEditorY=1008
      Material=PreviewMaterial'/Engine/Transient.PreviewMaterial_0'
   End Object
   Begin Object Name="EdGraphPin_46348"
      PinName="A"
      PinType=(PinCategory="optional")
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_9.EdGraphPin_46344"'
   End Object
   Begin Object Name="EdGraphPin_46349"
      PinName="B"
      PinType=(PinCategory="optional")
   End Object
   Begin Object Name="EdGraphPin_46350"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_12.EdGraphPin_46351"'
   End Object
   MaterialExpression=MaterialExpressionAdd'MaterialExpressionAdd_20'
   Pins(0)=EdGraphPin'EdGraphPin_46348'
   Pins(1)=EdGraphPin'EdGraphPin_46349'
   Pins(2)=EdGraphPin'EdGraphPin_46350'
   NodePosX=-2064
   NodePosY=1008
   NodeGuid=8CD0300848BEB43F66A62391835D29E8
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_12"
   Begin Object Class=MaterialExpressionDivide Name="MaterialExpressionDivide_17"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46351"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46352"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46353"
   End Object
   Begin Object Name="MaterialExpressionDivide_17"
      A=(Expression=MaterialExpressionAdd'"MaterialGraphNode_11.MaterialExpressionAdd_20"')
      MaterialExpressionEditorX=-1952
      MaterialExpressionEditorY=1008
      Material=PreviewMaterial'/Engine/Transient.PreviewMaterial_0'
   End Object
   Begin Object Name="EdGraphPin_46351"
      PinName="A"
      PinType=(PinCategory="optional")
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_11.EdGraphPin_46350"'
   End Object
   Begin Object Name="EdGraphPin_46352"
      PinName="B"
      PinType=(PinCategory="optional")
   End Object
   Begin Object Name="EdGraphPin_46353"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_8.EdGraphPin_46341"'
   End Object
   MaterialExpression=MaterialExpressionDivide'MaterialExpressionDivide_17'
   Pins(0)=EdGraphPin'EdGraphPin_46351'
   Pins(1)=EdGraphPin'EdGraphPin_46352'
   Pins(2)=EdGraphPin'EdGraphPin_46353'
   NodePosX=-1952
   NodePosY=1008
   NodeGuid=22907E7140E4CD532B6401B6BF121476
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_13"
   Begin Object Class=MaterialExpressionTextureCoordinate Name="MaterialExpressionTextureCoordinate_12"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46354"
   End Object
   Begin Object Name="MaterialExpressionTextureCoordinate_12"
      MaterialExpressionEditorX=-2800
      MaterialExpressionEditorY=480
      Material=PreviewMaterial'/Engine/Transient.PreviewMaterial_0'
   End Object
   Begin Object Name="EdGraphPin_46354"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_14.EdGraphPin_46355"'
   End Object
   MaterialExpression=MaterialExpressionTextureCoordinate'MaterialExpressionTextureCoordinate_12'
   Pins(0)=EdGraphPin'EdGraphPin_46354'
   NodePosX=-2800
   NodePosY=480
   NodeGuid=E39EBD8A4932D273295B4BB0B0BF8CE8
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_14"
   Begin Object Class=MaterialExpressionComponentMask Name="MaterialExpressionComponentMask_11"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46355"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46356"
   End Object
   Begin Object Name="MaterialExpressionComponentMask_11"
      Input=(Expression=MaterialExpressionTextureCoordinate'"MaterialGraphNode_13.MaterialExpressionTextureCoordinate_12"')
      G=True
      MaterialExpressionEditorX=-2688
      MaterialExpressionEditorY=480
      Material=PreviewMaterial'/Engine/Transient.PreviewMaterial_0'
   End Object
   Begin Object Name="EdGraphPin_46355"
      PinName="Input"
      PinFriendlyName=" "
      PinType=(PinCategory="required")
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_13.EdGraphPin_46354"'
   End Object
   Begin Object Name="EdGraphPin_46356"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_41.EdGraphPin_46418"'
   End Object
   MaterialExpression=MaterialExpressionComponentMask'MaterialExpressionComponentMask_11'
   Pins(0)=EdGraphPin'EdGraphPin_46355'
   Pins(1)=EdGraphPin'EdGraphPin_46356'
   NodePosX=-2688
   NodePosY=480
   NodeGuid=8E23F0E6456B88EA4A5AD68440E42DD0
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_15"
   Begin Object Class=MaterialExpressionCosine Name="MaterialExpressionCosine_7"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46357"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46358"
   End Object
   Begin Object Name="MaterialExpressionCosine_7"
      Input=(Expression=MaterialExpressionDivide'"MaterialGraphNode_42.MaterialExpressionDivide_21"')
      MaterialExpressionEditorX=-2320
      MaterialExpressionEditorY=480
      Material=PreviewMaterial'/Engine/Transient.PreviewMaterial_0'
   End Object
   Begin Object Name="EdGraphPin_46357"
      PinName="Input"
      PinFriendlyName=" "
      PinType=(PinCategory="required")
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_42.EdGraphPin_46423"'
   End Object
   Begin Object Name="EdGraphPin_46358"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_16.EdGraphPin_46359"'
   End Object
   MaterialExpression=MaterialExpressionCosine'MaterialExpressionCosine_7'
   Pins(0)=EdGraphPin'EdGraphPin_46357'
   Pins(1)=EdGraphPin'EdGraphPin_46358'
   NodePosX=-2320
   NodePosY=480
   NodeGuid=6ADC12034051E017F637C8B3174E47C0
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_16"
   Begin Object Class=MaterialExpressionAdd Name="MaterialExpressionAdd_21"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46359"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46360"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46361"
   End Object
   Begin Object Name="MaterialExpressionAdd_21"
      A=(Expression=MaterialExpressionCosine'"MaterialGraphNode_15.MaterialExpressionCosine_7"')
      MaterialExpressionEditorX=-2208
      MaterialExpressionEditorY=480
      Material=PreviewMaterial'/Engine/Transient.PreviewMaterial_0'
   End Object
   Begin Object Name="EdGraphPin_46359"
      PinName="A"
      PinType=(PinCategory="optional")
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_15.EdGraphPin_46358"'
   End Object
   Begin Object Name="EdGraphPin_46360"
      PinName="B"
      PinType=(PinCategory="optional")
   End Object
   Begin Object Name="EdGraphPin_46361"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_17.EdGraphPin_46362"'
   End Object
   MaterialExpression=MaterialExpressionAdd'MaterialExpressionAdd_21'
   Pins(0)=EdGraphPin'EdGraphPin_46359'
   Pins(1)=EdGraphPin'EdGraphPin_46360'
   Pins(2)=EdGraphPin'EdGraphPin_46361'
   NodePosX=-2208
   NodePosY=480
   NodeGuid=26BAE8B34DC6077C36375F9B048030D7
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_17"
   Begin Object Class=MaterialExpressionDivide Name="MaterialExpressionDivide_18"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46362"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46363"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46364"
   End Object
   Begin Object Name="MaterialExpressionDivide_18"
      A=(Expression=MaterialExpressionAdd'"MaterialGraphNode_16.MaterialExpressionAdd_21"')
      ConstB=1.000000
      MaterialExpressionEditorX=-2096
      MaterialExpressionEditorY=480
      Material=PreviewMaterial'/Engine/Transient.PreviewMaterial_0'
   End Object
   Begin Object Name="EdGraphPin_46362"
      PinName="A"
      PinType=(PinCategory="optional")
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_16.EdGraphPin_46361"'
   End Object
   Begin Object Name="EdGraphPin_46363"
      PinName="B"
      PinType=(PinCategory="optional")
   End Object
   Begin Object Name="EdGraphPin_46364"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_23.EdGraphPin_46376"'
   End Object
   MaterialExpression=MaterialExpressionDivide'MaterialExpressionDivide_18'
   Pins(0)=EdGraphPin'EdGraphPin_46362'
   Pins(1)=EdGraphPin'EdGraphPin_46363'
   Pins(2)=EdGraphPin'EdGraphPin_46364'
   NodePosX=-2096
   NodePosY=480
   NodeGuid=FC201C7E4AA6DE4B9A3A109059A7A01B
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_18"
   Begin Object Class=MaterialExpressionTextureCoordinate Name="MaterialExpressionTextureCoordinate_13"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46365"
   End Object
   Begin Object Name="MaterialExpressionTextureCoordinate_13"
      MaterialExpressionEditorX=-2928
      MaterialExpressionEditorY=368
      Material=PreviewMaterial'/Engine/Transient.PreviewMaterial_0'
   End Object
   Begin Object Name="EdGraphPin_46365"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_19.EdGraphPin_46366"'
   End Object
   MaterialExpression=MaterialExpressionTextureCoordinate'MaterialExpressionTextureCoordinate_13'
   Pins(0)=EdGraphPin'EdGraphPin_46365'
   NodePosX=-2928
   NodePosY=368
   NodeGuid=87B8C6724645E83FBAA1D789EF053F91
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_19"
   Begin Object Class=MaterialExpressionComponentMask Name="MaterialExpressionComponentMask_12"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46366"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46367"
   End Object
   Begin Object Name="MaterialExpressionComponentMask_12"
      Input=(Expression=MaterialExpressionTextureCoordinate'"MaterialGraphNode_18.MaterialExpressionTextureCoordinate_13"')
      R=True
      MaterialExpressionEditorX=-2816
      MaterialExpressionEditorY=368
      Material=PreviewMaterial'/Engine/Transient.PreviewMaterial_0'
   End Object
   Begin Object Name="EdGraphPin_46366"
      PinName="Input"
      PinFriendlyName=" "
      PinType=(PinCategory="required")
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_18.EdGraphPin_46365"'
   End Object
   Begin Object Name="EdGraphPin_46367"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_20.EdGraphPin_46368"'
   End Object
   MaterialExpression=MaterialExpressionComponentMask'MaterialExpressionComponentMask_12'
   Pins(0)=EdGraphPin'EdGraphPin_46366'
   Pins(1)=EdGraphPin'EdGraphPin_46367'
   NodePosX=-2816
   NodePosY=368
   NodeGuid=4FDF467E4B3C5DAAFF5F65A04A0BA5A1
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_20"
   Begin Object Class=MaterialExpressionSine Name="MaterialExpressionSine_4"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46368"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46369"
   End Object
   Begin Object Name="MaterialExpressionSine_4"
      Input=(Expression=MaterialExpressionComponentMask'"MaterialGraphNode_19.MaterialExpressionComponentMask_12"')
      MaterialExpressionEditorX=-2688
      MaterialExpressionEditorY=368
      Material=PreviewMaterial'/Engine/Transient.PreviewMaterial_0'
   End Object
   Begin Object Name="EdGraphPin_46368"
      PinName="Input"
      PinFriendlyName=" "
      PinType=(PinCategory="required")
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_19.EdGraphPin_46367"'
   End Object
   Begin Object Name="EdGraphPin_46369"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_24.EdGraphPin_46378"'
   End Object
   MaterialExpression=MaterialExpressionSine'MaterialExpressionSine_4'
   Pins(0)=EdGraphPin'EdGraphPin_46368'
   Pins(1)=EdGraphPin'EdGraphPin_46369'
   NodePosX=-2688
   NodePosY=368
   NodeGuid=0871F1C8464721B52D705B8385CD4B47
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_21"
   Begin Object Class=MaterialExpressionDivide Name="MaterialExpressionDivide_19"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46370"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46371"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46372"
   End Object
   Begin Object Name="MaterialExpressionDivide_19"
      A=(Expression=MaterialExpressionAdd'"MaterialGraphNode_25.MaterialExpressionAdd_22"')
      MaterialExpressionEditorX=-2336
      MaterialExpressionEditorY=368
      Material=PreviewMaterial'/Engine/Transient.PreviewMaterial_0'
   End Object
   Begin Object Name="EdGraphPin_46370"
      PinName="A"
      PinType=(PinCategory="optional")
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_25.EdGraphPin_46383"'
   End Object
   Begin Object Name="EdGraphPin_46371"
      PinName="B"
      PinType=(PinCategory="optional")
   End Object
   Begin Object Name="EdGraphPin_46372"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_26.EdGraphPin_46386"'
   End Object
   MaterialExpression=MaterialExpressionDivide'MaterialExpressionDivide_19'
   Pins(0)=EdGraphPin'EdGraphPin_46370'
   Pins(1)=EdGraphPin'EdGraphPin_46371'
   Pins(2)=EdGraphPin'EdGraphPin_46372'
   NodePosX=-2336
   NodePosY=368
   NodeGuid=2F6FD17F43576190D0456D8C41A8597D
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_22"
   Begin Object Class=MaterialExpressionConstant Name="MaterialExpressionConstant_12"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46373"
   End Object
   Begin Object Name="MaterialExpressionConstant_12"
      R=0.500000
      MaterialExpressionEditorX=-2032
      MaterialExpressionEditorY=336
      Material=PreviewMaterial'/Engine/Transient.PreviewMaterial_0'
   End Object
   Begin Object Name="EdGraphPin_46373"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_23.EdGraphPin_46375"'
   End Object
   MaterialExpression=MaterialExpressionConstant'MaterialExpressionConstant_12'
   Pins(0)=EdGraphPin'EdGraphPin_46373'
   NodePosX=-2032
   NodePosY=336
   NodeGuid=7A8FB34A464CBB86F3DD75BA61E19233
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_23"
   Begin Object Class=MaterialExpressionLinearInterpolate Name="MaterialExpressionLinearInterpolate_8"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46374"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46375"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46376"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46377"
   End Object
   Begin Object Name="MaterialExpressionLinearInterpolate_8"
      A=(Expression=MaterialExpressionLinearInterpolate'"MaterialGraphNode_26.MaterialExpressionLinearInterpolate_9"')
      B=(Expression=MaterialExpressionConstant'"MaterialGraphNode_22.MaterialExpressionConstant_12"')
      Alpha=(Expression=MaterialExpressionDivide'"MaterialGraphNode_17.MaterialExpressionDivide_18"')
      MaterialExpressionEditorX=-1872
      MaterialExpressionEditorY=272
      Material=PreviewMaterial'/Engine/Transient.PreviewMaterial_0'
   End Object
   Begin Object Name="EdGraphPin_46374"
      PinName="A"
      PinType=(PinCategory="optional")
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_26.EdGraphPin_46387"'
   End Object
   Begin Object Name="EdGraphPin_46375"
      PinName="B"
      PinType=(PinCategory="optional")
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_22.EdGraphPin_46373"'
   End Object
   Begin Object Name="EdGraphPin_46376"
      PinName="Alpha"
      PinType=(PinCategory="optional")
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_17.EdGraphPin_46364"'
   End Object
   Begin Object Name="EdGraphPin_46377"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_3.EdGraphPin_46329"'
   End Object
   MaterialExpression=MaterialExpressionLinearInterpolate'MaterialExpressionLinearInterpolate_8'
   Pins(0)=EdGraphPin'EdGraphPin_46374'
   Pins(1)=EdGraphPin'EdGraphPin_46375'
   Pins(2)=EdGraphPin'EdGraphPin_46376'
   Pins(3)=EdGraphPin'EdGraphPin_46377'
   NodePosX=-1872
   NodePosY=272
   NodeGuid=A9AB9CE549BD99AC09E7B59B2D71A454
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_24"
   Begin Object Class=MaterialExpressionMultiply Name="MaterialExpressionMultiply_8"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46378"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46379"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46380"
   End Object
   Begin Object Name="MaterialExpressionMultiply_8"
      A=(Expression=MaterialExpressionSine'"MaterialGraphNode_20.MaterialExpressionSine_4"')
      ConstB=-1.000000
      MaterialExpressionEditorX=-2592
      MaterialExpressionEditorY=368
      Material=PreviewMaterial'/Engine/Transient.PreviewMaterial_0'
   End Object
   Begin Object Name="EdGraphPin_46378"
      PinName="A"
      PinType=(PinCategory="optional")
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_20.EdGraphPin_46369"'
   End Object
   Begin Object Name="EdGraphPin_46379"
      PinName="B"
      PinType=(PinCategory="optional")
   End Object
   Begin Object Name="EdGraphPin_46380"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_25.EdGraphPin_46381"'
   End Object
   MaterialExpression=MaterialExpressionMultiply'MaterialExpressionMultiply_8'
   Pins(0)=EdGraphPin'EdGraphPin_46378'
   Pins(1)=EdGraphPin'EdGraphPin_46379'
   Pins(2)=EdGraphPin'EdGraphPin_46380'
   NodePosX=-2592
   NodePosY=368
   NodeGuid=B6E450CC44216BF99DF4A7BC70E8BEDC
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_25"
   Begin Object Class=MaterialExpressionAdd Name="MaterialExpressionAdd_22"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46381"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46382"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46383"
   End Object
   Begin Object Name="MaterialExpressionAdd_22"
      A=(Expression=MaterialExpressionMultiply'"MaterialGraphNode_24.MaterialExpressionMultiply_8"')
      MaterialExpressionEditorX=-2448
      MaterialExpressionEditorY=368
      Material=PreviewMaterial'/Engine/Transient.PreviewMaterial_0'
   End Object
   Begin Object Name="EdGraphPin_46381"
      PinName="A"
      PinType=(PinCategory="optional")
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_24.EdGraphPin_46380"'
   End Object
   Begin Object Name="EdGraphPin_46382"
      PinName="B"
      PinType=(PinCategory="optional")
   End Object
   Begin Object Name="EdGraphPin_46383"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_21.EdGraphPin_46370"'
   End Object
   MaterialExpression=MaterialExpressionAdd'MaterialExpressionAdd_22'
   Pins(0)=EdGraphPin'EdGraphPin_46381'
   Pins(1)=EdGraphPin'EdGraphPin_46382'
   Pins(2)=EdGraphPin'EdGraphPin_46383'
   NodePosX=-2448
   NodePosY=368
   NodeGuid=45E8F20A43233C7A5AE99090EC8E6A1D
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_26"
   Begin Object Class=MaterialExpressionLinearInterpolate Name="MaterialExpressionLinearInterpolate_9"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46384"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46385"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46386"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46387"
   End Object
   Begin Object Name="MaterialExpressionLinearInterpolate_9"
      A=(Expression=MaterialExpressionConstant'"MaterialGraphNode_27.MaterialExpressionConstant_13"')
      B=(Expression=MaterialExpressionConstant'"MaterialGraphNode_28.MaterialExpressionConstant_14"')
      Alpha=(Expression=MaterialExpressionDivide'"MaterialGraphNode_21.MaterialExpressionDivide_19"')
      MaterialExpressionEditorX=-2160
      MaterialExpressionEditorY=272
      Material=PreviewMaterial'/Engine/Transient.PreviewMaterial_0'
   End Object
   Begin Object Name="EdGraphPin_46384"
      PinName="A"
      PinType=(PinCategory="optional")
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_27.EdGraphPin_46388"'
   End Object
   Begin Object Name="EdGraphPin_46385"
      PinName="B"
      PinType=(PinCategory="optional")
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_28.EdGraphPin_46389"'
   End Object
   Begin Object Name="EdGraphPin_46386"
      PinName="Alpha"
      PinType=(PinCategory="optional")
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_21.EdGraphPin_46372"'
   End Object
   Begin Object Name="EdGraphPin_46387"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_23.EdGraphPin_46374"'
   End Object
   MaterialExpression=MaterialExpressionLinearInterpolate'MaterialExpressionLinearInterpolate_9'
   Pins(0)=EdGraphPin'EdGraphPin_46384'
   Pins(1)=EdGraphPin'EdGraphPin_46385'
   Pins(2)=EdGraphPin'EdGraphPin_46386'
   Pins(3)=EdGraphPin'EdGraphPin_46387'
   NodePosX=-2160
   NodePosY=272
   NodeGuid=BED632E24FA24CD14C7DAD8FD54E50C3
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_27"
   Begin Object Class=MaterialExpressionConstant Name="MaterialExpressionConstant_13"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46388"
   End Object
   Begin Object Name="MaterialExpressionConstant_13"
      MaterialExpressionEditorX=-2288
      MaterialExpressionEditorY=240
      Material=PreviewMaterial'/Engine/Transient.PreviewMaterial_0'
   End Object
   Begin Object Name="EdGraphPin_46388"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_26.EdGraphPin_46384"'
   End Object
   MaterialExpression=MaterialExpressionConstant'MaterialExpressionConstant_13'
   Pins(0)=EdGraphPin'EdGraphPin_46388'
   NodePosX=-2288
   NodePosY=240
   NodeGuid=7CD47EEA4D49990B02F2FBA660C13C1F
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_28"
   Begin Object Class=MaterialExpressionConstant Name="MaterialExpressionConstant_14"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46389"
   End Object
   Begin Object Name="MaterialExpressionConstant_14"
      R=1.000000
      MaterialExpressionEditorX=-2288
      MaterialExpressionEditorY=304
      Material=PreviewMaterial'/Engine/Transient.PreviewMaterial_0'
   End Object
   Begin Object Name="EdGraphPin_46389"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_26.EdGraphPin_46385"'
   End Object
   MaterialExpression=MaterialExpressionConstant'MaterialExpressionConstant_14'
   Pins(0)=EdGraphPin'EdGraphPin_46389'
   NodePosX=-2288
   NodePosY=304
   NodeGuid=CB9286C54B5AB09D5EA1F49D8B91D418
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_29"
   Begin Object Class=MaterialExpressionTextureCoordinate Name="MaterialExpressionTextureCoordinate_14"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46390"
   End Object
   Begin Object Name="MaterialExpressionTextureCoordinate_14"
      MaterialExpressionEditorX=-3024
      MaterialExpressionEditorY=720
      Material=PreviewMaterial'/Engine/Transient.PreviewMaterial_0'
   End Object
   Begin Object Name="EdGraphPin_46390"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_30.EdGraphPin_46391"'
   End Object
   MaterialExpression=MaterialExpressionTextureCoordinate'MaterialExpressionTextureCoordinate_14'
   Pins(0)=EdGraphPin'EdGraphPin_46390'
   NodePosX=-3024
   NodePosY=720
   NodeGuid=65B75C734500E87D1644178F6F1A9CF7
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_30"
   Begin Object Class=MaterialExpressionComponentMask Name="MaterialExpressionComponentMask_13"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46391"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46392"
   End Object
   Begin Object Name="MaterialExpressionComponentMask_13"
      Input=(Expression=MaterialExpressionTextureCoordinate'"MaterialGraphNode_29.MaterialExpressionTextureCoordinate_14"')
      R=True
      MaterialExpressionEditorX=-2912
      MaterialExpressionEditorY=720
      Material=PreviewMaterial'/Engine/Transient.PreviewMaterial_0'
   End Object
   Begin Object Name="EdGraphPin_46391"
      PinName="Input"
      PinFriendlyName=" "
      PinType=(PinCategory="required")
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_29.EdGraphPin_46390"'
   End Object
   Begin Object Name="EdGraphPin_46392"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_40.EdGraphPin_46415"'
   End Object
   MaterialExpression=MaterialExpressionComponentMask'MaterialExpressionComponentMask_13'
   Pins(0)=EdGraphPin'EdGraphPin_46391'
   Pins(1)=EdGraphPin'EdGraphPin_46392'
   NodePosX=-2912
   NodePosY=720
   NodeGuid=FB7579DE48848A035FBE3C9CA6A5B312
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_31"
   Begin Object Class=MaterialExpressionSine Name="MaterialExpressionSine_5"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46393"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46394"
   End Object
   Begin Object Name="MaterialExpressionSine_5"
      Input=(Expression=MaterialExpressionAdd'"MaterialGraphNode_40.MaterialExpressionAdd_24"')
      MaterialExpressionEditorX=-2688
      MaterialExpressionEditorY=720
      Material=PreviewMaterial'/Engine/Transient.PreviewMaterial_0'
   End Object
   Begin Object Name="EdGraphPin_46393"
      PinName="Input"
      PinFriendlyName=" "
      PinType=(PinCategory="required")
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_40.EdGraphPin_46417"'
   End Object
   Begin Object Name="EdGraphPin_46394"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_35.EdGraphPin_46403"'
   End Object
   MaterialExpression=MaterialExpressionSine'MaterialExpressionSine_5'
   Pins(0)=EdGraphPin'EdGraphPin_46393'
   Pins(1)=EdGraphPin'EdGraphPin_46394'
   NodePosX=-2688
   NodePosY=720
   NodeGuid=E7021F274117A7C7BC235B94A7F51DAC
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_32"
   Begin Object Class=MaterialExpressionDivide Name="MaterialExpressionDivide_20"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46395"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46396"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46397"
   End Object
   Begin Object Name="MaterialExpressionDivide_20"
      A=(Expression=MaterialExpressionAdd'"MaterialGraphNode_36.MaterialExpressionAdd_23"')
      MaterialExpressionEditorX=-2336
      MaterialExpressionEditorY=720
      Material=PreviewMaterial'/Engine/Transient.PreviewMaterial_0'
   End Object
   Begin Object Name="EdGraphPin_46395"
      PinName="A"
      PinType=(PinCategory="optional")
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_36.EdGraphPin_46408"'
   End Object
   Begin Object Name="EdGraphPin_46396"
      PinName="B"
      PinType=(PinCategory="optional")
   End Object
   Begin Object Name="EdGraphPin_46397"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_37.EdGraphPin_46411"'
   End Object
   MaterialExpression=MaterialExpressionDivide'MaterialExpressionDivide_20'
   Pins(0)=EdGraphPin'EdGraphPin_46395'
   Pins(1)=EdGraphPin'EdGraphPin_46396'
   Pins(2)=EdGraphPin'EdGraphPin_46397'
   NodePosX=-2336
   NodePosY=720
   NodeGuid=1DF5FB964A511E9501EC8FA40D2BD645
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_33"
   Begin Object Class=MaterialExpressionConstant Name="MaterialExpressionConstant_15"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46398"
   End Object
   Begin Object Name="MaterialExpressionConstant_15"
      R=0.500000
      MaterialExpressionEditorX=-2032
      MaterialExpressionEditorY=688
      Material=PreviewMaterial'/Engine/Transient.PreviewMaterial_0'
   End Object
   Begin Object Name="EdGraphPin_46398"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_34.EdGraphPin_46400"'
   End Object
   MaterialExpression=MaterialExpressionConstant'MaterialExpressionConstant_15'
   Pins(0)=EdGraphPin'EdGraphPin_46398'
   NodePosX=-2032
   NodePosY=688
   NodeGuid=69DE635A47F4A3C50F102F8F00AFA92E
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_34"
   Begin Object Class=MaterialExpressionLinearInterpolate Name="MaterialExpressionLinearInterpolate_10"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46399"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46400"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46401"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46402"
   End Object
   Begin Object Name="MaterialExpressionLinearInterpolate_10"
      A=(Expression=MaterialExpressionLinearInterpolate'"MaterialGraphNode_37.MaterialExpressionLinearInterpolate_11"')
      B=(Expression=MaterialExpressionConstant'"MaterialGraphNode_33.MaterialExpressionConstant_15"')
      Alpha=(Expression=MaterialExpressionDivide'"MaterialGraphNode_47.MaterialExpressionDivide_22"')
      MaterialExpressionEditorX=-1872
      MaterialExpressionEditorY=624
      Material=PreviewMaterial'/Engine/Transient.PreviewMaterial_0'
   End Object
   Begin Object Name="EdGraphPin_46399"
      PinName="A"
      PinType=(PinCategory="optional")
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_37.EdGraphPin_46412"'
   End Object
   Begin Object Name="EdGraphPin_46400"
      PinName="B"
      PinType=(PinCategory="optional")
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_33.EdGraphPin_46398"'
   End Object
   Begin Object Name="EdGraphPin_46401"
      PinName="Alpha"
      PinType=(PinCategory="optional")
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_47.EdGraphPin_46434"'
   End Object
   Begin Object Name="EdGraphPin_46402"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_3.EdGraphPin_46330"'
   End Object
   MaterialExpression=MaterialExpressionLinearInterpolate'MaterialExpressionLinearInterpolate_10'
   Pins(0)=EdGraphPin'EdGraphPin_46399'
   Pins(1)=EdGraphPin'EdGraphPin_46400'
   Pins(2)=EdGraphPin'EdGraphPin_46401'
   Pins(3)=EdGraphPin'EdGraphPin_46402'
   NodePosX=-1872
   NodePosY=624
   NodeGuid=4DB551484A6EADA99E980E8F682EDB07
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_35"
   Begin Object Class=MaterialExpressionMultiply Name="MaterialExpressionMultiply_9"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46403"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46404"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46405"
   End Object
   Begin Object Name="MaterialExpressionMultiply_9"
      A=(Expression=MaterialExpressionSine'"MaterialGraphNode_31.MaterialExpressionSine_5"')
      ConstB=-1.000000
      MaterialExpressionEditorX=-2592
      MaterialExpressionEditorY=720
      Material=PreviewMaterial'/Engine/Transient.PreviewMaterial_0'
   End Object
   Begin Object Name="EdGraphPin_46403"
      PinName="A"
      PinType=(PinCategory="optional")
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_31.EdGraphPin_46394"'
   End Object
   Begin Object Name="EdGraphPin_46404"
      PinName="B"
      PinType=(PinCategory="optional")
   End Object
   Begin Object Name="EdGraphPin_46405"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_36.EdGraphPin_46406"'
   End Object
   MaterialExpression=MaterialExpressionMultiply'MaterialExpressionMultiply_9'
   Pins(0)=EdGraphPin'EdGraphPin_46403'
   Pins(1)=EdGraphPin'EdGraphPin_46404'
   Pins(2)=EdGraphPin'EdGraphPin_46405'
   NodePosX=-2592
   NodePosY=720
   NodeGuid=248B70004612B72E195AD6807645CF32
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_36"
   Begin Object Class=MaterialExpressionAdd Name="MaterialExpressionAdd_23"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46406"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46407"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46408"
   End Object
   Begin Object Name="MaterialExpressionAdd_23"
      A=(Expression=MaterialExpressionMultiply'"MaterialGraphNode_35.MaterialExpressionMultiply_9"')
      MaterialExpressionEditorX=-2448
      MaterialExpressionEditorY=720
      Material=PreviewMaterial'/Engine/Transient.PreviewMaterial_0'
   End Object
   Begin Object Name="EdGraphPin_46406"
      PinName="A"
      PinType=(PinCategory="optional")
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_35.EdGraphPin_46405"'
   End Object
   Begin Object Name="EdGraphPin_46407"
      PinName="B"
      PinType=(PinCategory="optional")
   End Object
   Begin Object Name="EdGraphPin_46408"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_32.EdGraphPin_46395"'
   End Object
   MaterialExpression=MaterialExpressionAdd'MaterialExpressionAdd_23'
   Pins(0)=EdGraphPin'EdGraphPin_46406'
   Pins(1)=EdGraphPin'EdGraphPin_46407'
   Pins(2)=EdGraphPin'EdGraphPin_46408'
   NodePosX=-2448
   NodePosY=720
   NodeGuid=18C21850410AB981B7063AAF8BCB0BC1
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_37"
   Begin Object Class=MaterialExpressionLinearInterpolate Name="MaterialExpressionLinearInterpolate_11"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46409"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46410"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46411"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46412"
   End Object
   Begin Object Name="MaterialExpressionLinearInterpolate_11"
      A=(Expression=MaterialExpressionConstant'"MaterialGraphNode_38.MaterialExpressionConstant_16"')
      B=(Expression=MaterialExpressionConstant'"MaterialGraphNode_39.MaterialExpressionConstant_17"')
      Alpha=(Expression=MaterialExpressionDivide'"MaterialGraphNode_32.MaterialExpressionDivide_20"')
      MaterialExpressionEditorX=-2160
      MaterialExpressionEditorY=624
      Material=PreviewMaterial'/Engine/Transient.PreviewMaterial_0'
   End Object
   Begin Object Name="EdGraphPin_46409"
      PinName="A"
      PinType=(PinCategory="optional")
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_38.EdGraphPin_46413"'
   End Object
   Begin Object Name="EdGraphPin_46410"
      PinName="B"
      PinType=(PinCategory="optional")
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_39.EdGraphPin_46414"'
   End Object
   Begin Object Name="EdGraphPin_46411"
      PinName="Alpha"
      PinType=(PinCategory="optional")
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_32.EdGraphPin_46397"'
   End Object
   Begin Object Name="EdGraphPin_46412"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_34.EdGraphPin_46399"'
   End Object
   MaterialExpression=MaterialExpressionLinearInterpolate'MaterialExpressionLinearInterpolate_11'
   Pins(0)=EdGraphPin'EdGraphPin_46409'
   Pins(1)=EdGraphPin'EdGraphPin_46410'
   Pins(2)=EdGraphPin'EdGraphPin_46411'
   Pins(3)=EdGraphPin'EdGraphPin_46412'
   NodePosX=-2160
   NodePosY=624
   NodeGuid=C7FF625F48BC603D6D548CBB1A9BF350
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_38"
   Begin Object Class=MaterialExpressionConstant Name="MaterialExpressionConstant_16"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46413"
   End Object
   Begin Object Name="MaterialExpressionConstant_16"
      MaterialExpressionEditorX=-2288
      MaterialExpressionEditorY=592
      Material=PreviewMaterial'/Engine/Transient.PreviewMaterial_0'
   End Object
   Begin Object Name="EdGraphPin_46413"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_37.EdGraphPin_46409"'
   End Object
   MaterialExpression=MaterialExpressionConstant'MaterialExpressionConstant_16'
   Pins(0)=EdGraphPin'EdGraphPin_46413'
   NodePosX=-2288
   NodePosY=592
   NodeGuid=19B5C69E47EFF86718AC7BA5EE83639E
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_39"
   Begin Object Class=MaterialExpressionConstant Name="MaterialExpressionConstant_17"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46414"
   End Object
   Begin Object Name="MaterialExpressionConstant_17"
      R=1.000000
      MaterialExpressionEditorX=-2288
      MaterialExpressionEditorY=656
      Material=PreviewMaterial'/Engine/Transient.PreviewMaterial_0'
   End Object
   Begin Object Name="EdGraphPin_46414"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_37.EdGraphPin_46410"'
   End Object
   MaterialExpression=MaterialExpressionConstant'MaterialExpressionConstant_17'
   Pins(0)=EdGraphPin'EdGraphPin_46414'
   NodePosX=-2288
   NodePosY=656
   NodeGuid=2A015C8B45E1F8CE09ABB7BB3DC0C660
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_40"
   Begin Object Class=MaterialExpressionAdd Name="MaterialExpressionAdd_24"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46415"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46416"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46417"
   End Object
   Begin Object Name="MaterialExpressionAdd_24"
      A=(Expression=MaterialExpressionComponentMask'"MaterialGraphNode_30.MaterialExpressionComponentMask_13"')
      ConstB=0.250000
      MaterialExpressionEditorX=-2800
      MaterialExpressionEditorY=720
      Material=PreviewMaterial'/Engine/Transient.PreviewMaterial_0'
   End Object
   Begin Object Name="EdGraphPin_46415"
      PinName="A"
      PinType=(PinCategory="optional")
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_30.EdGraphPin_46392"'
   End Object
   Begin Object Name="EdGraphPin_46416"
      PinName="B"
      PinType=(PinCategory="optional")
   End Object
   Begin Object Name="EdGraphPin_46417"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_31.EdGraphPin_46393"'
   End Object
   MaterialExpression=MaterialExpressionAdd'MaterialExpressionAdd_24'
   Pins(0)=EdGraphPin'EdGraphPin_46415'
   Pins(1)=EdGraphPin'EdGraphPin_46416'
   Pins(2)=EdGraphPin'EdGraphPin_46417'
   NodePosX=-2800
   NodePosY=720
   NodeGuid=AABAEF4546FDEC413BC23E844C19A31F
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_41"
   Begin Object Class=MaterialExpressionAdd Name="MaterialExpressionAdd_25"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46418"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46419"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46420"
   End Object
   Begin Object Name="MaterialExpressionAdd_25"
      A=(Expression=MaterialExpressionComponentMask'"MaterialGraphNode_14.MaterialExpressionComponentMask_11"')
      ConstB=0.500000
      MaterialExpressionEditorX=-2569
      MaterialExpressionEditorY=476
      Material=PreviewMaterial'/Engine/Transient.PreviewMaterial_0'
   End Object
   Begin Object Name="EdGraphPin_46418"
      PinName="A"
      PinType=(PinCategory="optional")
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_14.EdGraphPin_46356"'
   End Object
   Begin Object Name="EdGraphPin_46419"
      PinName="B"
      PinType=(PinCategory="optional")
   End Object
   Begin Object Name="EdGraphPin_46420"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_42.EdGraphPin_46421"'
   End Object
   MaterialExpression=MaterialExpressionAdd'MaterialExpressionAdd_25'
   Pins(0)=EdGraphPin'EdGraphPin_46418'
   Pins(1)=EdGraphPin'EdGraphPin_46419'
   Pins(2)=EdGraphPin'EdGraphPin_46420'
   NodePosX=-2569
   NodePosY=476
   NodeGuid=4A0E038F4278F670AA0E0A9B3CF8C941
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_42"
   Begin Object Class=MaterialExpressionDivide Name="MaterialExpressionDivide_21"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46421"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46422"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46423"
   End Object
   Begin Object Name="MaterialExpressionDivide_21"
      A=(Expression=MaterialExpressionAdd'"MaterialGraphNode_41.MaterialExpressionAdd_25"')
      MaterialExpressionEditorX=-2448
      MaterialExpressionEditorY=480
      Material=PreviewMaterial'/Engine/Transient.PreviewMaterial_0'
   End Object
   Begin Object Name="EdGraphPin_46421"
      PinName="A"
      PinType=(PinCategory="optional")
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_41.EdGraphPin_46420"'
   End Object
   Begin Object Name="EdGraphPin_46422"
      PinName="B"
      PinType=(PinCategory="optional")
   End Object
   Begin Object Name="EdGraphPin_46423"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_15.EdGraphPin_46357"'
   End Object
   MaterialExpression=MaterialExpressionDivide'MaterialExpressionDivide_21'
   Pins(0)=EdGraphPin'EdGraphPin_46421'
   Pins(1)=EdGraphPin'EdGraphPin_46422'
   Pins(2)=EdGraphPin'EdGraphPin_46423'
   NodePosX=-2448
   NodePosY=480
   NodeGuid=A51DB33C46D35C40C5A87A99BF150099
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_43"
   Begin Object Class=MaterialExpressionTextureCoordinate Name="MaterialExpressionTextureCoordinate_15"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46424"
   End Object
   Begin Object Name="MaterialExpressionTextureCoordinate_15"
      MaterialExpressionEditorX=-2768
      MaterialExpressionEditorY=848
      Material=PreviewMaterial'/Engine/Transient.PreviewMaterial_0'
   End Object
   Begin Object Name="EdGraphPin_46424"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_44.EdGraphPin_46425"'
   End Object
   MaterialExpression=MaterialExpressionTextureCoordinate'MaterialExpressionTextureCoordinate_15'
   Pins(0)=EdGraphPin'EdGraphPin_46424'
   NodePosX=-2768
   NodePosY=848
   NodeGuid=34BF55C84F7D06907CC53EB2524004F6
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_44"
   Begin Object Class=MaterialExpressionComponentMask Name="MaterialExpressionComponentMask_14"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46425"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46426"
   End Object
   Begin Object Name="MaterialExpressionComponentMask_14"
      Input=(Expression=MaterialExpressionTextureCoordinate'"MaterialGraphNode_43.MaterialExpressionTextureCoordinate_15"')
      G=True
      MaterialExpressionEditorX=-2656
      MaterialExpressionEditorY=848
      Material=PreviewMaterial'/Engine/Transient.PreviewMaterial_0'
   End Object
   Begin Object Name="EdGraphPin_46425"
      PinName="Input"
      PinFriendlyName=" "
      PinType=(PinCategory="required")
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_43.EdGraphPin_46424"'
   End Object
   Begin Object Name="EdGraphPin_46426"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_48.EdGraphPin_46435"'
   End Object
   MaterialExpression=MaterialExpressionComponentMask'MaterialExpressionComponentMask_14'
   Pins(0)=EdGraphPin'EdGraphPin_46425'
   Pins(1)=EdGraphPin'EdGraphPin_46426'
   NodePosX=-2656
   NodePosY=848
   NodeGuid=66E29F4D4E0DE36739A47EA6EC902164
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_45"
   Begin Object Class=MaterialExpressionCosine Name="MaterialExpressionCosine_8"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46427"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46428"
   End Object
   Begin Object Name="MaterialExpressionCosine_8"
      Input=(Expression=MaterialExpressionDivide'"MaterialGraphNode_49.MaterialExpressionDivide_23"')
      MaterialExpressionEditorX=-2288
      MaterialExpressionEditorY=848
      Material=PreviewMaterial'/Engine/Transient.PreviewMaterial_0'
   End Object
   Begin Object Name="EdGraphPin_46427"
      PinName="Input"
      PinFriendlyName=" "
      PinType=(PinCategory="required")
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_49.EdGraphPin_46440"'
   End Object
   Begin Object Name="EdGraphPin_46428"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_46.EdGraphPin_46429"'
   End Object
   MaterialExpression=MaterialExpressionCosine'MaterialExpressionCosine_8'
   Pins(0)=EdGraphPin'EdGraphPin_46427'
   Pins(1)=EdGraphPin'EdGraphPin_46428'
   NodePosX=-2288
   NodePosY=848
   NodeGuid=B256862844DECF832F5D7F9F01A72D7B
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_46"
   Begin Object Class=MaterialExpressionAdd Name="MaterialExpressionAdd_26"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46429"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46430"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46431"
   End Object
   Begin Object Name="MaterialExpressionAdd_26"
      A=(Expression=MaterialExpressionCosine'"MaterialGraphNode_45.MaterialExpressionCosine_8"')
      MaterialExpressionEditorX=-2176
      MaterialExpressionEditorY=848
      Material=PreviewMaterial'/Engine/Transient.PreviewMaterial_0'
   End Object
   Begin Object Name="EdGraphPin_46429"
      PinName="A"
      PinType=(PinCategory="optional")
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_45.EdGraphPin_46428"'
   End Object
   Begin Object Name="EdGraphPin_46430"
      PinName="B"
      PinType=(PinCategory="optional")
   End Object
   Begin Object Name="EdGraphPin_46431"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_47.EdGraphPin_46432"'
   End Object
   MaterialExpression=MaterialExpressionAdd'MaterialExpressionAdd_26'
   Pins(0)=EdGraphPin'EdGraphPin_46429'
   Pins(1)=EdGraphPin'EdGraphPin_46430'
   Pins(2)=EdGraphPin'EdGraphPin_46431'
   NodePosX=-2176
   NodePosY=848
   NodeGuid=2F2C4CE4472651B900CD809C124AC4F4
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_47"
   Begin Object Class=MaterialExpressionDivide Name="MaterialExpressionDivide_22"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46432"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46433"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46434"
   End Object
   Begin Object Name="MaterialExpressionDivide_22"
      A=(Expression=MaterialExpressionAdd'"MaterialGraphNode_46.MaterialExpressionAdd_26"')
      ConstB=1.000000
      MaterialExpressionEditorX=-2064
      MaterialExpressionEditorY=848
      Material=PreviewMaterial'/Engine/Transient.PreviewMaterial_0'
   End Object
   Begin Object Name="EdGraphPin_46432"
      PinName="A"
      PinType=(PinCategory="optional")
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_46.EdGraphPin_46431"'
   End Object
   Begin Object Name="EdGraphPin_46433"
      PinName="B"
      PinType=(PinCategory="optional")
   End Object
   Begin Object Name="EdGraphPin_46434"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_34.EdGraphPin_46401"'
   End Object
   MaterialExpression=MaterialExpressionDivide'MaterialExpressionDivide_22'
   Pins(0)=EdGraphPin'EdGraphPin_46432'
   Pins(1)=EdGraphPin'EdGraphPin_46433'
   Pins(2)=EdGraphPin'EdGraphPin_46434'
   NodePosX=-2064
   NodePosY=848
   NodeGuid=5D543E0D4FCC052B747C87A358F708FC
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_48"
   Begin Object Class=MaterialExpressionAdd Name="MaterialExpressionAdd_27"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46435"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46436"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46437"
   End Object
   Begin Object Name="MaterialExpressionAdd_27"
      A=(Expression=MaterialExpressionComponentMask'"MaterialGraphNode_44.MaterialExpressionComponentMask_14"')
      ConstB=0.500000
      MaterialExpressionEditorX=-2528
      MaterialExpressionEditorY=848
      Material=PreviewMaterial'/Engine/Transient.PreviewMaterial_0'
   End Object
   Begin Object Name="EdGraphPin_46435"
      PinName="A"
      PinType=(PinCategory="optional")
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_44.EdGraphPin_46426"'
   End Object
   Begin Object Name="EdGraphPin_46436"
      PinName="B"
      PinType=(PinCategory="optional")
   End Object
   Begin Object Name="EdGraphPin_46437"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_49.EdGraphPin_46438"'
   End Object
   MaterialExpression=MaterialExpressionAdd'MaterialExpressionAdd_27'
   Pins(0)=EdGraphPin'EdGraphPin_46435'
   Pins(1)=EdGraphPin'EdGraphPin_46436'
   Pins(2)=EdGraphPin'EdGraphPin_46437'
   NodePosX=-2528
   NodePosY=848
   NodeGuid=D07682DC401273A2F24EFDB3DDF103E9
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_49"
   Begin Object Class=MaterialExpressionDivide Name="MaterialExpressionDivide_23"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46438"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46439"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_46440"
   End Object
   Begin Object Name="MaterialExpressionDivide_23"
      A=(Expression=MaterialExpressionAdd'"MaterialGraphNode_48.MaterialExpressionAdd_27"')
      MaterialExpressionEditorX=-2416
      MaterialExpressionEditorY=848
      Material=PreviewMaterial'/Engine/Transient.PreviewMaterial_0'
   End Object
   Begin Object Name="EdGraphPin_46438"
      PinName="A"
      PinType=(PinCategory="optional")
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_48.EdGraphPin_46437"'
   End Object
   Begin Object Name="EdGraphPin_46439"
      PinName="B"
      PinType=(PinCategory="optional")
   End Object
   Begin Object Name="EdGraphPin_46440"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_45.EdGraphPin_46427"'
   End Object
   MaterialExpression=MaterialExpressionDivide'MaterialExpressionDivide_23'
   Pins(0)=EdGraphPin'EdGraphPin_46438'
   Pins(1)=EdGraphPin'EdGraphPin_46439'
   Pins(2)=EdGraphPin'EdGraphPin_46440'
   NodePosX=-2416
   NodePosY=848
   NodeGuid=3867D93A40D63CA6D9EB418936570342
End Object



Thats pretty cool

Wow…This is really, really useful. I’ve been checking engine forums and basically any realtime 3d software forums waiting if this would be done.

I used my time earlier this year to learn cryengine but never got to 360 renders. So… I have no idea how the code here works and how the blueprint in the image is associated with it or are they the same thing… so I got to ask how far am i using unreal engine to render eqirectangular image sequences as I’ve never even opened unreal once?

It seems that it’s quite a bit easier to import skinned characters and objects and so on in unreal than in cryengine as unreal uses fbx, so i’m not worried about the learning curve in the editor but in this custom coding that is far beyond my skills.

RewindFX, would you strip your level down leaving only the sphere and it’s shaders etc. and share your level as a template for 360 video capture?

daveb

(I don’t have subscription yet but 20/mo for this is truly nothing)

This is really cool.
I have been working with someone who has a project that could possibly benefit from this.
keep up the good work.

I love math. Nice tut!

Hello. Finally got subscription today and tried the math solution.

I can’t insert negative values in constant 3Vector
as it’s done in the code and image above. Any idea what i’m missing?

I also understand that final material is applied on a plane or whatever planar object
in the scene to view the equirectangular but i just cant figure out what is the texture for in the image
that has the parameter2d and the parametercube?

db

One more post on this one. Got it now. Took me a while to realize it is possible to paste code to nodes editor.
Anyway, this is great. Thanks a bunch RewindFX!

Out of curiosity - what are you using these for? It seems like a good idea, but I can’t figure out the use.

awesome :slight_smile: