Announcement

Collapse
No announcement yet.

Distance Field Edge Blending

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

    [TUTORIAL] Distance Field Edge Blending

    Hi!

    I've created a material function that blends the edge of the material. This is great for smoothing out the transition between rocks and the ground.
    It only uses dithering so it has great performance.


    Click image for larger version

Name:	demo.jpg
Views:	1
Size:	321.8 KB
ID:	1216316





    Screenshots before/after (Remember to view in fullscreen)



    How to use
    1. Create a new Material Function.
    2. Copy the code below and past it in the editor. Connect the If-output to the Output Result.
    3. Open the material of the mesh you want to blend.
    4. Add a MaterialFunctionCall and select the function you just created.
    5. Connect the output to PixelDepthOffset of that material.
    6. Make sure your mesh has Affect Distance Field Lighting turned off.

    PS: Remember to set Generate Distance Fields in project settings to true.


    Code:
    Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_9348"
       Begin Object Class=MaterialExpressionDistanceToNearestSurface Name="MaterialExpressionDistanceToNearestSurface_22"
       End Object
       Begin Object Name="MaterialExpressionDistanceToNearestSurface_22"
          Position=(Expression=MaterialExpressionWorldPosition'MaterialGraphNode_9349.MaterialExpressionWorldPosition_28')
          MaterialExpressionEditorX=-160
          MaterialExpressionGuid=1B83AE90480637C0BEEC899987A15952
          Material=Material'/Engine/Transient.Material_281'
       End Object
       MaterialExpression=MaterialExpressionDistanceToNearestSurface'MaterialExpressionDistanceToNearestSurface_22'
       NodePosX=-160
       NodeGuid=D8A03B4743D5BA7327909DAC6B95012B
       CustomProperties Pin (PinId=A4A9DBA34DD8C933E3551BACAABC617F,PinName="Position",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.bIsMap=False,PinType.bIsSet=False,PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_9349 F346F8E84B151FCDC5A4E38349A658A7,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,)
       CustomProperties Pin (PinId=F08B9892417AFD30BFE9E29634300405,PinName="Output",PinFriendlyName=" ",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.bIsMap=False,PinType.bIsSet=False,PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_9350 3DCDFE284AD64B9FDDA093B20FA060DA,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,)
    End Object
    Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_9349"
       Begin Object Class=MaterialExpressionWorldPosition Name="MaterialExpressionWorldPosition_28"
       End Object
       Begin Object Name="MaterialExpressionWorldPosition_28"
          MaterialExpressionEditorX=-368
          MaterialExpressionGuid=19EA9C574EA60B9112CDCBB01BBAD657
          Material=Material'/Engine/Transient.Material_281'
       End Object
       MaterialExpression=MaterialExpressionWorldPosition'MaterialExpressionWorldPosition_28'
       NodePosX=-368
       NodeGuid=7E4A660E44EF5F5694D932AFED823F19
       CustomProperties Pin (PinId=F346F8E84B151FCDC5A4E38349A658A7,PinName="Output",PinFriendlyName=" ",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.bIsMap=False,PinType.bIsSet=False,PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_9348 A4A9DBA34DD8C933E3551BACAABC617F,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,)
    End Object
    Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_9350"
       Begin Object Class=MaterialExpressionDivide Name="MaterialExpressionDivide_33"
       End Object
       Begin Object Name="MaterialExpressionDivide_33"
          A=(Expression=MaterialExpressionDistanceToNearestSurface'MaterialGraphNode_9348.MaterialExpressionDistanceToNearestSurface_22')
          B=(Expression=MaterialExpressionMultiply'MaterialGraphNode_9355.MaterialExpressionMultiply_137')
          ConstB=10.000000
          MaterialExpressionEditorX=80
          MaterialExpressionGuid=D3CE095845E44795DB709B9281CDBC32
          Material=Material'/Engine/Transient.Material_281'
       End Object
       MaterialExpression=MaterialExpressionDivide'MaterialExpressionDivide_33'
       NodePosX=80
       NodeGuid=BDC184F843E08CB8809445A173B90ACB
       CustomProperties Pin (PinId=3DCDFE284AD64B9FDDA093B20FA060DA,PinName="A",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.bIsMap=False,PinType.bIsSet=False,PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_9348 F08B9892417AFD30BFE9E29634300405,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,)
       CustomProperties Pin (PinId=FD6646D946C9AE488B09119CA7168416,PinName="B",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.bIsMap=False,PinType.bIsSet=False,PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_9355 709FC78A40618CD0F927058038AA1F1B,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,)
       CustomProperties Pin (PinId=9256C34744AB0075F38088BE6D96BF42,PinName="Output",PinFriendlyName=" ",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.bIsMap=False,PinType.bIsSet=False,PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_9363 293CCB8C47C41CBED6E01BBF2B96A311,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,)
    End Object
    Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_9352"
       Begin Object Class=MaterialExpressionMultiply Name="MaterialExpressionMultiply_136"
       End Object
       Begin Object Name="MaterialExpressionMultiply_136"
          B=(Expression=MaterialExpressionTextureCoordinate'MaterialGraphNode_9354.MaterialExpressionTextureCoordinate_69')
          ConstA=5.000000
          MaterialExpressionEditorX=-400
          MaterialExpressionEditorY=128
          MaterialExpressionGuid=2D86E35D48E6FC66D5931E9A8E18427F
          Material=Material'/Engine/Transient.Material_281'
       End Object
       MaterialExpression=MaterialExpressionMultiply'MaterialExpressionMultiply_136'
       NodePosX=-400
       NodePosY=128
       NodeGuid=E246352C49091E180248CEBAB81D5701
       CustomProperties Pin (PinId=C623E5DF4AB1762D6D5196B862E74676,PinName="A",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.bIsMap=False,PinType.bIsSet=False,PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,)
       CustomProperties Pin (PinId=28525B4D435823CF2FB0A4A3E728E741,PinName="B",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.bIsMap=False,PinType.bIsSet=False,PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_9354 62667144434D90F401BDF08D7FD76127,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,)
       CustomProperties Pin (PinId=363091E24D9BC9F0E21831A7CD1FA9F7,PinName="Output",PinFriendlyName=" ",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.bIsMap=False,PinType.bIsSet=False,PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_9353 938D680B4D233F0737F3D8A8D30ED05E,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,)
    End Object
    Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_9353"
       Begin Object Class=MaterialExpressionTextureSample Name="MaterialExpressionTextureSample_91"
       End Object
       Begin Object Name="MaterialExpressionTextureSample_91"
          Coordinates=(Expression=MaterialExpressionMultiply'MaterialGraphNode_9352.MaterialExpressionMultiply_136')
          Texture=Texture2D'/Game/Textures/T_Perlin_Noise_M.T_Perlin_Noise_M'
          SamplerType=SAMPLERTYPE_Masks
          MaterialExpressionEditorX=-256
          MaterialExpressionEditorY=128
          MaterialExpressionGuid=195E39064E0ACD675295FA9EF78B88EB
          Material=Material'/Engine/Transient.Material_281'
          bCollapsed=True
       End Object
       MaterialExpression=MaterialExpressionTextureSample'MaterialExpressionTextureSample_91'
       NodePosX=-256
       NodePosY=128
       NodeGuid=1487BA5B45F79C28DF637F8D7B512AA7
       CustomProperties Pin (PinId=938D680B4D233F0737F3D8A8D30ED05E,PinName="UVs",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.bIsMap=False,PinType.bIsSet=False,PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_9352 363091E24D9BC9F0E21831A7CD1FA9F7,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,)
       CustomProperties Pin (PinId=73957E974E093F37830D5F8FC3C14566,PinName="Tex",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.bIsMap=False,PinType.bIsSet=False,PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,)
       CustomProperties Pin (PinId=5B4B73934FBC3D14D5E561BE52A6C463,PinName="Output",PinFriendlyName=" ",Direction="EGPD_Output",PinType.PinCategory="mask",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.bIsMap=False,PinType.bIsSet=False,PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,)
       CustomProperties Pin (PinId=54805AD94EBD7944C7CEE3938940F7B6,PinName="Output2",PinFriendlyName=" ",Direction="EGPD_Output",PinType.PinCategory="mask",PinType.PinSubCategory="red",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.bIsMap=False,PinType.bIsSet=False,PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_9355 B5E60F644FED1BCE780DB7A056EBBC4B,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,)
       CustomProperties Pin (PinId=119F5545445C86AB8483CEBA0E6E52E5,PinName="Output3",PinFriendlyName=" ",Direction="EGPD_Output",PinType.PinCategory="mask",PinType.PinSubCategory="green",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.bIsMap=False,PinType.bIsSet=False,PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,)
       CustomProperties Pin (PinId=FD020E8F4925F39C85C800B67C5E4903,PinName="Output4",PinFriendlyName=" ",Direction="EGPD_Output",PinType.PinCategory="mask",PinType.PinSubCategory="blue",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.bIsMap=False,PinType.bIsSet=False,PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,)
       CustomProperties Pin (PinId=454A89B14BDC08F4BA898AAD69001197,PinName="Output5",PinFriendlyName=" ",Direction="EGPD_Output",PinType.PinCategory="mask",PinType.PinSubCategory="alpha",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.bIsMap=False,PinType.bIsSet=False,PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,)
    End Object
    Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_9354"
       Begin Object Class=MaterialExpressionTextureCoordinate Name="MaterialExpressionTextureCoordinate_69"
       End Object
       Begin Object Name="MaterialExpressionTextureCoordinate_69"
          MaterialExpressionEditorX=-544
          MaterialExpressionEditorY=128
          MaterialExpressionGuid=5F69A9C74DC888AF17ADE38FE44B6450
          Material=Material'/Engine/Transient.Material_281'
       End Object
       MaterialExpression=MaterialExpressionTextureCoordinate'MaterialExpressionTextureCoordinate_69'
       NodePosX=-544
       NodePosY=128
       NodeGuid=32C04E3B49D8C23AB1E9268B86E6F021
       CustomProperties Pin (PinId=62667144434D90F401BDF08D7FD76127,PinName="Output",PinFriendlyName=" ",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.bIsMap=False,PinType.bIsSet=False,PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_9352 28525B4D435823CF2FB0A4A3E728E741,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,)
    End Object
    Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_9355"
       Begin Object Class=MaterialExpressionMultiply Name="MaterialExpressionMultiply_137"
       End Object
       Begin Object Name="MaterialExpressionMultiply_137"
          A=(Expression=MaterialExpressionTextureSample'MaterialGraphNode_9353.MaterialExpressionTextureSample_91',OutputIndex=1,Mask=1,MaskR=1)
          B=(Expression=MaterialExpressionAdd'MaterialGraphNode_9383.MaterialExpressionAdd_22')
          ConstB=20.000000
          MaterialExpressionEditorX=-80
          MaterialExpressionEditorY=128
          MaterialExpressionGuid=FFD45559453CF04EBE4E44984314B5C2
          Material=Material'/Engine/Transient.Material_281'
       End Object
       MaterialExpression=MaterialExpressionMultiply'MaterialExpressionMultiply_137'
       NodePosX=-80
       NodePosY=128
       NodeGuid=18A7925641FF01B730709282A17EE6F7
       CustomProperties Pin (PinId=B5E60F644FED1BCE780DB7A056EBBC4B,PinName="A",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.bIsMap=False,PinType.bIsSet=False,PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_9353 54805AD94EBD7944C7CEE3938940F7B6,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,)
       CustomProperties Pin (PinId=A92A497040A695F54C67E5B5E735E39A,PinName="B",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.bIsMap=False,PinType.bIsSet=False,PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_9383 6BEBB35841CDF90B16B6D3A5E60320CA,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,)
       CustomProperties Pin (PinId=709FC78A40618CD0F927058038AA1F1B,PinName="Output",PinFriendlyName=" ",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.bIsMap=False,PinType.bIsSet=False,PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_9350 FD6646D946C9AE488B09119CA7168416,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,)
    End Object
    Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_9356"
       Begin Object Class=MaterialExpressionMaterialFunctionCall Name="MaterialExpressionMaterialFunctionCall_78"
       End Object
       Begin Object Name="MaterialExpressionMaterialFunctionCall_78"
          MaterialFunction=MaterialFunction'/Engine/Functions/Engine_MaterialFunctions02/Utility/DitherTemporalAA.DitherTemporalAA'
          FunctionInputs(0)=(ExpressionInputId=982BCAE7401F814CDC0AE2955DEE46F3,Input=(Expression=MaterialExpressionOneMinus'MaterialGraphNode_9363.MaterialExpressionOneMinus_23',InputName="Alpha Threshold"))
          FunctionInputs(1)=(ExpressionInputId=E8A932AF4299B0D6C16EDB8B1E912796,Input=(OutputIndex=-1,InputName="Random"))
          FunctionOutputs(0)=(ExpressionOutputId=9BC32B084665F3D2D59A90AA45CA8A9F,Output=(OutputName="Result"))
          MaterialExpressionEditorX=320
          MaterialExpressionEditorY=128
          MaterialExpressionGuid=73AF51A543328D04DDEB9D89126F7BEF
          Material=Material'/Engine/Transient.Material_281'
          Outputs(0)=(OutputName="Result")
       End Object
       MaterialExpression=MaterialExpressionMaterialFunctionCall'MaterialExpressionMaterialFunctionCall_78'
       NodePosX=320
       NodePosY=128
       NodeGuid=1F7C9971494A8F6716ABEE9281A470D0
       CustomProperties Pin (PinId=3F575D3F4EFCF923382A5FA8257F4CC1,PinName="Alpha Threshold (S)",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.bIsMap=False,PinType.bIsSet=False,PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_9363 57A9E6164BA218F8F87F4794579B990D,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,)
       CustomProperties Pin (PinId=177CC4D04BB7A2F25EADF4BC81A5A385,PinName="Random (S)",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.bIsMap=False,PinType.bIsSet=False,PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,)
       CustomProperties Pin (PinId=70A98AFD4326E15EEDCFF8A5F7C723B0,PinName="Result",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.bIsMap=False,PinType.bIsSet=False,PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_9358 ED44176343AC2D6589748AAC097A2E28,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,)
    End Object
    Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_9358"
       Begin Object Class=MaterialExpressionMultiply Name="MaterialExpressionMultiply_138"
       End Object
       Begin Object Name="MaterialExpressionMultiply_138"
          A=(Expression=MaterialExpressionMaterialFunctionCall'MaterialGraphNode_9356.MaterialExpressionMaterialFunctionCall_78')
          B=(Expression=MaterialExpressionAdd'MaterialGraphNode_9383.MaterialExpressionAdd_22')
          MaterialExpressionEditorX=576
          MaterialExpressionEditorY=128
          MaterialExpressionGuid=CF63827E4784301F560F1B974CDE353F
          Material=Material'/Engine/Transient.Material_281'
       End Object
       MaterialExpression=MaterialExpressionMultiply'MaterialExpressionMultiply_138'
       NodePosX=576
       NodePosY=128
       NodeGuid=1F8C8EA34F48B9F48571BBAA2D28B051
       CustomProperties Pin (PinId=ED44176343AC2D6589748AAC097A2E28,PinName="A",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.bIsMap=False,PinType.bIsSet=False,PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_9356 70A98AFD4326E15EEDCFF8A5F7C723B0,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,)
       CustomProperties Pin (PinId=26CD05914DA3B2EF0DE78C9583E76619,PinName="B",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.bIsMap=False,PinType.bIsSet=False,PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_9383 6BEBB35841CDF90B16B6D3A5E60320CA,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,)
       CustomProperties Pin (PinId=37BF2D87431087B540B7639454119EA6,PinName="Output",PinFriendlyName=" ",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.bIsMap=False,PinType.bIsSet=False,PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_9347 7A764DB549AC7F358F29859123E1E519,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,)
    End Object
    Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_9363"
       Begin Object Class=MaterialExpressionOneMinus Name="MaterialExpressionOneMinus_23"
       End Object
       Begin Object Name="MaterialExpressionOneMinus_23"
          Input=(Expression=MaterialExpressionDivide'MaterialGraphNode_9350.MaterialExpressionDivide_33')
          MaterialExpressionEditorX=208
          MaterialExpressionEditorY=128
          MaterialExpressionGuid=873CDD5B4A294953A3DB26A853DD8E2F
          Material=Material'/Engine/Transient.Material_281'
       End Object
       MaterialExpression=MaterialExpressionOneMinus'MaterialExpressionOneMinus_23'
       NodePosX=208
       NodePosY=128
       NodeGuid=366E64514F608CB40EDC1DA850246C93
       CustomProperties Pin (PinId=293CCB8C47C41CBED6E01BBF2B96A311,PinName="Input",PinFriendlyName=" ",PinType.PinCategory="required",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.bIsMap=False,PinType.bIsSet=False,PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_9350 9256C34744AB0075F38088BE6D96BF42,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,)
       CustomProperties Pin (PinId=57A9E6164BA218F8F87F4794579B990D,PinName="Output",PinFriendlyName=" ",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.bIsMap=False,PinType.bIsSet=False,PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_9356 3F575D3F4EFCF923382A5FA8257F4CC1,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,)
    End Object
    Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_9364"
       Begin Object Class=MaterialExpressionScalarParameter Name="MaterialExpressionScalarParameter_26"
       End Object
       Begin Object Name="MaterialExpressionScalarParameter_26"
          DefaultValue=5.000000
          ParameterName="Distance"
          ExpressionGUID=879404BF4543349ABD8C4F8DF1D38E2E
          Group="Edge Blending"
          MaterialExpressionEditorX=-384
          MaterialExpressionEditorY=384
          MaterialExpressionGuid=498EBB1D49996A7F0F2B03A1A8308A8A
          Material=Material'/Engine/Transient.Material_281'
       End Object
       MaterialExpression=MaterialExpressionScalarParameter'MaterialExpressionScalarParameter_26'
       NodePosX=-384
       NodePosY=384
       bCanRenameNode=True
       NodeGuid=AD9C2B2441783D58F6602C99012CE0DA
       CustomProperties Pin (PinId=C15F8872483D938C81DA27AEADB9072D,PinName="Output",PinFriendlyName=" ",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.bIsMap=False,PinType.bIsSet=False,PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_9381 7480ADE84F1F5319F31F6A836F833DD4,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,)
    End Object
    Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_9368"
       Begin Object Class=MaterialExpressionSphereMask Name="MaterialExpressionSphereMask_1"
       End Object
       Begin Object Name="MaterialExpressionSphereMask_1"
          A=(Expression=MaterialExpressionPixelDepth'MaterialGraphNode_9370.MaterialExpressionPixelDepth_13',Mask=1,MaskR=1)
          B=(Expression=MaterialExpressionConstant'MaterialGraphNode_9371.MaterialExpressionConstant_128')
          Radius=(Expression=MaterialExpressionScalarParameter'MaterialGraphNode_9380.MaterialExpressionScalarParameter_28')
          AttenuationRadius=250.000000
          HardnessPercent=0.000000
          MaterialExpressionEditorX=16
          MaterialExpressionEditorY=608
          MaterialExpressionGuid=7030266A4F26FAF42E17FAA0C055A32B
          Material=Material'/Engine/Transient.Material_281'
       End Object
       MaterialExpression=MaterialExpressionSphereMask'MaterialExpressionSphereMask_1'
       NodePosX=16
       NodePosY=608
       NodeGuid=0055774641C94910CE973F91E273C60A
       CustomProperties Pin (PinId=F8CC2F1D49107AD88B0A1E920BAE3993,PinName="A",PinType.PinCategory="required",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.bIsMap=False,PinType.bIsSet=False,PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_9370 E166A61A4A890CD1CF1A908D6CB72393,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,)
       CustomProperties Pin (PinId=FBFB2FDB4F602AC0D20358A5C4CB6DE7,PinName="B",PinType.PinCategory="required",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.bIsMap=False,PinType.bIsSet=False,PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_9371 1C96C9DB42D391F36BB489AD9E30B9D8,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,)
       CustomProperties Pin (PinId=2D3D1D934D8EA595850449BE25FB5F3E,PinName="Radius",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.bIsMap=False,PinType.bIsSet=False,PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_9380 437766CC4C6A3169D8B647A37401892D,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,)
       CustomProperties Pin (PinId=376483DB4B109F53F5C5379120CC9CC2,PinName="Hardness",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.bIsMap=False,PinType.bIsSet=False,PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,)
       CustomProperties Pin (PinId=2E03147C4E16116DDF56F8AB2405698F,PinName="Output",PinFriendlyName=" ",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.bIsMap=False,PinType.bIsSet=False,PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_9372 B3E080F246345F3CD7848AAA5B4AA935,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,)
    End Object
    Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_9370"
       Begin Object Class=MaterialExpressionPixelDepth Name="MaterialExpressionPixelDepth_13"
       End Object
       Begin Object Name="MaterialExpressionPixelDepth_13"
          MaterialExpressionEditorX=-128
          MaterialExpressionEditorY=608
          MaterialExpressionGuid=D42D8C6E48C273A7646AC4834704971C
          Material=Material'/Engine/Transient.Material_281'
       End Object
       MaterialExpression=MaterialExpressionPixelDepth'MaterialExpressionPixelDepth_13'
       NodePosX=-128
       NodePosY=608
       NodeGuid=BBC582684DDE64E381C21FABFBAFA51A
       CustomProperties Pin (PinId=E166A61A4A890CD1CF1A908D6CB72393,PinName="Output",PinFriendlyName=" ",Direction="EGPD_Output",PinType.PinCategory="mask",PinType.PinSubCategory="red",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.bIsMap=False,PinType.bIsSet=False,PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_9368 F8CC2F1D49107AD88B0A1E920BAE3993,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,)
    End Object
    Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_9371"
       Begin Object Class=MaterialExpressionConstant Name="MaterialExpressionConstant_128"
       End Object
       Begin Object Name="MaterialExpressionConstant_128"
          MaterialExpressionEditorX=-128
          MaterialExpressionEditorY=720
          MaterialExpressionGuid=569625EE4E706E013DA0A7A389AE4D88
          Material=Material'/Engine/Transient.Material_281'
       End Object
       MaterialExpression=MaterialExpressionConstant'MaterialExpressionConstant_128'
       NodePosX=-128
       NodePosY=720
       NodeGuid=E36ECFD943C9DC28A3393995029159F6
       CustomProperties Pin (PinId=1C96C9DB42D391F36BB489AD9E30B9D8,PinName="Output",PinFriendlyName=" ",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.bIsMap=False,PinType.bIsSet=False,PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_9368 FBFB2FDB4F602AC0D20358A5C4CB6DE7,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,)
    End Object
    Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_9372"
       Begin Object Class=MaterialExpressionOneMinus Name="MaterialExpressionOneMinus_24"
       End Object
       Begin Object Name="MaterialExpressionOneMinus_24"
          Input=(Expression=MaterialExpressionSphereMask'MaterialGraphNode_9368.MaterialExpressionSphereMask_1')
          MaterialExpressionEditorX=176
          MaterialExpressionEditorY=608
          MaterialExpressionGuid=D02009C2404B9ADFBD3FBE8F1AAA24CB
          Material=Material'/Engine/Transient.Material_281'
       End Object
       MaterialExpression=MaterialExpressionOneMinus'MaterialExpressionOneMinus_24'
       NodePosX=176
       NodePosY=608
       NodeGuid=D6835756465FBFDA9A0E868DA61452EB
       CustomProperties Pin (PinId=B3E080F246345F3CD7848AAA5B4AA935,PinName="Input",PinFriendlyName=" ",PinType.PinCategory="required",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.bIsMap=False,PinType.bIsSet=False,PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_9368 2E03147C4E16116DDF56F8AB2405698F,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,)
       CustomProperties Pin (PinId=C371A7ED41600BCE5007028ED05D69B7,PinName="Output",PinFriendlyName=" ",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.bIsMap=False,PinType.bIsSet=False,PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_9382 3A65AE1843FBC5E811B21D8462962029,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,)
    End Object
    Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_9379"
       Begin Object Class=MaterialExpressionScalarParameter Name="MaterialExpressionScalarParameter_27"
       End Object
       Begin Object Name="MaterialExpressionScalarParameter_27"
          DefaultValue=2.000000
          ParameterName="Min Distance"
          ExpressionGUID=792D01A14CADCF9F68C1A78D23ADA0D4
          Group="Edge Blending"
          MaterialExpressionEditorX=-384
          MaterialExpressionEditorY=480
          MaterialExpressionGuid=61D5F18B415DAEE487FDBF8CDB2583A4
          Material=Material'/Engine/Transient.Material_281'
       End Object
       MaterialExpression=MaterialExpressionScalarParameter'MaterialExpressionScalarParameter_27'
       NodePosX=-384
       NodePosY=480
       bCanRenameNode=True
       NodeGuid=21FE964A498BD11218247EB29B97D6D2
       CustomProperties Pin (PinId=171EA1C546A67118B28AD7A213C1F75E,PinName="Output",PinFriendlyName=" ",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.bIsMap=False,PinType.bIsSet=False,PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_9381 78BD6CC84E1E2B33E6B75A845B28D8F2,MaterialGraphNode_9383 CCB995E643EA7EC1B5F5718C7BBA00DB,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,)
    End Object
    Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_9380"
       Begin Object Class=MaterialExpressionScalarParameter Name="MaterialExpressionScalarParameter_28"
       End Object
       Begin Object Name="MaterialExpressionScalarParameter_28"
          DefaultValue=500.000000
          ParameterName="Fade Start Distance"
          ExpressionGUID=C3D6001B42AF564EEF9542BF3553C686
          Group="Edge Blending"
          MaterialExpressionEditorX=-384
          MaterialExpressionEditorY=608
          MaterialExpressionGuid=29C6884B4A0491594EB376BD87CE0BC2
          Material=Material'/Engine/Transient.Material_281'
       End Object
       MaterialExpression=MaterialExpressionScalarParameter'MaterialExpressionScalarParameter_28'
       NodePosX=-384
       NodePosY=608
       bCanRenameNode=True
       NodeGuid=B09CE3E04DD6334C5D826C96C4BDE8C5
       CustomProperties Pin (PinId=437766CC4C6A3169D8B647A37401892D,PinName="Output",PinFriendlyName=" ",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.bIsMap=False,PinType.bIsSet=False,PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_9368 2D3D1D934D8EA595850449BE25FB5F3E,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,)
    End Object
    Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_9381"
       Begin Object Class=MaterialExpressionSubtract Name="MaterialExpressionSubtract_15"
       End Object
       Begin Object Name="MaterialExpressionSubtract_15"
          A=(Expression=MaterialExpressionScalarParameter'MaterialGraphNode_9364.MaterialExpressionScalarParameter_26')
          B=(Expression=MaterialExpressionScalarParameter'MaterialGraphNode_9379.MaterialExpressionScalarParameter_27')
          MaterialExpressionEditorX=-128
          MaterialExpressionEditorY=384
          MaterialExpressionGuid=D36839EF4EB195A29860BC88187925D1
          Material=Material'/Engine/Transient.Material_281'
       End Object
       MaterialExpression=MaterialExpressionSubtract'MaterialExpressionSubtract_15'
       NodePosX=-128
       NodePosY=384
       NodeGuid=1614F9704E6EEFEB6B0EF09976D185E7
       CustomProperties Pin (PinId=7480ADE84F1F5319F31F6A836F833DD4,PinName="A",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.bIsMap=False,PinType.bIsSet=False,PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_9364 C15F8872483D938C81DA27AEADB9072D,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,)
       CustomProperties Pin (PinId=78BD6CC84E1E2B33E6B75A845B28D8F2,PinName="B",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.bIsMap=False,PinType.bIsSet=False,PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_9379 171EA1C546A67118B28AD7A213C1F75E,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,)
       CustomProperties Pin (PinId=787904E242054E4EB7C29BB8100EE8CD,PinName="Output",PinFriendlyName=" ",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.bIsMap=False,PinType.bIsSet=False,PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_9382 32FE635849F1102725EE2F8AA055F954,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,)
    End Object
    Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_9382"
       Begin Object Class=MaterialExpressionMultiply Name="MaterialExpressionMultiply_139"
       End Object
       Begin Object Name="MaterialExpressionMultiply_139"
          A=(Expression=MaterialExpressionSubtract'MaterialGraphNode_9381.MaterialExpressionSubtract_15')
          B=(Expression=MaterialExpressionOneMinus'MaterialGraphNode_9372.MaterialExpressionOneMinus_24')
          MaterialExpressionEditorY=384
          MaterialExpressionGuid=14836F244127CAD11E8C56804E4DA460
          Material=Material'/Engine/Transient.Material_281'
       End Object
       MaterialExpression=MaterialExpressionMultiply'MaterialExpressionMultiply_139'
       NodePosY=384
       NodeGuid=FB5525204A53B6B42E3997917735004B
       CustomProperties Pin (PinId=32FE635849F1102725EE2F8AA055F954,PinName="A",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.bIsMap=False,PinType.bIsSet=False,PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_9381 787904E242054E4EB7C29BB8100EE8CD,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,)
       CustomProperties Pin (PinId=3A65AE1843FBC5E811B21D8462962029,PinName="B",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.bIsMap=False,PinType.bIsSet=False,PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_9372 C371A7ED41600BCE5007028ED05D69B7,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,)
       CustomProperties Pin (PinId=E6D82C4A46A7565A395EFD80B480D44F,PinName="Output",PinFriendlyName=" ",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.bIsMap=False,PinType.bIsSet=False,PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_9383 A632704F483022BEF1487E921A291EB2,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,)
    End Object
    Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_9383"
       Begin Object Class=MaterialExpressionAdd Name="MaterialExpressionAdd_22"
       End Object
       Begin Object Name="MaterialExpressionAdd_22"
          A=(Expression=MaterialExpressionMultiply'MaterialGraphNode_9382.MaterialExpressionMultiply_139')
          B=(Expression=MaterialExpressionScalarParameter'MaterialGraphNode_9379.MaterialExpressionScalarParameter_27')
          MaterialExpressionEditorX=128
          MaterialExpressionEditorY=384
          MaterialExpressionGuid=B67B2BAD487E173C2E1F719E58D60615
          Material=Material'/Engine/Transient.Material_281'
       End Object
       MaterialExpression=MaterialExpressionAdd'MaterialExpressionAdd_22'
       NodePosX=128
       NodePosY=384
       NodeGuid=A8867E9A427CEF5CDA072E8BA5E099A6
       CustomProperties Pin (PinId=A632704F483022BEF1487E921A291EB2,PinName="A",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.bIsMap=False,PinType.bIsSet=False,PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_9382 E6D82C4A46A7565A395EFD80B480D44F,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,)
       CustomProperties Pin (PinId=CCB995E643EA7EC1B5F5718C7BBA00DB,PinName="B",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.bIsMap=False,PinType.bIsSet=False,PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_9379 171EA1C546A67118B28AD7A213C1F75E,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,)
       CustomProperties Pin (PinId=6BEBB35841CDF90B16B6D3A5E60320CA,PinName="Output",PinFriendlyName=" ",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.bIsMap=False,PinType.bIsSet=False,PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_9355 A92A497040A695F54C67E5B5E735E39A,MaterialGraphNode_9358 26CD05914DA3B2EF0DE78C9583E76619,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,)
    End Object
    Click image for larger version

Name:	editor.jpg
Views:	1
Size:	179.7 KB
ID:	1216317
    Last edited by hallatore; 04-10-2017, 11:37 AM.

    #2
    Thank you! What did you use for the texture input?

    Comment


      #3
      Locks very nice, thx!
      Do you think it's possible to remove the black artifacts or reduce their size?
      I'll play arround with it and post my results.

      Comment


        #4
        Originally posted by Wolf89 View Post
        Thank you! What did you use for the texture input?
        There is no texture input, just a dithering mask.

        Originally posted by MaryMassacre View Post
        Locks very nice, thx!
        Do you think it's possible to remove the black artifacts or reduce their size?
        I'll play arround with it and post my results.
        What black artifacts? Do you have any screenshots?

        Comment


          #5
          Thank you a lot for sharing this.

          Is there a way to make a workaround without deactivating the Distance Field Lighting?

          Comment


            #6
            Here is another good example of the effect. https://imgsli.com/MDQyNw


            ON/OFF

            Click image for larger version

Name:	5.2.jpg
Views:	1
Size:	469.2 KB
ID:	1126235

            Click image for larger version

Name:	5.1.jpg
Views:	1
Size:	469.2 KB
ID:	1126236


            And here is the difference between the two.

            Click image for larger version

Name:	5.3.jpg
Views:	1
Size:	36.0 KB
ID:	1126237
            Attached Files

            Comment


              #7
              Originally posted by Seehr View Post
              Thank you a lot for sharing this.

              Is there a way to make a workaround without deactivating the Distance Field Lighting?
              DistanceToNearestSurface doesn't differentiate between itself and other objects. So if you don't turn it off for that object you get artifacts/blending where the object occludes itself.
              So I don't think that is possible.

              Comment


                #8
                Makes sense.

                This is a bit expensive for a dynamic setup anyway... So i guess it's even normal that you deactivate the DFL.

                Thanks a lot for sharing it, Hallatore.

                Comment


                  #9
                  Very nice share! Thank you!
                  [WIP] Procedural City Generator | RPG AI
                  [MARKETPLACE] Animal Behavior Kit | Space Shooter Template | Procedural Foliage Tool | Procedural Park
                  [FREE] Modular Road Tool | Action Platformer Template | Radar BP | Free Birds
                  Join our Discord

                  Comment


                    #10
                    Updated the material to adjust based on camera distance, and tweaked some of the logic. I really like the result!


                    Click image for larger version

Name:	6_off.jpg
Views:	1
Size:	208.3 KB
ID:	1126241
                    Click image for larger version

Name:	6_on.jpg
Views:	1
Size:	207.5 KB
ID:	1126242

                    Comment


                      #11
                      Just wondering -

                      Whats the loss? FPS/MS with/without?
                      Founder and CEO of Angry Penguin Studio, LLC
                      Dallas, TX USA
                      https://www.facebook.com/AngryPenguinStudios

                      Comment


                        #12
                        Can this be done in version 4.11? I can't seem to get this to work. I've followed every step exactly as put. Could you post a screenshot of your material editor?

                        Comment


                          #13
                          Originally posted by Angrytoilet View Post
                          Whats the loss? FPS/MS with/without?
                          I get 90/93 FPS with/without the function.


                          Originally posted by Wolf89 View Post
                          Can this be done in version 4.11? I can't seem to get this to work. I've followed every step exactly as put. Could you post a screenshot of your material editor?
                          I'm not sure. I'm on 4.15, haven't tested earlier versions.
                          The MF screenshot is further up. And in the rock material I just call this MF and link it with PixelDepthOffset.

                          Do you see anything if you click View / Visualize / Mesh DistanceFields? I think there has to be at least one object there. I had some weird behavior if the scene had no objects in the distance fields.

                          Comment


                            #14
                            I don't see anything when I visualize Mesh DistanceFields. Could that be the problem? I already have the box checked next to generate distance fields in my project settings.

                            Comment


                              #15
                              Figured out my problem! I needed to increase the distance in my MF and change the texture output to a noisy image I've made it PS.

                              Attached Files
                              Last edited by Wolf89; 04-10-2017, 05:02 PM.

                              Comment

                              Working...
                              X