Download

POM material

No there is no particular reason, just what I was basing it on was using tangent space camera and vertex normals. As you have stated worldspace works just fine and saves 4 instructions.

Sooo, I gave it a try :slight_smile:
It looks stunning in the material editor preview but starts to make problems in the “real” application… Somehow the algorithm does not like when the mesh to which the material is applied starts to be rotated…?
See the attached screenshots… Mesh 1 is placed normally into the scene. Mesh 2 is rotated slightly but still faces upwards. The effect apparently does not really follow the rotation. And everything becomes extremely weird, when the mesh is rotated out of its original plane, as demonstrated with mesh 3…

Any ideas on that? Otherwise the effect is just increeeedibly good!

Any chance you are doing the wrong vector transformation, like local to tangent?
World to Tangent should give just correct results for the camera vector.

Yeah Im going to have to echo mAlkAv!An here. Looks like wrong transforms. Make sure Source is set to ‘World’ and Destination is set to ‘Tangent’ on your transforms. Just for reference. The transforms in the ‘NumSamples’ block don’t actually need to exist, you can do those calculations in worldspace the transform in ‘ParallaxLimit’ block must be World->Tangent

Jep, sounds reasonable; I have to check it after work this evening. Thanks for the advices!

Thanks Ehamloptiran for sharing :cool:

Yes, this was of course the error - now it works perfectly :slight_smile:
Just a last question: Enabling the “UseSilhouette” effect seem to make it not possible to render the texture properly on brushes. I won’t really use the material on brushes anyway but just out of curiosity - can you explain that?

I can’t make this
Here is my material can anyone help ?

Judging by the node previews I’d guess that you accidently set the U/VTiling to 0 in the texcoords node.

Good to hear. In regards to brushes. The silhouette mode clips out any pixels where the texture coordinate is above 1.0f or below 0.0f. Which means you can’t use tiling with silhouette and brushes basically rely on tiling to keep the resolution good.

Seems comprehensible. Thanks! I always like to (at least begin to) understand how the shader do their work and how this is manifested in their usability!

I have check the Texcoords node but i have set the U/V Tiling to 1 in the 3 node.

Was the Heightmap the first texture you placed onto the graph? As that will cause problems if it wasn’t, due to the fact the custom code directly references Material.Texture2D_0 and Material.Texture2D_0Sampler. You can try changing that to Material.Texture2D_1 and Material.Texture2D_1Sampler or even 2 and see if that changes things.

Great job on this one Ehamloptiran! Looks great. How performance heavy is it compared to alternatives?

I think the performance is pretty good. Im running a NVIDIA Titan Black and most of my screenshots were using MinSamples = 60, MaxSamples = 160. I created a little mock up scene where I am using POM everywhere, and I see very little impact to performance.

Here’s the material network, just copy and paste it into the material editor.


Begin Object Class=MaterialGraphNode_Root Name="MaterialGraphNode_Root_0"
   Begin Object Class=EdGraphPin Name="EdGraphPin_2455"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2456"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2457"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2458"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2459"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2460"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2461"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2462"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2463"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2464"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2465"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2466"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2467"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2468"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2469"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2470"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2471"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2472"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2473"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2474"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2475"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2476"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2477"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2478"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2479"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2480"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2481"
   End Object
   Begin Object Name="EdGraphPin_2455"
      PinName="Diffuse Color"
      PinType=(PinCategory="materialinput")
   End Object
   Begin Object Name="EdGraphPin_2456"
      PinName="Specular Color"
      PinType=(PinCategory="materialinput")
   End Object
   Begin Object Name="EdGraphPin_2457"
      PinName="Base Color"
      PinType=(PinCategory="materialinput")
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_49.EdGraphPin_2923"'
   End Object
   Begin Object Name="EdGraphPin_2458"
      PinName="Metallic"
      PinType=(PinCategory="materialinput")
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_44.EdGraphPin_2902"'
   End Object
   Begin Object Name="EdGraphPin_2459"
      PinName="Specular"
      PinType=(PinCategory="materialinput")
   End Object
   Begin Object Name="EdGraphPin_2460"
      PinName="Roughness"
      PinType=(PinCategory="materialinput")
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_46.EdGraphPin_2908"'
   End Object
   Begin Object Name="EdGraphPin_2461"
      PinName="Emissive Color"
      PinType=(PinCategory="materialinput")
   End Object
   Begin Object Name="EdGraphPin_2462"
      PinName="Opacity"
      PinType=(PinCategory="materialinput")
   End Object
   Begin Object Name="EdGraphPin_2463"
      PinName="Opacity Mask"
      PinType=(PinCategory="materialinput")
   End Object
   Begin Object Name="EdGraphPin_2464"
      PinName="Normal"
      PinType=(PinCategory="materialinput")
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_48.EdGraphPin_2917"'
   End Object
   Begin Object Name="EdGraphPin_2465"
      PinName="World Position Offset"
      PinType=(PinCategory="materialinput")
   End Object
   Begin Object Name="EdGraphPin_2466"
      PinName="World Displacement"
      PinType=(PinCategory="materialinput")
   End Object
   Begin Object Name="EdGraphPin_2467"
      PinName="Tessellation Multiplier"
      PinType=(PinCategory="materialinput")
   End Object
   Begin Object Name="EdGraphPin_2468"
      PinName="Subsurface Color"
      PinType=(PinCategory="materialinput")
   End Object
   Begin Object Name="EdGraphPin_2469"
      PinName="Clear Coat"
      PinType=(PinCategory="materialinput")
   End Object
   Begin Object Name="EdGraphPin_2470"
      PinName="Clear Coat Roughness"
      PinType=(PinCategory="materialinput")
   End Object
   Begin Object Name="EdGraphPin_2471"
      PinName="Ambient Occlusion"
      PinType=(PinCategory="materialinput")
   End Object
   Begin Object Name="EdGraphPin_2472"
      PinName="Refraction"
      PinType=(PinCategory="materialinput")
   End Object
   Begin Object Name="EdGraphPin_2473"
      PinName="Customized UV0"
      PinType=(PinCategory="materialinput")
   End Object
   Begin Object Name="EdGraphPin_2474"
      PinName="Customized UV1"
      PinType=(PinCategory="materialinput")
   End Object
   Begin Object Name="EdGraphPin_2475"
      PinName="Customized UV2"
      PinType=(PinCategory="materialinput")
   End Object
   Begin Object Name="EdGraphPin_2476"
      PinName="Customized UV3"
      PinType=(PinCategory="materialinput")
   End Object
   Begin Object Name="EdGraphPin_2477"
      PinName="Customized UV4"
      PinType=(PinCategory="materialinput")
   End Object
   Begin Object Name="EdGraphPin_2478"
      PinName="Customized UV5"
      PinType=(PinCategory="materialinput")
   End Object
   Begin Object Name="EdGraphPin_2479"
      PinName="Customized UV6"
      PinType=(PinCategory="materialinput")
   End Object
   Begin Object Name="EdGraphPin_2480"
      PinName="Customized UV7"
      PinType=(PinCategory="materialinput")
   End Object
   Begin Object Name="EdGraphPin_2481"
      PinName="Material Attributes"
      PinType=(PinCategory="materialinput")
   End Object
   Material=PreviewMaterial'/Engine/Transient.PreviewMaterial_0'
   Pins(0)=EdGraphPin'EdGraphPin_2455'
   Pins(1)=EdGraphPin'EdGraphPin_2456'
   Pins(2)=EdGraphPin'EdGraphPin_2457'
   Pins(3)=EdGraphPin'EdGraphPin_2458'
   Pins(4)=EdGraphPin'EdGraphPin_2459'
   Pins(5)=EdGraphPin'EdGraphPin_2460'
   Pins(6)=EdGraphPin'EdGraphPin_2461'
   Pins(7)=EdGraphPin'EdGraphPin_2462'
   Pins(8)=EdGraphPin'EdGraphPin_2463'
   Pins(9)=EdGraphPin'EdGraphPin_2464'
   Pins(10)=EdGraphPin'EdGraphPin_2465'
   Pins(11)=EdGraphPin'EdGraphPin_2466'
   Pins(12)=EdGraphPin'EdGraphPin_2467'
   Pins(13)=EdGraphPin'EdGraphPin_2468'
   Pins(14)=EdGraphPin'EdGraphPin_2469'
   Pins(15)=EdGraphPin'EdGraphPin_2470'
   Pins(16)=EdGraphPin'EdGraphPin_2471'
   Pins(17)=EdGraphPin'EdGraphPin_2472'
   Pins(18)=EdGraphPin'EdGraphPin_2473'
   Pins(19)=EdGraphPin'EdGraphPin_2474'
   Pins(20)=EdGraphPin'EdGraphPin_2475'
   Pins(21)=EdGraphPin'EdGraphPin_2476'
   Pins(22)=EdGraphPin'EdGraphPin_2477'
   Pins(23)=EdGraphPin'EdGraphPin_2478'
   Pins(24)=EdGraphPin'EdGraphPin_2479'
   Pins(25)=EdGraphPin'EdGraphPin_2480'
   Pins(26)=EdGraphPin'EdGraphPin_2481'
   NodePosX=624
   NodePosY=-176
   NodeGuid=BDEF4FA44620592AA149559E71E33616
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_0"
   Begin Object Class=MaterialExpressionCameraVectorWS Name="MaterialExpressionCameraVectorWS_2"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2611"
   End Object
   Begin Object Name="MaterialExpressionCameraVectorWS_2"
      MaterialExpressionEditorX=-2095
      MaterialExpressionEditorY=-792
      MaterialExpressionGuid=8ED0AC3F4C04DD3683384096EE02E1E7
      Material=PreviewMaterial'/Engine/Transient.PreviewMaterial_0'
   End Object
   Begin Object Name="EdGraphPin_2611"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_3.EdGraphPin_2612"'
   End Object
   MaterialExpression=MaterialExpressionCameraVectorWS'MaterialExpressionCameraVectorWS_2'
   Pins(0)=EdGraphPin'EdGraphPin_2611'
   NodePosX=-2095
   NodePosY=-792
   NodeGuid=14BD0193435FA1B7386912B0A8412E8C
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_3"
   Begin Object Class=MaterialExpressionTransform Name="MaterialExpressionTransform_5"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2612"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2613"
   End Object
   Begin Object Name="MaterialExpressionTransform_5"
      Input=(Expression=MaterialExpressionCameraVectorWS'"MaterialGraphNode_0.MaterialExpressionCameraVectorWS_2"')
      TransformSourceType=TRANSFORMSOURCE_World
      TransformType=TRANSFORM_Tangent
      MaterialExpressionEditorX=-1941
      MaterialExpressionEditorY=-789
      MaterialExpressionGuid=6B24078F453619F459C4ECBEDAF0DDBD
      Material=PreviewMaterial'/Engine/Transient.PreviewMaterial_0'
   End Object
   Begin Object Name="EdGraphPin_2612"
      PinName="Input"
      PinFriendlyName=" "
      PinType=(PinCategory="required")
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_0.EdGraphPin_2611"'
   End Object
   Begin Object Name="EdGraphPin_2613"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_4.EdGraphPin_2619"'
   End Object
   MaterialExpression=MaterialExpressionTransform'MaterialExpressionTransform_5'
   Pins(0)=EdGraphPin'EdGraphPin_2612'
   Pins(1)=EdGraphPin'EdGraphPin_2613'
   NodePosX=-1941
   NodePosY=-789
   NodeGuid=BA7F08BD43202BFFE8084A9CED0CEACA
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_2"
   Begin Object Class=MaterialExpressionVertexNormalWS Name="MaterialExpressionVertexNormalWS_1"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2614"
   End Object
   Begin Object Name="MaterialExpressionVertexNormalWS_1"
      MaterialExpressionEditorX=-2095
      MaterialExpressionEditorY=-607
      MaterialExpressionGuid=454C6D7144AA35F60F99FEA1C66B8256
      Material=PreviewMaterial'/Engine/Transient.PreviewMaterial_0'
   End Object
   Begin Object Name="EdGraphPin_2614"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_1.EdGraphPin_2615"'
   End Object
   MaterialExpression=MaterialExpressionVertexNormalWS'MaterialExpressionVertexNormalWS_1'
   Pins(0)=EdGraphPin'EdGraphPin_2614'
   NodePosX=-2095
   NodePosY=-607
   NodeGuid=E176D54B49DB0C51D1612B86E291BB5F
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_1"
   Begin Object Class=MaterialExpressionTransform Name="MaterialExpressionTransform_6"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2615"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2616"
   End Object
   Begin Object Name="MaterialExpressionTransform_6"
      Input=(Expression=MaterialExpressionVertexNormalWS'"MaterialGraphNode_2.MaterialExpressionVertexNormalWS_1"')
      TransformSourceType=TRANSFORMSOURCE_World
      TransformType=TRANSFORM_Tangent
      MaterialExpressionEditorX=-1925
      MaterialExpressionEditorY=-597
      MaterialExpressionGuid=6B24078F453619F459C4ECBEDAF0DDBD
      Material=PreviewMaterial'/Engine/Transient.PreviewMaterial_0'
   End Object
   Begin Object Name="EdGraphPin_2615"
      PinName="Input"
      PinFriendlyName=" "
      PinType=(PinCategory="required")
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_2.EdGraphPin_2614"'
   End Object
   Begin Object Name="EdGraphPin_2616"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_4.EdGraphPin_2620"'
   End Object
   MaterialExpression=MaterialExpressionTransform'MaterialExpressionTransform_6'
   Pins(0)=EdGraphPin'EdGraphPin_2615'
   Pins(1)=EdGraphPin'EdGraphPin_2616'
   NodePosX=-1925
   NodePosY=-597
   NodeGuid=8AE7525949FF4A059A0893B571CFEC53
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_4"
   Begin Object Class=MaterialExpressionDotProduct Name="MaterialExpressionDotProduct_1"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2619"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2620"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2621"
   End Object
   Begin Object Name="MaterialExpressionDotProduct_1"
      A=(Expression=MaterialExpressionTransform'"MaterialGraphNode_3.MaterialExpressionTransform_5"')
      B=(Expression=MaterialExpressionTransform'"MaterialGraphNode_1.MaterialExpressionTransform_6"')
      MaterialExpressionEditorX=-1708
      MaterialExpressionEditorY=-685
      MaterialExpressionGuid=205027E847624840D423B7B38F8CBF28
      Material=PreviewMaterial'/Engine/Transient.PreviewMaterial_0'
   End Object
   Begin Object Name="EdGraphPin_2619"
      PinName="A"
      PinType=(PinCategory="required")
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_3.EdGraphPin_2613"'
   End Object
   Begin Object Name="EdGraphPin_2620"
      PinName="B"
      PinType=(PinCategory="required")
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_1.EdGraphPin_2616"'
   End Object
   Begin Object Name="EdGraphPin_2621"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_7.EdGraphPin_2627"'
   End Object
   MaterialExpression=MaterialExpressionDotProduct'MaterialExpressionDotProduct_1'
   Pins(0)=EdGraphPin'EdGraphPin_2619'
   Pins(1)=EdGraphPin'EdGraphPin_2620'
   Pins(2)=EdGraphPin'EdGraphPin_2621'
   NodePosX=-1708
   NodePosY=-685
   NodeGuid=B8565B32478A5E8B443CADBE0414D39D
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_7"
   Begin Object Class=MaterialExpressionLinearInterpolate Name="MaterialExpressionLinearInterpolate_1"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2625"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2626"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2627"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2628"
   End Object
   Begin Object Name="MaterialExpressionLinearInterpolate_1"
      A=(Expression=MaterialExpressionScalarParameter'"MaterialGraphNode_9.MaterialExpressionScalarParameter_5"')
      B=(Expression=MaterialExpressionScalarParameter'"MaterialGraphNode_8.MaterialExpressionScalarParameter_4"')
      Alpha=(Expression=MaterialExpressionDotProduct'"MaterialGraphNode_4.MaterialExpressionDotProduct_1"')
      MaterialExpressionEditorX=-1493
      MaterialExpressionEditorY=-805
      MaterialExpressionGuid=792561C44E2E45E3184701AA9B66B9EB
      Material=PreviewMaterial'/Engine/Transient.PreviewMaterial_0'
   End Object
   Begin Object Name="EdGraphPin_2625"
      PinName="A"
      PinType=(PinCategory="optional")
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_9.EdGraphPin_2630"'
   End Object
   Begin Object Name="EdGraphPin_2626"
      PinName="B"
      PinType=(PinCategory="optional")
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_8.EdGraphPin_2629"'
   End Object
   Begin Object Name="EdGraphPin_2627"
      PinName="Alpha"
      PinType=(PinCategory="optional")
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_4.EdGraphPin_2621"'
   End Object
   Begin Object Name="EdGraphPin_2628"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_10.EdGraphPin_2631"'
   End Object
   MaterialExpression=MaterialExpressionLinearInterpolate'MaterialExpressionLinearInterpolate_1'
   Pins(0)=EdGraphPin'EdGraphPin_2625'
   Pins(1)=EdGraphPin'EdGraphPin_2626'
   Pins(2)=EdGraphPin'EdGraphPin_2627'
   Pins(3)=EdGraphPin'EdGraphPin_2628'
   NodePosX=-1493
   NodePosY=-805
   NodeGuid=55079BE84E05171DF08F528D402278C8
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_8"
   Begin Object Class=MaterialExpressionScalarParameter Name="MaterialExpressionScalarParameter_4"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2629"
   End Object
   Begin Object Name="MaterialExpressionScalarParameter_4"
      DefaultValue=20.000000
      ParameterName="Samples Max"
      ExpressionGUID=C211977349CAB234F628F9A82C68E267
      MaterialExpressionEditorX=-1650
      MaterialExpressionEditorY=-811
      MaterialExpressionGuid=EAED7F354B390DE501985EAA402E5284
      Material=PreviewMaterial'/Engine/Transient.PreviewMaterial_0'
   End Object
   Begin Object Name="EdGraphPin_2629"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_7.EdGraphPin_2626"'
   End Object
   MaterialExpression=MaterialExpressionScalarParameter'MaterialExpressionScalarParameter_4'
   Pins(0)=EdGraphPin'EdGraphPin_2629'
   NodePosX=-1650
   NodePosY=-811
   bCanRenameNode=True
   NodeGuid=7607643E40B2042E0707A6AE6F782BE7
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_9"
   Begin Object Class=MaterialExpressionScalarParameter Name="MaterialExpressionScalarParameter_5"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2630"
   End Object
   Begin Object Name="MaterialExpressionScalarParameter_5"
      DefaultValue=4.000000
      ParameterName="Samples Min"
      ExpressionGUID=5BB2AAA9450EE93A2D2C13AE7CCAA296
      MaterialExpressionEditorX=-1648
      MaterialExpressionEditorY=-886
      MaterialExpressionGuid=AA826C1F449E450AA8F382BF9B9398BC
      Material=PreviewMaterial'/Engine/Transient.PreviewMaterial_0'
   End Object
   Begin Object Name="EdGraphPin_2630"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_7.EdGraphPin_2625"'
   End Object
   MaterialExpression=MaterialExpressionScalarParameter'MaterialExpressionScalarParameter_5'
   Pins(0)=EdGraphPin'EdGraphPin_2630'
   NodePosX=-1648
   NodePosY=-886
   bCanRenameNode=True
   NodeGuid=C56A18594762D5EB1F0D6FAE396EDA40
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_10"
   Begin Object Class=MaterialExpressionFloor Name="MaterialExpressionFloor_1"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2631"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2632"
   End Object
   Begin Object Name="MaterialExpressionFloor_1"
      Input=(Expression=MaterialExpressionLinearInterpolate'"MaterialGraphNode_7.MaterialExpressionLinearInterpolate_1"')
      MaterialExpressionEditorX=-1360
      MaterialExpressionEditorY=-784
      MaterialExpressionGuid=4F93BAF342C4D7F17C93B4AF775A34F8
      Material=PreviewMaterial'/Engine/Transient.PreviewMaterial_0'
   End Object
   Begin Object Name="EdGraphPin_2631"
      PinName="Input"
      PinFriendlyName=" "
      PinType=(PinCategory="required")
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_7.EdGraphPin_2628"'
   End Object
   Begin Object Name="EdGraphPin_2632"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_11.EdGraphPin_2634"'
      LinkedTo(1)=EdGraphPin'"MaterialGraphNode_12.EdGraphPin_2785"'
   End Object
   MaterialExpression=MaterialExpressionFloor'MaterialExpressionFloor_1'
   Pins(0)=EdGraphPin'EdGraphPin_2631'
   Pins(1)=EdGraphPin'EdGraphPin_2632'
   NodePosX=-1360
   NodePosY=-784
   NodeGuid=A7FF29D04172462D1B280A81846D5A00
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_11"
   Begin Object Class=MaterialExpressionDivide Name="MaterialExpressionDivide_3"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2633"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2634"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2635"
   End Object
   Begin Object Name="MaterialExpressionDivide_3"
      B=(Expression=MaterialExpressionFloor'"MaterialGraphNode_10.MaterialExpressionFloor_1"')
      MaterialExpressionEditorX=-1216
      MaterialExpressionEditorY=-608
      MaterialExpressionGuid=50B92AC3453D2D5E07709987778685E5
      Material=PreviewMaterial'/Engine/Transient.PreviewMaterial_0'
   End Object
   Begin Object Name="EdGraphPin_2633"
      PinName="A"
      PinType=(PinCategory="optional")
   End Object
   Begin Object Name="EdGraphPin_2634"
      PinName="B"
      PinType=(PinCategory="optional")
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_10.EdGraphPin_2632"'
   End Object
   Begin Object Name="EdGraphPin_2635"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_12.EdGraphPin_2786"'
   End Object
   MaterialExpression=MaterialExpressionDivide'MaterialExpressionDivide_3'
   Pins(0)=EdGraphPin'EdGraphPin_2633'
   Pins(1)=EdGraphPin'EdGraphPin_2634'
   Pins(2)=EdGraphPin'EdGraphPin_2635'
   NodePosX=-1216
   NodePosY=-608
   NodeGuid=E82082F34C735BA98E0A8781D4F52E07
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_12"
   Begin Object Class=MaterialExpressionCustom Name="MaterialExpressionCustom_2"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2785"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2786"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2787"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2788"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2789"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2790"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2791"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2792"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2793"
   End Object
   Begin Object Name="MaterialExpressionCustom_2"
      Code="float CurrRayHeight = 1.0;
float2 CurrOffset = float2( 0, 0 );
float2 LastOffset = float2( 0, 0 );

float LastSampledHeight = 1;
float CurrSampledHeight = 1;

int CurrSample = 0;

while ( CurrSample < (int) InNumSamples )
{
float4 Temp = Material.Texture2D_0.SampleGrad( Material.Texture2D_0Sampler, InTexCoord + CurrOffset, InDX, InDY );
CurrSampledHeight = ( ( Temp.r * InChannelMask.r ) + ( Temp.g * InChannelMask.g ) + ( Temp.b * InChannelMask.b ) );

if ( CurrSampledHeight > CurrRayHeight )
{
float Delta1 = CurrSampledHeight - CurrRayHeight;
float Delta2 = ( CurrRayHeight + InStepSize ) - LastSampledHeight;

float Ratio = Delta1/( Delta1 + Delta2 );

CurrOffset = ( Ratio ) * LastOffset + ( 1.0 - Ratio ) * CurrOffset;

CurrSample = InNumSamples + 1;
}
else
{
CurrSample++;

CurrRayHeight -= InStepSize;

LastOffset = CurrOffset;
CurrOffset += InStepSize * InMaxOffset;

LastSampledHeight = CurrSampledHeight;
}
}

return CurrOffset;
"
      OutputType=CMOT_Float2
      Description="CalcParallax"
      Inputs(0)=(InputName="InNumSamples",Input=(Expression=MaterialExpressionFloor'"MaterialGraphNode_10.MaterialExpressionFloor_1"'))
      Inputs(1)=(InputName="InStepSize",Input=(Expression=MaterialExpressionDivide'"MaterialGraphNode_11.MaterialExpressionDivide_3"'))
      Inputs(2)=(InputName="InTexCoord",Input=(Expression=MaterialExpressionTextureCoordinate'"MaterialGraphNode_17.MaterialExpressionTextureCoordinate_4"'))
      Inputs(3)=(InputName="InDX",Input=(Expression=MaterialExpressionDDX'"MaterialGraphNode_15.MaterialExpressionDDX_1"'))
      Inputs(4)=(InputName="InDY",Input=(Expression=MaterialExpressionDDY'"MaterialGraphNode_16.MaterialExpressionDDY_1"'))
      Inputs(5)=(InputName="NormalHeightMap",Input=(Expression=MaterialExpressionTextureSampleParameter2D'"MaterialGraphNode_18.MaterialExpressionTextureSampleParameter2D_3"',Mask=1,MaskR=1,MaskG=1,MaskB=1))
      Inputs(6)=(InputName="InMaxOffset",Input=(Expression=MaterialExpressionMultiply'"MaterialGraphNode_33.MaterialExpressionMultiply_5"'))
      Inputs(7)=(InputName="InChannelMask",Input=(Expression=MaterialExpressionVectorParameter'"MaterialGraphNode_36.MaterialExpressionVectorParameter_1"',Mask=1,MaskR=1,MaskG=1,MaskB=1))
      MaterialExpressionEditorX=-544
      MaterialExpressionEditorY=-80
      MaterialExpressionGuid=1EDD63DA45662E4236E8DCA5D34BC953
      Material=PreviewMaterial'/Engine/Transient.PreviewMaterial_0'
   End Object
   Begin Object Name="EdGraphPin_2785"
      PinName="InNumSamples"
      PinType=(PinCategory="required")
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_10.EdGraphPin_2632"'
   End Object
   Begin Object Name="EdGraphPin_2786"
      PinName="InStepSize"
      PinType=(PinCategory="required")
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_11.EdGraphPin_2635"'
   End Object
   Begin Object Name="EdGraphPin_2787"
      PinName="InTexCoord"
      PinType=(PinCategory="required")
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_17.EdGraphPin_2825"'
   End Object
   Begin Object Name="EdGraphPin_2788"
      PinName="InDX"
      PinType=(PinCategory="required")
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_15.EdGraphPin_2822"'
   End Object
   Begin Object Name="EdGraphPin_2789"
      PinName="InDY"
      PinType=(PinCategory="required")
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_16.EdGraphPin_2824"'
   End Object
   Begin Object Name="EdGraphPin_2790"
      PinName="NormalHeightMap"
      PinType=(PinCategory="required")
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_18.EdGraphPin_2827"'
   End Object
   Begin Object Name="EdGraphPin_2791"
      PinName="InMaxOffset"
      PinType=(PinCategory="required")
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_33.EdGraphPin_2869"'
   End Object
   Begin Object Name="EdGraphPin_2792"
      PinName="InChannelMask"
      PinType=(PinCategory="required")
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_36.EdGraphPin_2873"'
   End Object
   Begin Object Name="EdGraphPin_2793"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_38.EdGraphPin_2880"'
   End Object
   MaterialExpression=MaterialExpressionCustom'MaterialExpressionCustom_2'
   Pins(0)=EdGraphPin'EdGraphPin_2785'
   Pins(1)=EdGraphPin'EdGraphPin_2786'
   Pins(2)=EdGraphPin'EdGraphPin_2787'
   Pins(3)=EdGraphPin'EdGraphPin_2788'
   Pins(4)=EdGraphPin'EdGraphPin_2789'
   Pins(5)=EdGraphPin'EdGraphPin_2790'
   Pins(6)=EdGraphPin'EdGraphPin_2791'
   Pins(7)=EdGraphPin'EdGraphPin_2792'
   Pins(8)=EdGraphPin'EdGraphPin_2793'
   NodePosX=-544
   NodePosY=-80
   NodeGuid=A880871D412E3345B6E4A6B33C9D487C
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_13"
   Begin Object Class=MaterialExpressionCustom Name="MaterialExpressionCustom_3"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2814"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2815"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2816"
   End Object
   Begin Object Name="MaterialExpressionCustom_3"
      Code="if( InUseSilhouette > 0.0f )
{
clip( InFinalCoords );
clip( 1.0f - InFinalCoords );
}

return InFinalCoords;"
      OutputType=CMOT_Float2
      Description="CalcSilhouette"
      Inputs(0)=(InputName="InFinalCoords",Input=(Expression=MaterialExpressionAdd'"MaterialGraphNode_38.MaterialExpressionAdd_1"'))
      Inputs(1)=(InputName="InUseSilhouette",Input=(Expression=MaterialExpressionScalarParameter'"MaterialGraphNode_40.MaterialExpressionScalarParameter_7"'))
      MaterialExpressionEditorX=-16
      MaterialExpressionEditorY=-128
      MaterialExpressionGuid=CCD85C7447C560810A5B7DA08AB2F1D4
      Material=PreviewMaterial'/Engine/Transient.PreviewMaterial_0'
   End Object
   Begin Object Name="EdGraphPin_2814"
      PinName="InFinalCoords"
      PinType=(PinCategory="required")
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_38.EdGraphPin_2881"'
   End Object
   Begin Object Name="EdGraphPin_2815"
      PinName="InUseSilhouette"
      PinType=(PinCategory="required")
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_40.EdGraphPin_2883"'
   End Object
   Begin Object Name="EdGraphPin_2816"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_49.EdGraphPin_2922"'
      LinkedTo(1)=EdGraphPin'"MaterialGraphNode_48.EdGraphPin_2916"'
   End Object
   MaterialExpression=MaterialExpressionCustom'MaterialExpressionCustom_3'
   Pins(0)=EdGraphPin'EdGraphPin_2814'
   Pins(1)=EdGraphPin'EdGraphPin_2815'
   Pins(2)=EdGraphPin'EdGraphPin_2816'
   NodePosX=-16
   NodePosY=-128
   NodeGuid=793B301646C527296A3EF187D5842328
End Object
Begin Object Class=MaterialGraphNode_Comment Name="MaterialGraphNode_Comment_0"
   Begin Object Class=MaterialExpressionComment Name="MaterialExpressionComment_5"
   End Object
   Begin Object Name="MaterialExpressionComment_5"
      SizeX=908
      SizeY=459
      Text="NumSamples"
      MaterialExpressionEditorX=-2145
      MaterialExpressionEditorY=-936
      MaterialExpressionGuid=DE21C0594D41CAEE8CE7688ADC4C66D9
   End Object
   MaterialExpressionComment=MaterialExpressionComment'MaterialExpressionComment_5'
   NodePosX=-2145
   NodePosY=-936
   NodeWidth=908
   NodeHeight=459
   NodeComment="NumSamples"
   NodeGuid=8E746FED41DD4A777557E5A8FCF6272B
End Object
Begin Object Class=MaterialGraphNode_Comment Name="MaterialGraphNode_Comment_1"
   Begin Object Class=MaterialExpressionComment Name="MaterialExpressionComment_6"
   End Object
   Begin Object Name="MaterialExpressionComment_6"
      SizeX=1136
      SizeY=560
      Text="StepSize"
      MaterialExpressionEditorX=-2199
      MaterialExpressionEditorY=-993
      MaterialExpressionGuid=0323475A40A804AC8EE96F93FC84FDDF
   End Object
   MaterialExpressionComment=MaterialExpressionComment'MaterialExpressionComment_6'
   NodePosX=-2199
   NodePosY=-993
   NodeWidth=1136
   NodeHeight=560
   NodeComment="StepSize"
   NodeGuid=7050CF4B46E9C7586D3AEEB657AB978B
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_14"
   Begin Object Class=MaterialExpressionTextureCoordinate Name="MaterialExpressionTextureCoordinate_3"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2820"
   End Object
   Begin Object Name="MaterialExpressionTextureCoordinate_3"
      MaterialExpressionEditorX=-1376
      MaterialExpressionEditorY=-160
      MaterialExpressionGuid=444700FB4BDFC0F29FA8D59CCC53C9B4
      Material=PreviewMaterial'/Engine/Transient.PreviewMaterial_0'
   End Object
   Begin Object Name="EdGraphPin_2820"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_15.EdGraphPin_2821"'
      LinkedTo(1)=EdGraphPin'"MaterialGraphNode_16.EdGraphPin_2823"'
   End Object
   MaterialExpression=MaterialExpressionTextureCoordinate'MaterialExpressionTextureCoordinate_3'
   Pins(0)=EdGraphPin'EdGraphPin_2820'
   NodePosX=-1376
   NodePosY=-160
   NodeGuid=4545704646C785C2D98A7895F4424BC5
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_15"
   Begin Object Class=MaterialExpressionDDX Name="MaterialExpressionDDX_1"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2821"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2822"
   End Object
   Begin Object Name="MaterialExpressionDDX_1"
      Value=(Expression=MaterialExpressionTextureCoordinate'"MaterialGraphNode_14.MaterialExpressionTextureCoordinate_3"')
      MaterialExpressionEditorX=-1184
      MaterialExpressionEditorY=-176
      MaterialExpressionGuid=6E7714F84B29E9B644E2C6A92A3EC006
      Material=PreviewMaterial'/Engine/Transient.PreviewMaterial_0'
   End Object
   Begin Object Name="EdGraphPin_2821"
      PinName="Value"
      PinType=(PinCategory="required")
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_14.EdGraphPin_2820"'
   End Object
   Begin Object Name="EdGraphPin_2822"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_12.EdGraphPin_2788"'
   End Object
   MaterialExpression=MaterialExpressionDDX'MaterialExpressionDDX_1'
   Pins(0)=EdGraphPin'EdGraphPin_2821'
   Pins(1)=EdGraphPin'EdGraphPin_2822'
   NodePosX=-1184
   NodePosY=-176
   NodeGuid=5095B2F2448C174A838245B8C18A2023
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_16"
   Begin Object Class=MaterialExpressionDDY Name="MaterialExpressionDDY_1"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2823"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2824"
   End Object
   Begin Object Name="MaterialExpressionDDY_1"
      Value=(Expression=MaterialExpressionTextureCoordinate'"MaterialGraphNode_14.MaterialExpressionTextureCoordinate_3"')
      MaterialExpressionEditorX=-1184
      MaterialExpressionEditorY=-96
      MaterialExpressionGuid=B8D2FB624EC523F3131C9E9E81856A3D
      Material=PreviewMaterial'/Engine/Transient.PreviewMaterial_0'
   End Object
   Begin Object Name="EdGraphPin_2823"
      PinName="Value"
      PinType=(PinCategory="required")
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_14.EdGraphPin_2820"'
   End Object
   Begin Object Name="EdGraphPin_2824"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_12.EdGraphPin_2789"'
   End Object
   MaterialExpression=MaterialExpressionDDY'MaterialExpressionDDY_1'
   Pins(0)=EdGraphPin'EdGraphPin_2823'
   Pins(1)=EdGraphPin'EdGraphPin_2824'
   NodePosX=-1184
   NodePosY=-96
   NodeGuid=FA29D26D4E5B225CB5910F8F9F0B0DEB
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_17"
   Begin Object Class=MaterialExpressionTextureCoordinate Name="MaterialExpressionTextureCoordinate_4"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2825"
   End Object
   Begin Object Name="MaterialExpressionTextureCoordinate_4"
      MaterialExpressionEditorX=-1232
      MaterialExpressionEditorY=-320
      MaterialExpressionGuid=B608F9BF42C26C739E48F48F85E45374
      Material=PreviewMaterial'/Engine/Transient.PreviewMaterial_0'
   End Object
   Begin Object Name="EdGraphPin_2825"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_12.EdGraphPin_2787"'
   End Object
   MaterialExpression=MaterialExpressionTextureCoordinate'MaterialExpressionTextureCoordinate_4'
   Pins(0)=EdGraphPin'EdGraphPin_2825'
   NodePosX=-1232
   NodePosY=-320
   NodeGuid=C9205B844195563988761B95582B36B8
End Object
Begin Object Class=MaterialGraphNode_Comment Name="MaterialGraphNode_Comment_2"
   Begin Object Class=MaterialExpressionComment Name="MaterialExpressionComment_7"
   End Object
   Begin Object Name="MaterialExpressionComment_7"
      SizeX=393
      SizeY=236
      Text="DX/DY"
      MaterialExpressionEditorX=-1426
      MaterialExpressionEditorY=-226
      MaterialExpressionGuid=ECA8E0444200D452A4A8AFAEB2E76080
   End Object
   MaterialExpressionComment=MaterialExpressionComment'MaterialExpressionComment_7'
   NodePosX=-1426
   NodePosY=-226
   NodeWidth=393
   NodeHeight=236
   NodeComment="DX/DY"
   NodeGuid=860E35A94AA059AAF7F11EBBFE0858AE
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_18"
   Begin Object Class=MaterialExpressionTextureSampleParameter2D Name="MaterialExpressionTextureSampleParameter2D_3"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2826"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2827"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2828"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2829"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2830"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2831"
   End Object
   Begin Object Name="MaterialExpressionTextureSampleParameter2D_3"
      ParameterName="HeightMap"
      ExpressionGUID=85E41DF64EE0194B382862AAACFFBC7B
      Texture=Texture2D'/Game/Textures/T_CobbleStone_Pebble_M.T_CobbleStone_Pebble_M'
      MaterialExpressionEditorX=-1229
      MaterialExpressionEditorY=64
      MaterialExpressionGuid=1F141B0D4C8BA88EB13C179C80DD2894
      Material=PreviewMaterial'/Engine/Transient.PreviewMaterial_0'
   End Object
   Begin Object Name="EdGraphPin_2826"
      PinName="UVs"
      PinType=(PinCategory="optional")
   End Object
   Begin Object Name="EdGraphPin_2827"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      PinType=(PinCategory="mask")
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_12.EdGraphPin_2790"'
   End Object
   Begin Object Name="EdGraphPin_2828"
      PinName="Output2"
      PinFriendlyName=" "
      Direction=EGPD_Output
      PinType=(PinCategory="mask",PinSubCategory="red")
   End Object
   Begin Object Name="EdGraphPin_2829"
      PinName="Output3"
      PinFriendlyName=" "
      Direction=EGPD_Output
      PinType=(PinCategory="mask",PinSubCategory="green")
   End Object
   Begin Object Name="EdGraphPin_2830"
      PinName="Output4"
      PinFriendlyName=" "
      Direction=EGPD_Output
      PinType=(PinCategory="mask",PinSubCategory="blue")
   End Object
   Begin Object Name="EdGraphPin_2831"
      PinName="Output5"
      PinFriendlyName=" "
      Direction=EGPD_Output
      PinType=(PinCategory="mask",PinSubCategory="alpha")
   End Object
   MaterialExpression=MaterialExpressionTextureSampleParameter2D'MaterialExpressionTextureSampleParameter2D_3'
   Pins(0)=EdGraphPin'EdGraphPin_2826'
   Pins(1)=EdGraphPin'EdGraphPin_2827'
   Pins(2)=EdGraphPin'EdGraphPin_2828'
   Pins(3)=EdGraphPin'EdGraphPin_2829'
   Pins(4)=EdGraphPin'EdGraphPin_2830'
   Pins(5)=EdGraphPin'EdGraphPin_2831'
   NodePosX=-1229
   NodePosY=64
   bCanRenameNode=True
   NodeGuid=93562DC5466D8714F629C3AA59F54525
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_19"
   Begin Object Class=MaterialExpressionCameraVectorWS Name="MaterialExpressionCameraVectorWS_3"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2832"
   End Object
   Begin Object Name="MaterialExpressionCameraVectorWS_3"
      MaterialExpressionEditorX=-2176
      MaterialExpressionEditorY=512
      MaterialExpressionGuid=7C8042024244C915EC475EA1BE13608A
      Material=PreviewMaterial'/Engine/Transient.PreviewMaterial_0'
   End Object
   Begin Object Name="EdGraphPin_2832"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_20.EdGraphPin_2833"'
   End Object
   MaterialExpression=MaterialExpressionCameraVectorWS'MaterialExpressionCameraVectorWS_3'
   Pins(0)=EdGraphPin'EdGraphPin_2832'
   NodePosX=-2176
   NodePosY=512
   NodeGuid=2DB65A1542017295323BFD8F1F19CB43
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_20"
   Begin Object Class=MaterialExpressionTransform Name="MaterialExpressionTransform_7"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2833"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2834"
   End Object
   Begin Object Name="MaterialExpressionTransform_7"
      Input=(Expression=MaterialExpressionCameraVectorWS'"MaterialGraphNode_19.MaterialExpressionCameraVectorWS_3"')
      TransformSourceType=TRANSFORMSOURCE_World
      TransformType=TRANSFORM_Tangent
      MaterialExpressionEditorX=-2032
      MaterialExpressionEditorY=512
      MaterialExpressionGuid=30C9420E427E9DFC419209AE2F8DD0DF
      Material=PreviewMaterial'/Engine/Transient.PreviewMaterial_0'
   End Object
   Begin Object Name="EdGraphPin_2833"
      PinName="Input"
      PinFriendlyName=" "
      PinType=(PinCategory="required")
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_19.EdGraphPin_2832"'
   End Object
   Begin Object Name="EdGraphPin_2834"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_22.EdGraphPin_2835"'
      LinkedTo(1)=EdGraphPin'"MaterialGraphNode_21.EdGraphPin_2837"'
   End Object
   MaterialExpression=MaterialExpressionTransform'MaterialExpressionTransform_7'
   Pins(0)=EdGraphPin'EdGraphPin_2833'
   Pins(1)=EdGraphPin'EdGraphPin_2834'
   NodePosX=-2032
   NodePosY=512
   NodeGuid=12F8636C453EEE1639413C9ABF29F062
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_22"
   Begin Object Class=MaterialExpressionComponentMask Name="MaterialExpressionComponentMask_5"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2835"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2836"
   End Object
   Begin Object Name="MaterialExpressionComponentMask_5"
      Input=(Expression=MaterialExpressionTransform'"MaterialGraphNode_20.MaterialExpressionTransform_7"')
      R=True
      G=True
      MaterialExpressionEditorX=-1856
      MaterialExpressionEditorY=448
      MaterialExpressionGuid=E2DC47BF45CB5FDE269B4CA71C09EEF2
      Material=PreviewMaterial'/Engine/Transient.PreviewMaterial_0'
   End Object
   Begin Object Name="EdGraphPin_2835"
      PinName="Input"
      PinFriendlyName=" "
      PinType=(PinCategory="required")
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_20.EdGraphPin_2834"'
   End Object
   Begin Object Name="EdGraphPin_2836"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_23.EdGraphPin_2842"'
      LinkedTo(1)=EdGraphPin'"MaterialGraphNode_32.EdGraphPin_2865"'
   End Object
   MaterialExpression=MaterialExpressionComponentMask'MaterialExpressionComponentMask_5'
   Pins(0)=EdGraphPin'EdGraphPin_2835'
   Pins(1)=EdGraphPin'EdGraphPin_2836'
   NodePosX=-1856
   NodePosY=448
   NodeGuid=DCD5785B4E91971695ED798598AD5393
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_21"
   Begin Object Class=MaterialExpressionComponentMask Name="MaterialExpressionComponentMask_6"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2837"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2838"
   End Object
   Begin Object Name="MaterialExpressionComponentMask_6"
      Input=(Expression=MaterialExpressionTransform'"MaterialGraphNode_20.MaterialExpressionTransform_7"')
      B=True
      MaterialExpressionEditorX=-1856
      MaterialExpressionEditorY=608
      MaterialExpressionGuid=E2DC47BF45CB5FDE269B4CA71C09EEF2
      Material=PreviewMaterial'/Engine/Transient.PreviewMaterial_0'
   End Object
   Begin Object Name="EdGraphPin_2837"
      PinName="Input"
      PinFriendlyName=" "
      PinType=(PinCategory="required")
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_20.EdGraphPin_2834"'
   End Object
   Begin Object Name="EdGraphPin_2838"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_28.EdGraphPin_2858"'
   End Object
   MaterialExpression=MaterialExpressionComponentMask'MaterialExpressionComponentMask_6'
   Pins(0)=EdGraphPin'EdGraphPin_2837'
   Pins(1)=EdGraphPin'EdGraphPin_2838'
   NodePosX=-1856
   NodePosY=608
   NodeGuid=52E845E24F4912745AB3BABE868B24FF
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_23"
   Begin Object Class=MaterialExpressionDistance Name="MaterialExpressionDistance_1"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2841"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2842"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2843"
   End Object
   Begin Object Name="MaterialExpressionDistance_1"
      A=(Expression=MaterialExpressionConstant'"MaterialGraphNode_24.MaterialExpressionConstant_9"')
      B=(Expression=MaterialExpressionComponentMask'"MaterialGraphNode_22.MaterialExpressionComponentMask_5"')
      MaterialExpressionEditorX=-1680
      MaterialExpressionEditorY=432
      MaterialExpressionGuid=243379D644D68D2095D57D96E14DB2DF
      Material=PreviewMaterial'/Engine/Transient.PreviewMaterial_0'
   End Object
   Begin Object Name="EdGraphPin_2841"
      PinName="A"
      PinType=(PinCategory="required")
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_24.EdGraphPin_2844"'
   End Object
   Begin Object Name="EdGraphPin_2842"
      PinName="B"
      PinType=(PinCategory="required")
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_22.EdGraphPin_2836"'
   End Object
   Begin Object Name="EdGraphPin_2843"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_47.EdGraphPin_2909"'
   End Object
   MaterialExpression=MaterialExpressionDistance'MaterialExpressionDistance_1'
   Pins(0)=EdGraphPin'EdGraphPin_2841'
   Pins(1)=EdGraphPin'EdGraphPin_2842'
   Pins(2)=EdGraphPin'EdGraphPin_2843'
   NodePosX=-1680
   NodePosY=432
   NodeGuid=827491184C537134BA5EA48B1D7CD9E2
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_24"
   Begin Object Class=MaterialExpressionConstant Name="MaterialExpressionConstant_9"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2844"
   End Object
   Begin Object Name="MaterialExpressionConstant_9"
      MaterialExpressionEditorX=-1792
      MaterialExpressionEditorY=368
      MaterialExpressionGuid=102C686F46FEA060A9E0609481DEA0F3
      Material=PreviewMaterial'/Engine/Transient.PreviewMaterial_0'
   End Object
   Begin Object Name="EdGraphPin_2844"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_23.EdGraphPin_2841"'
   End Object
   MaterialExpression=MaterialExpressionConstant'MaterialExpressionConstant_9'
   Pins(0)=EdGraphPin'EdGraphPin_2844'
   NodePosX=-1792
   NodePosY=368
   NodeGuid=A17E868D4CCF1F60DE6743BCE13DE306
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_28"
   Begin Object Class=EdGraphPin Name="EdGraphPin_2859"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2858"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2857"
   End Object
   Begin Object Class=MaterialExpressionDivide Name="MaterialExpressionDivide_4"
   End Object
   Begin Object Name="EdGraphPin_2859"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_31.EdGraphPin_2862"'
   End Object
   Begin Object Name="EdGraphPin_2858"
      PinName="B"
      PinType=(PinCategory="optional")
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_21.EdGraphPin_2838"'
   End Object
   Begin Object Name="EdGraphPin_2857"
      PinName="A"
      PinType=(PinCategory="optional")
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_47.EdGraphPin_2911"'
   End Object
   Begin Object Name="MaterialExpressionDivide_4"
      A=(Expression=MaterialExpressionMultiply'"MaterialGraphNode_47.MaterialExpressionMultiply_6"')
      B=(Expression=MaterialExpressionComponentMask'"MaterialGraphNode_21.MaterialExpressionComponentMask_6"')
      MaterialExpressionEditorX=-1418
      MaterialExpressionEditorY=470
      MaterialExpressionGuid=594F003C4B24DCF111BE8CB7469C5895
      Material=PreviewMaterial'/Engine/Transient.PreviewMaterial_0'
   End Object
   MaterialExpression=MaterialExpressionDivide'MaterialExpressionDivide_4'
   Pins(0)=EdGraphPin'EdGraphPin_2857'
   Pins(1)=EdGraphPin'EdGraphPin_2858'
   Pins(2)=EdGraphPin'EdGraphPin_2859'
   NodePosX=-1418
   NodePosY=470
   NodeGuid=898FFEE24638020EC5E0699EFC9F615E
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_30"
   Begin Object Class=EdGraphPin Name="EdGraphPin_2861"
   End Object
   Begin Object Class=MaterialExpressionScalarParameter Name="MaterialExpressionScalarParameter_6"
   End Object
   Begin Object Name="EdGraphPin_2861"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_31.EdGraphPin_2863"'
   End Object
   Begin Object Name="MaterialExpressionScalarParameter_6"
      DefaultValue=0.100000
      ParameterName="HeightMapScale"
      ExpressionGUID=CF701B79473ADA0461475EB4BF9D23F1
      MaterialExpressionEditorX=-1536
      MaterialExpressionEditorY=592
      MaterialExpressionGuid=6EB910B44B3F0B1992634BBBBCE5793B
      Material=PreviewMaterial'/Engine/Transient.PreviewMaterial_0'
   End Object
   MaterialExpression=MaterialExpressionScalarParameter'MaterialExpressionScalarParameter_6'
   Pins(0)=EdGraphPin'EdGraphPin_2861'
   NodePosX=-1536
   NodePosY=592
   bCanRenameNode=True
   NodeGuid=05485B5A4D97F4AA140A6DB80AE974C9
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_31"
   Begin Object Class=EdGraphPin Name="EdGraphPin_2864"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2863"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2862"
   End Object
   Begin Object Class=MaterialExpressionMultiply Name="MaterialExpressionMultiply_4"
   End Object
   Begin Object Name="EdGraphPin_2864"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_33.EdGraphPin_2867"'
   End Object
   Begin Object Name="EdGraphPin_2863"
      PinName="B"
      PinType=(PinCategory="optional")
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_30.EdGraphPin_2861"'
   End Object
   Begin Object Name="EdGraphPin_2862"
      PinName="A"
      PinType=(PinCategory="optional")
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_28.EdGraphPin_2859"'
   End Object
   Begin Object Name="MaterialExpressionMultiply_4"
      A=(Expression=MaterialExpressionDivide'"MaterialGraphNode_28.MaterialExpressionDivide_4"')
      B=(Expression=MaterialExpressionScalarParameter'"MaterialGraphNode_30.MaterialExpressionScalarParameter_6"')
      MaterialExpressionEditorX=-1309
      MaterialExpressionEditorY=525
      MaterialExpressionGuid=6A46167E49BA3A48EA2D12B14F7D5467
      Material=PreviewMaterial'/Engine/Transient.PreviewMaterial_0'
   End Object
   MaterialExpression=MaterialExpressionMultiply'MaterialExpressionMultiply_4'
   Pins(0)=EdGraphPin'EdGraphPin_2862'
   Pins(1)=EdGraphPin'EdGraphPin_2863'
   Pins(2)=EdGraphPin'EdGraphPin_2864'
   NodePosX=-1309
   NodePosY=525
   NodeGuid=5E5BA18A4E3C48D03011618E523A3A21
End Object
Begin Object Class=MaterialGraphNode_Comment Name="MaterialGraphNode_Comment_3"
   Begin Object Class=MaterialExpressionComment Name="MaterialExpressionComment_8"
   End Object
   Begin Object Name="MaterialExpressionComment_8"
      SizeX=1057
      SizeY=396
      Text="ParallaxLimit"
      MaterialExpressionEditorX=-2226
      MaterialExpressionEditorY=318
      MaterialExpressionGuid=DA5C23594DD15764DECBDBA045355429
   End Object
   MaterialExpressionComment=MaterialExpressionComment'MaterialExpressionComment_8'
   NodePosX=-2226
   NodePosY=318
   NodeWidth=1057
   NodeHeight=396
   NodeComment="ParallaxLimit"
   NodeGuid=8025EF4D4D155F618B5270B527FD5C7B
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_32"
   Begin Object Class=EdGraphPin Name="EdGraphPin_2866"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2865"
   End Object
   Begin Object Class=MaterialExpressionNormalize Name="MaterialExpressionNormalize_1"
   End Object
   Begin Object Name="EdGraphPin_2866"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_33.EdGraphPin_2868"'
   End Object
   Begin Object Name="EdGraphPin_2865"
      PinName="VectorInput"
      PinType=(PinCategory="required")
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_22.EdGraphPin_2836"'
   End Object
   Begin Object Name="MaterialExpressionNormalize_1"
      VectorInput=(Expression=MaterialExpressionComponentMask'"MaterialGraphNode_22.MaterialExpressionComponentMask_5"')
      MaterialExpressionEditorX=-1600
      MaterialExpressionEditorY=800
      MaterialExpressionGuid=64C06F864978ABFFC083D8BD90BAE742
      Material=PreviewMaterial'/Engine/Transient.PreviewMaterial_0'
      Desc="OffsetDir"
   End Object
   MaterialExpression=MaterialExpressionNormalize'MaterialExpressionNormalize_1'
   Pins(0)=EdGraphPin'EdGraphPin_2865'
   Pins(1)=EdGraphPin'EdGraphPin_2866'
   NodePosX=-1600
   NodePosY=800
   NodeComment="OffsetDir"
   NodeGuid=9AA17D404F9F541F3567F3ABB40C69D4
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_33"
   Begin Object Class=EdGraphPin Name="EdGraphPin_2869"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2868"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2867"
   End Object
   Begin Object Class=MaterialExpressionMultiply Name="MaterialExpressionMultiply_5"
   End Object
   Begin Object Name="EdGraphPin_2869"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_12.EdGraphPin_2791"'
   End Object
   Begin Object Name="EdGraphPin_2868"
      PinName="B"
      PinType=(PinCategory="optional")
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_32.EdGraphPin_2866"'
   End Object
   Begin Object Name="EdGraphPin_2867"
      PinName="A"
      PinType=(PinCategory="optional")
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_31.EdGraphPin_2864"'
   End Object
   Begin Object Name="MaterialExpressionMultiply_5"
      A=(Expression=MaterialExpressionMultiply'"MaterialGraphNode_31.MaterialExpressionMultiply_4"')
      B=(Expression=MaterialExpressionNormalize'"MaterialGraphNode_32.MaterialExpressionNormalize_1"')
      MaterialExpressionEditorX=-1136
      MaterialExpressionEditorY=672
      MaterialExpressionGuid=70E8916B493BB366A0AEFFA5D52D4901
      Material=PreviewMaterial'/Engine/Transient.PreviewMaterial_0'
   End Object
   MaterialExpression=MaterialExpressionMultiply'MaterialExpressionMultiply_5'
   Pins(0)=EdGraphPin'EdGraphPin_2867'
   Pins(1)=EdGraphPin'EdGraphPin_2868'
   Pins(2)=EdGraphPin'EdGraphPin_2869'
   NodePosX=-1136
   NodePosY=672
   NodeGuid=B234C83744F811614D175F91FBECD6B8
End Object
Begin Object Class=MaterialGraphNode_Comment Name="MaterialGraphNode_Comment_4"
   Begin Object Class=MaterialExpressionComment Name="MaterialExpressionComment_9"
   End Object
   Begin Object Name="MaterialExpressionComment_9"
      SizeX=1280
      SizeY=638
      Text="MaxOffset"
      MaterialExpressionEditorX=-2288
      MaterialExpressionEditorY=272
      MaterialExpressionGuid=BDE7EBBC49F5D96A4AAB96BC35C76FCA
   End Object
   MaterialExpressionComment=MaterialExpressionComment'MaterialExpressionComment_9'
   NodePosX=-2288
   NodePosY=272
   NodeWidth=1280
   NodeHeight=638
   NodeComment="MaxOffset"
   NodeGuid=10E138F54A65A939546632BAD90B6012
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_36"
   Begin Object Class=EdGraphPin Name="EdGraphPin_2877"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2876"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2875"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2874"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2873"
   End Object
   Begin Object Class=MaterialExpressionVectorParameter Name="MaterialExpressionVectorParameter_1"
   End Object
   Begin Object Name="EdGraphPin_2877"
      PinName="Output5"
      PinFriendlyName=" "
      Direction=EGPD_Output
      PinType=(PinCategory="mask",PinSubCategory="alpha")
   End Object
   Begin Object Name="EdGraphPin_2876"
      PinName="Output4"
      PinFriendlyName=" "
      Direction=EGPD_Output
      PinType=(PinCategory="mask",PinSubCategory="blue")
   End Object
   Begin Object Name="EdGraphPin_2875"
      PinName="Output3"
      PinFriendlyName=" "
      Direction=EGPD_Output
      PinType=(PinCategory="mask",PinSubCategory="green")
   End Object
   Begin Object Name="EdGraphPin_2874"
      PinName="Output2"
      PinFriendlyName=" "
      Direction=EGPD_Output
      PinType=(PinCategory="mask",PinSubCategory="red")
   End Object
   Begin Object Name="EdGraphPin_2873"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      PinType=(PinCategory="mask")
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_12.EdGraphPin_2792"'
   End Object
   Begin Object Name="MaterialExpressionVectorParameter_1"
      DefaultValue=(R=1.000000,G=0.000000,B=0.000000,A=0.000000)
      ParameterName="ChannelMask"
      ExpressionGUID=CB2A994145B2C3BBEB0E62A11F8992A9
      MaterialExpressionEditorX=-1135
      MaterialExpressionEditorY=1012
      MaterialExpressionGuid=DC249FE945ECD6A0C2725DACC35EB05A
      Material=PreviewMaterial'/Engine/Transient.PreviewMaterial_0'
   End Object
   MaterialExpression=MaterialExpressionVectorParameter'MaterialExpressionVectorParameter_1'
   Pins(0)=EdGraphPin'EdGraphPin_2873'
   Pins(1)=EdGraphPin'EdGraphPin_2874'
   Pins(2)=EdGraphPin'EdGraphPin_2875'
   Pins(3)=EdGraphPin'EdGraphPin_2876'
   Pins(4)=EdGraphPin'EdGraphPin_2877'
   NodePosX=-1135
   NodePosY=1012
   bCanRenameNode=True
   NodeGuid=43FA8FD946AB0C6FEA05D99ECD32ACBE
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_37"
   Begin Object Class=EdGraphPin Name="EdGraphPin_2878"
   End Object
   Begin Object Class=MaterialExpressionTextureCoordinate Name="MaterialExpressionTextureCoordinate_5"
   End Object
   Begin Object Name="EdGraphPin_2878"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_38.EdGraphPin_2879"'
   End Object
   Begin Object Name="MaterialExpressionTextureCoordinate_5"
      MaterialExpressionEditorX=-432
      MaterialExpressionEditorY=-224
      MaterialExpressionGuid=3C852335495CDE390CDA968DCE175193
      Material=PreviewMaterial'/Engine/Transient.PreviewMaterial_0'
   End Object
   MaterialExpression=MaterialExpressionTextureCoordinate'MaterialExpressionTextureCoordinate_5'
   Pins(0)=EdGraphPin'EdGraphPin_2878'
   NodePosX=-432
   NodePosY=-224
   NodeGuid=D42DAC774E7D660ED1B8429047EE5D35
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_38"
   Begin Object Class=EdGraphPin Name="EdGraphPin_2881"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2880"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2879"
   End Object
   Begin Object Class=MaterialExpressionAdd Name="MaterialExpressionAdd_1"
   End Object
   Begin Object Name="EdGraphPin_2881"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_13.EdGraphPin_2814"'
   End Object
   Begin Object Name="EdGraphPin_2880"
      PinName="B"
      PinType=(PinCategory="optional")
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_12.EdGraphPin_2793"'
   End Object
   Begin Object Name="EdGraphPin_2879"
      PinName="A"
      PinType=(PinCategory="optional")
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_37.EdGraphPin_2878"'
   End Object
   Begin Object Name="MaterialExpressionAdd_1"
      A=(Expression=MaterialExpressionTextureCoordinate'"MaterialGraphNode_37.MaterialExpressionTextureCoordinate_5"')
      B=(Expression=MaterialExpressionCustom'"MaterialGraphNode_12.MaterialExpressionCustom_2"')
      MaterialExpressionEditorX=-240
      MaterialExpressionEditorY=-112
      MaterialExpressionGuid=D1D65B15495BF30416FA209CE598F03F
      Material=PreviewMaterial'/Engine/Transient.PreviewMaterial_0'
   End Object
   MaterialExpression=MaterialExpressionAdd'MaterialExpressionAdd_1'
   Pins(0)=EdGraphPin'EdGraphPin_2879'
   Pins(1)=EdGraphPin'EdGraphPin_2880'
   Pins(2)=EdGraphPin'EdGraphPin_2881'
   NodePosX=-240
   NodePosY=-112
   NodeGuid=6AFB98C848EF491EE15902A57173FC9F
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_40"
   Begin Object Class=EdGraphPin Name="EdGraphPin_2883"
   End Object
   Begin Object Class=MaterialExpressionScalarParameter Name="MaterialExpressionScalarParameter_7"
   End Object
   Begin Object Name="EdGraphPin_2883"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_13.EdGraphPin_2815"'
   End Object
   Begin Object Name="MaterialExpressionScalarParameter_7"
      ParameterName="UseSilhouette"
      ExpressionGUID=37A640AA43212CDA62A686900C08C935
      MaterialExpressionEditorX=-176
      MaterialExpressionEditorY=48
      MaterialExpressionGuid=9C2D06884FB385A3FD1F8782150AB817
      Material=PreviewMaterial'/Engine/Transient.PreviewMaterial_0'
   End Object
   MaterialExpression=MaterialExpressionScalarParameter'MaterialExpressionScalarParameter_7'
   Pins(0)=EdGraphPin'EdGraphPin_2883'
   NodePosX=-176
   NodePosY=48
   bCanRenameNode=True
   NodeGuid=6BF25AD644CB422D2D6547B87EA6698E
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_44"
   Begin Object Class=EdGraphPin Name="EdGraphPin_2902"
   End Object
   Begin Object Class=MaterialExpressionConstant Name="MaterialExpressionConstant_10"
   End Object
   Begin Object Name="EdGraphPin_2902"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_Root_0.EdGraphPin_2458"'
   End Object
   Begin Object Name="MaterialExpressionConstant_10"
      MaterialExpressionEditorX=371
      MaterialExpressionEditorY=-177
      MaterialExpressionGuid=D68D862D48FA46CAD252B2A5FF26EAF4
      Material=PreviewMaterial'/Engine/Transient.PreviewMaterial_0'
   End Object
   MaterialExpression=MaterialExpressionConstant'MaterialExpressionConstant_10'
   Pins(0)=EdGraphPin'EdGraphPin_2902'
   NodePosX=371
   NodePosY=-177
   NodeGuid=939C0DBF48160A7BC4B51FBE79C0D962
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_46"
   Begin Object Class=EdGraphPin Name="EdGraphPin_2908"
   End Object
   Begin Object Class=MaterialExpressionConstant Name="MaterialExpressionConstant_11"
   End Object
   Begin Object Name="EdGraphPin_2908"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_Root_0.EdGraphPin_2460"'
   End Object
   Begin Object Name="MaterialExpressionConstant_11"
      R=1.000000
      MaterialExpressionEditorX=360
      MaterialExpressionEditorY=-71
      MaterialExpressionGuid=60875635425D311B1A3BEEA61C19D927
      Material=PreviewMaterial'/Engine/Transient.PreviewMaterial_0'
   End Object
   MaterialExpression=MaterialExpressionConstant'MaterialExpressionConstant_11'
   Pins(0)=EdGraphPin'EdGraphPin_2908'
   NodePosX=360
   NodePosY=-71
   NodeGuid=F7A594B74E2FC44A6F776F8CE91A87FD
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_47"
   Begin Object Class=EdGraphPin Name="EdGraphPin_2911"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2910"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2909"
   End Object
   Begin Object Class=MaterialExpressionMultiply Name="MaterialExpressionMultiply_6"
   End Object
   Begin Object Name="EdGraphPin_2911"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_28.EdGraphPin_2857"'
   End Object
   Begin Object Name="EdGraphPin_2910"
      PinName="B"
      PinType=(PinCategory="optional")
   End Object
   Begin Object Name="EdGraphPin_2909"
      PinName="A"
      PinType=(PinCategory="optional")
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_23.EdGraphPin_2843"'
   End Object
   Begin Object Name="MaterialExpressionMultiply_6"
      A=(Expression=MaterialExpressionDistance'"MaterialGraphNode_23.MaterialExpressionDistance_1"')
      ConstB=-1.000000
      MaterialExpressionEditorX=-1568
      MaterialExpressionEditorY=432
      MaterialExpressionGuid=DD88064E4A0DA73550F36498B9A954F0
      Material=PreviewMaterial'/Engine/Transient.PreviewMaterial_0'
   End Object
   MaterialExpression=MaterialExpressionMultiply'MaterialExpressionMultiply_6'
   Pins(0)=EdGraphPin'EdGraphPin_2909'
   Pins(1)=EdGraphPin'EdGraphPin_2910'
   Pins(2)=EdGraphPin'EdGraphPin_2911'
   NodePosX=-1568
   NodePosY=432
   NodeGuid=D3F82CE545912634B750D389BEB003FF
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_48"
   Begin Object Class=EdGraphPin Name="EdGraphPin_2921"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2920"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2919"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2918"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2917"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2916"
   End Object
   Begin Object Class=MaterialExpressionTextureSampleParameter2D Name="MaterialExpressionTextureSampleParameter2D_4"
   End Object
   Begin Object Name="EdGraphPin_2921"
      PinName="Output5"
      PinFriendlyName=" "
      Direction=EGPD_Output
      PinType=(PinCategory="mask",PinSubCategory="alpha")
   End Object
   Begin Object Name="EdGraphPin_2920"
      PinName="Output4"
      PinFriendlyName=" "
      Direction=EGPD_Output
      PinType=(PinCategory="mask",PinSubCategory="blue")
   End Object
   Begin Object Name="EdGraphPin_2919"
      PinName="Output3"
      PinFriendlyName=" "
      Direction=EGPD_Output
      PinType=(PinCategory="mask",PinSubCategory="green")
   End Object
   Begin Object Name="EdGraphPin_2918"
      PinName="Output2"
      PinFriendlyName=" "
      Direction=EGPD_Output
      PinType=(PinCategory="mask",PinSubCategory="red")
   End Object
   Begin Object Name="EdGraphPin_2917"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      PinType=(PinCategory="mask")
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_Root_0.EdGraphPin_2464"'
   End Object
   Begin Object Name="EdGraphPin_2916"
      PinName="UVs"
      PinType=(PinCategory="optional")
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_13.EdGraphPin_2816"'
   End Object
   Begin Object Name="MaterialExpressionTextureSampleParameter2D_4"
      ParameterName="NormalMap"
      ExpressionGUID=BDD247FF48ABA16B5B4EB3BB8B0F6BC0
      Coordinates=(Expression=MaterialExpressionCustom'"MaterialGraphNode_13.MaterialExpressionCustom_3"')
      Texture=Texture2D'/Game/Textures/T_CobbleStone_Pebble_N.T_CobbleStone_Pebble_N'
      SamplerType=SAMPLERTYPE_Normal
      MaterialExpressionEditorX=304
      MaterialExpressionEditorY=32
      MaterialExpressionGuid=83D702E844EBA1C9B350878C63CA87EF
      Material=PreviewMaterial'/Engine/Transient.PreviewMaterial_0'
   End Object
   MaterialExpression=MaterialExpressionTextureSampleParameter2D'MaterialExpressionTextureSampleParameter2D_4'
   Pins(0)=EdGraphPin'EdGraphPin_2916'
   Pins(1)=EdGraphPin'EdGraphPin_2917'
   Pins(2)=EdGraphPin'EdGraphPin_2918'
   Pins(3)=EdGraphPin'EdGraphPin_2919'
   Pins(4)=EdGraphPin'EdGraphPin_2920'
   Pins(5)=EdGraphPin'EdGraphPin_2921'
   NodePosX=304
   NodePosY=32
   bCanRenameNode=True
   NodeGuid=71496BEF4A21D1F33EB42C83BF591561
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_49"
   Begin Object Class=EdGraphPin Name="EdGraphPin_2927"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2926"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2925"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2924"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2923"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2922"
   End Object
   Begin Object Class=MaterialExpressionTextureSampleParameter2D Name="MaterialExpressionTextureSampleParameter2D_5"
   End Object
   Begin Object Name="EdGraphPin_2927"
      PinName="Output5"
      PinFriendlyName=" "
      Direction=EGPD_Output
      PinType=(PinCategory="mask",PinSubCategory="alpha")
   End Object
   Begin Object Name="EdGraphPin_2926"
      PinName="Output4"
      PinFriendlyName=" "
      Direction=EGPD_Output
      PinType=(PinCategory="mask",PinSubCategory="blue")
   End Object
   Begin Object Name="EdGraphPin_2925"
      PinName="Output3"
      PinFriendlyName=" "
      Direction=EGPD_Output
      PinType=(PinCategory="mask",PinSubCategory="green")
   End Object
   Begin Object Name="EdGraphPin_2924"
      PinName="Output2"
      PinFriendlyName=" "
      Direction=EGPD_Output
      PinType=(PinCategory="mask",PinSubCategory="red")
   End Object
   Begin Object Name="EdGraphPin_2923"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      PinType=(PinCategory="mask")
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_Root_0.EdGraphPin_2457"'
   End Object
   Begin Object Name="EdGraphPin_2922"
      PinName="UVs"
      PinType=(PinCategory="optional")
      LinkedTo(0)=EdGraphPin'"MaterialGraphNode_13.EdGraphPin_2816"'
   End Object
   Begin Object Name="MaterialExpressionTextureSampleParameter2D_5"
      ParameterName="DiffuseMap"
      ExpressionGUID=F317586249EC6E2CD5795FA9870511AF
      Coordinates=(Expression=MaterialExpressionCustom'"MaterialGraphNode_13.MaterialExpressionCustom_3"')
      Texture=Texture2D'/Game/Textures/T_CobbleStone_Pebble_D.T_CobbleStone_Pebble_D'
      MaterialExpressionEditorX=320
      MaterialExpressionEditorY=-400
      MaterialExpressionGuid=549AB4134C2F785B8FF277B1FA3D5DBF
      Material=PreviewMaterial'/Engine/Transient.PreviewMaterial_0'
   End Object
   MaterialExpression=MaterialExpressionTextureSampleParameter2D'MaterialExpressionTextureSampleParameter2D_5'
   Pins(0)=EdGraphPin'EdGraphPin_2922'
   Pins(1)=EdGraphPin'EdGraphPin_2923'
   Pins(2)=EdGraphPin'EdGraphPin_2924'
   Pins(3)=EdGraphPin'EdGraphPin_2925'
   Pins(4)=EdGraphPin'EdGraphPin_2926'
   Pins(5)=EdGraphPin'EdGraphPin_2927'
   NodePosX=320
   NodePosY=-400
   bCanRenameNode=True
   NodeGuid=54883DAC4445E696979229A113FC34A4
End Object


1 Like

Good idea jonimake. Completely forgot about that

Possibly a stupid question, but this technique wouldn’t work on a decal, would it?

Apparently it does not work with decals, not sure why. But am currently trying to figure that out so I can create a decal version. Will post screenshots and copy/paste data once I figure it out. If anyone else whats to give it a crack, go ahead.

This is possibly due to the way how decal projection work in UE4. Any transform from/to tangent space seems to return 0 for decals. If you calculate POM with the camera vector in world space it works, but only with non-rotated decals (somewhat similar to Hackmet’s issue above).
Somebody would need to modify DeferredDecals.usf to make it work I guess.

As a hacky workaround you could use POM with the world space camera vector and transform it accordingly to the decal rotation per material instance.
fe28ad80e12a51109f9951a2d09c476bca5f74a2.jpeg