Hi, looks like this will work for you.
But i’m not a pro, so it could be more proper way…
float4 SvPosition = Parameters.SvPosition;
float DeviceZ = LookupDeviceZ(SvPositionToBufferUV(SvPosition + float4(0, 0, 0, 0)));
if(DeviceZ<0.0001) return float3(0.0,0.0,0.0);
float DeviceZRight = LookupDeviceZ(SvPositionToBufferUV(SvPosition + float4(1, 0, 0, 0)));
float DeviceZBottom = LookupDeviceZ(SvPositionToBufferUV(SvPosition + float4(0, 1, 0, 0)));
float3 Mid = SvPositionToTranslatedWorld(float4(SvPosition.xy + float2(0, 0), DeviceZ, 1));
float3 Right = SvPositionToTranslatedWorld(float4(SvPosition.xy + float2(1, 0), DeviceZRight, 1)) - Mid;
float3 Down = SvPositionToTranslatedWorld(float4(SvPosition.xy + float2(0, 1), DeviceZBottom, 1)) - Mid;
return 0.5*normalize(cross(Right, Down));
Material:
[SPOILER]
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_23"
Begin Object Class=/Script/Engine.MaterialExpressionCustom Name="MaterialExpressionCustom_2"
End Object
Begin Object Name="MaterialExpressionCustom_2"
Code="float4 SvPosition = Parameters.SvPosition;
float DeviceZ = LookupDeviceZ(SvPositionToBufferUV(SvPosition + float4(0, 0, 0, 0)));
if(DeviceZ<0.0001) return float3(0.0,0.0,0.0);
float DeviceZRight = LookupDeviceZ(SvPositionToBufferUV(SvPosition + float4(1, 0, 0, 0)));
float DeviceZBottom = LookupDeviceZ(SvPositionToBufferUV(SvPosition + float4(0, 1, 0, 0)));
float3 Mid = SvPositionToTranslatedWorld(float4(SvPosition.xy + float2(0, 0), DeviceZ, 1));
float3 Right = SvPositionToTranslatedWorld(float4(SvPosition.xy + float2(1, 0), DeviceZRight, 1)) - Mid;
float3 Down = SvPositionToTranslatedWorld(float4(SvPosition.xy + float2(0, 1), DeviceZBottom, 1)) - Mid;
return 0.5*normalize(cross(Right, Down));"
Inputs=
MaterialExpressionEditorX=-1040
MaterialExpressionEditorY=416
MaterialExpressionGuid=ADEA48E54B2D6DBA8B1B51BE79DA85D3
Material=PreviewMaterial'"/Engine/Transient.ReconstructNormalsDecal"'
End Object
MaterialExpression=MaterialExpressionCustom'"MaterialExpressionCustom_2"'
NodePosX=-1040
NodePosY=416
NodeGuid=1674A40E46D4BA1DFF2A3E9C31192F04
CustomProperties Pin (PinId=32CE5411453BB5048D3CF2A245F1089C,PinName="Output",PinFriendlyName=NSLOCTEXT("MaterialGraphNode", "Space", " "),Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_40 399104CE49B9AE947D5CB098F032F575,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_26"
Begin Object Class=/Script/Engine.MaterialExpressionComponentMask Name="MaterialExpressionComponentMask_0"
End Object
Begin Object Name="MaterialExpressionComponentMask_0"
Input=(Expression=MaterialExpressionMaterialFunctionCall'"MaterialGraphNode_40.MaterialExpressionMaterialFunctionCall_7"')
B=True
MaterialExpressionEditorX=-512
MaterialExpressionEditorY=416
MaterialExpressionGuid=55BEC1FA46A3456944E8BDBB38FF3997
Material=PreviewMaterial'"/Engine/Transient.ReconstructNormalsDecal"'
End Object
MaterialExpression=MaterialExpressionComponentMask'"MaterialExpressionComponentMask_0"'
NodePosX=-512
NodePosY=416
NodeGuid=3C82200F4A16FE1056332B98A23BF88F
CustomProperties Pin (PinId=A2EC8A164E994024C6A4E883A10D2B4D,PinName="Input",PinFriendlyName=NSLOCTEXT("MaterialGraphNode", "Space", " "),PinType.PinCategory="required",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_40 6C73F810438222F36F828E93DED0CC27,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=9D743DD84553DB315D796A90FB359D97,PinName="Output",PinFriendlyName=NSLOCTEXT("MaterialGraphNode", "Space", " "),Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_33 632564B346F8E19DEEDA0C83B342EBCD,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_33"
Begin Object Class=/Script/Engine.MaterialExpressionSaturate Name="MaterialExpressionSaturate_0"
End Object
Begin Object Name="MaterialExpressionSaturate_0"
Input=(Expression=MaterialExpressionComponentMask'"MaterialGraphNode_26.MaterialExpressionComponentMask_0"')
MaterialExpressionEditorX=-400
MaterialExpressionEditorY=416
MaterialExpressionGuid=0B4B40D044D780156B13B68CD703F309
Material=PreviewMaterial'"/Engine/Transient.ReconstructNormalsDecal"'
End Object
MaterialExpression=MaterialExpressionSaturate'"MaterialExpressionSaturate_0"'
NodePosX=-400
NodePosY=416
NodeGuid=FFF027C341DC04990D44BD8B2F4E8AE8
CustomProperties Pin (PinId=632564B346F8E19DEEDA0C83B342EBCD,PinName="Input",PinFriendlyName=NSLOCTEXT("MaterialGraphNode", "Space", " "),PinType.PinCategory="required",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_26 9D743DD84553DB315D796A90FB359D97,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=244E2F334666F76AF89DDDAA5701CD31,PinName="Output",PinFriendlyName=NSLOCTEXT("MaterialGraphNode", "Space", " "),Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_34 05CE241D437FC5BC434A0C8103DDE31E,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_34"
Begin Object Class=/Script/Engine.MaterialExpressionMultiply Name="MaterialExpressionMultiply_1"
End Object
Begin Object Name="MaterialExpressionMultiply_1"
A=(Expression=MaterialExpressionSaturate'"MaterialGraphNode_33.MaterialExpressionSaturate_0"')
B=(Expression=MaterialExpressionConstant'"MaterialGraphNode_50.MaterialExpressionConstant_7"')
MaterialExpressionEditorX=-128
MaterialExpressionEditorY=416
MaterialExpressionGuid=AC2FFCCC4BEA6A485165A5B4F8354D20
Material=PreviewMaterial'"/Engine/Transient.ReconstructNormalsDecal"'
End Object
MaterialExpression=MaterialExpressionMultiply'"MaterialExpressionMultiply_1"'
NodePosX=-128
NodePosY=416
NodeGuid=430C874041D78387D870EBBA4E520ADD
CustomProperties Pin (PinId=05CE241D437FC5BC434A0C8103DDE31E,PinName="A",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_33 244E2F334666F76AF89DDDAA5701CD31,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=BA8DB3D4402A558BAD1FE6A6D4D7FD21,PinName="B",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_50 C87CE6084BFDD8D72ED6C8A74B70963D,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=8E50BC804B4E2C7C5F7BC0821B45B143,PinName="Output",PinFriendlyName=NSLOCTEXT("MaterialGraphNode", "Space", " "),Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_48 721148F041DC9D00295AF5877767D9F8,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_36"
Begin Object Class=/Script/Engine.MaterialExpressionObjectOrientation Name="MaterialExpressionObjectOrientation_0"
End Object
Begin Object Name="MaterialExpressionObjectOrientation_0"
MaterialExpressionEditorX=-1061
MaterialExpressionEditorY=686
MaterialExpressionGuid=9A0057114E60F6EE4D152AB77FF099A5
Material=PreviewMaterial'"/Engine/Transient.ReconstructNormalsDecal"'
End Object
MaterialExpression=MaterialExpressionObjectOrientation'"MaterialExpressionObjectOrientation_0"'
NodePosX=-1061
NodePosY=686
NodeGuid=4C9816B14FE0718308FC96AAC574E1B1
CustomProperties Pin (PinId=295B06CD4692F209D9F46BA391FAAAC3,PinName="Output",PinFriendlyName=NSLOCTEXT("MaterialGraphNode", "Space", " "),Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_41 CA272D64467D30843FC781850DF03463,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_40"
Begin Object Class=/Script/Engine.MaterialExpressionMaterialFunctionCall Name="MaterialExpressionMaterialFunctionCall_7"
End Object
Begin Object Name="MaterialExpressionMaterialFunctionCall_7"
MaterialFunction=MaterialFunction'"/Engine/Functions/Engine_MaterialFunctions01/Vectors/RotateVector.RotateVector"'
FunctionInputs(0)=(ExpressionInputId=98B42CF248CA8DC84844E7BE92F622F0,Input=(Expression=MaterialExpressionCustom'"MaterialGraphNode_23.MaterialExpressionCustom_2"',InputName="VectorToRotate"))
FunctionInputs(1)=(ExpressionInputId=A9C0AC0244B9D2393F2433A68EC1C76B,Input=(Expression=MaterialExpressionMaterialFunctionCall'"MaterialGraphNode_41.MaterialExpressionMaterialFunctionCall_8"',InputName="LookAtVector"))
FunctionInputs(2)=(ExpressionInputId=B2EE43334B4CFF407B97718C7D2BE6EB,Input=(OutputIndex=-1,InputName="RestingVector"))
FunctionOutputs(0)=(ExpressionOutputId=21394CDC48CCAD903CB7088969E1494E,Output=(OutputName="Result"))
MaterialExpressionEditorX=-768
MaterialExpressionEditorY=416
MaterialExpressionGuid=DE07D51845AB24A744B1D6BB41E87FF7
Material=PreviewMaterial'"/Engine/Transient.ReconstructNormalsDecal"'
Outputs(0)=(OutputName="Result")
End Object
MaterialExpression=MaterialExpressionMaterialFunctionCall'"MaterialExpressionMaterialFunctionCall_7"'
NodePosX=-768
NodePosY=416
ErrorType=1
ErrorMsg="Missing function input \'LookAtVector\'"
NodeGuid=E944A347495052CAEC1FF39D7C645E69
CustomProperties Pin (PinId=399104CE49B9AE947D5CB098F032F575,PinName="VectorToRotate (V3)",PinType.PinCategory="required",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_23 32CE5411453BB5048D3CF2A245F1089C,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=C93944F0428FEC5209CE94819544D332,PinName="LookAtVector (V3)",PinType.PinCategory="required",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_41 DCE11C1B414BE89C5CC54F9FE76EE948,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=BB88261B4E6B181624E063BA365E2ED1,PinName="RestingVector (V3)",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=6C73F810438222F36F828E93DED0CC27,PinName="Result",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_26 A2EC8A164E994024C6A4E883A10D2B4D,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_41"
Begin Object Class=/Script/Engine.MaterialExpressionMaterialFunctionCall Name="MaterialExpressionMaterialFunctionCall_8"
End Object
Begin Object Name="MaterialExpressionMaterialFunctionCall_8"
MaterialFunction=MaterialFunction'"/Engine/Functions/Engine_MaterialFunctions02/Math/InverseTransformMatrix.InverseTransformMatrix"'
FunctionInputs(0)=(ExpressionInputId=B21689654B1661D5CE3D5F837F05B6A6,Input=(Expression=MaterialExpressionObjectOrientation'"MaterialGraphNode_36.MaterialExpressionObjectOrientation_0"',InputName="VectorToTransform"))
FunctionInputs(1)=(ExpressionInputId=EE624CCE4DD4240A7159318333DBDA08,Input=(InputName="BasisX",Mask=1,MaskR=1,MaskG=1,MaskB=1))
FunctionInputs(2)=(ExpressionInputId=F0BB91384877FA3699C7E28F88A7D519,Input=(InputName="BasisY",Mask=1,MaskR=1,MaskG=1,MaskB=1))
FunctionInputs(3)=(ExpressionInputId=144CAA8F437EBDBD84551E9F1DA0F579,Input=(Expression=MaterialExpressionConstant3Vector'"MaterialGraphNode_47.MaterialExpressionConstant3Vector_0"',InputName="BasisZ"))
FunctionOutputs(0)=(ExpressionOutputId=BB720F6C40263651E0C307B7D447486D,Output=(OutputName="Transformed Vector 3"))
MaterialExpressionEditorX=-832
MaterialExpressionEditorY=704
MaterialExpressionGuid=1E6DD28347E4B076262253915340B416
Material=PreviewMaterial'"/Engine/Transient.ReconstructNormalsDecal"'
Outputs(0)=(OutputName="Transformed Vector 3")
End Object
MaterialExpression=MaterialExpressionMaterialFunctionCall'"MaterialExpressionMaterialFunctionCall_8"'
NodePosX=-832
NodePosY=704
NodeGuid=3264225B4E0D47F48578BCAED3AC3AF6
CustomProperties Pin (PinId=CA272D64467D30843FC781850DF03463,PinName="VectorToTransform (V3)",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_36 295B06CD4692F209D9F46BA391FAAAC3,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=0FFAB9CC4E2919675E3184A327D64860,PinName="BasisX (V3)",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=C359524B4FD79A0DC1EDCCAF60B505BB,PinName="BasisY (V3)",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=5FDFD7B24E3B5AE496D9E6B7BB979558,PinName="BasisZ (V3)",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_47 5D3143C74C38244013B4DA81CD87D73B,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=DCE11C1B414BE89C5CC54F9FE76EE948,PinName="Transformed Vector 3",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_40 C93944F0428FEC5209CE94819544D332,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_45"
Begin Object Class=/Script/Engine.MaterialExpressionConstant Name="MaterialExpressionConstant_6"
End Object
Begin Object Name="MaterialExpressionConstant_6"
R=1.000000
MaterialExpressionEditorX=32
MaterialExpressionEditorY=464
MaterialExpressionGuid=F54B79F54C3898042B845E80E140DF5F
Material=PreviewMaterial'"/Engine/Transient.ReconstructNormalsDecal"'
End Object
MaterialExpression=MaterialExpressionConstant'"MaterialExpressionConstant_6"'
NodePosX=32
NodePosY=464
NodeGuid=CA11A40F49DE116E1414699552271A38
CustomProperties Pin (PinId=D7A9B39D4A1D164C9EA22AB8B53FFF8F,PinName="Output",PinFriendlyName=NSLOCTEXT("MaterialGraphNode", "Space", " "),Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_48 66D114184DDFEC197A9EBCB571D67CDD,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_47"
Begin Object Class=/Script/Engine.MaterialExpressionConstant3Vector Name="MaterialExpressionConstant3Vector_0"
End Object
Begin Object Name="MaterialExpressionConstant3Vector_0"
Constant=(R=0.000000,G=0.000000,B=-1.000000,A=0.000000)
MaterialExpressionEditorX=-1056
MaterialExpressionEditorY=784
MaterialExpressionGuid=888AB20A4B5BA9B8F2303B8122BDBB90
Material=PreviewMaterial'"/Engine/Transient.ReconstructNormalsDecal"'
End Object
MaterialExpression=MaterialExpressionConstant3Vector'"MaterialExpressionConstant3Vector_0"'
NodePosX=-1056
NodePosY=784
NodeGuid=8BB7E71A492AA59B03A8C3A992E30D79
CustomProperties Pin (PinId=5D3143C74C38244013B4DA81CD87D73B,PinName="Output",PinFriendlyName=NSLOCTEXT("MaterialGraphNode", "Space", " "),Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_41 5FDFD7B24E3B5AE496D9E6B7BB979558,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_48"
Begin Object Class=/Script/Engine.MaterialExpressionLinearInterpolate Name="MaterialExpressionLinearInterpolate_1"
End Object
Begin Object Name="MaterialExpressionLinearInterpolate_1"
A=(Expression=MaterialExpressionMultiply'"MaterialGraphNode_34.MaterialExpressionMultiply_1"')
B=(Expression=MaterialExpressionConstant'"MaterialGraphNode_45.MaterialExpressionConstant_6"')
Alpha=(Expression=MaterialExpressionScalarParameter'"MaterialGraphNode_49.MaterialExpressionScalarParameter_3"')
MaterialExpressionEditorX=144
MaterialExpressionEditorY=416
MaterialExpressionGuid=C577D2F747D2472D51DCE184B790FC5A
Material=PreviewMaterial'"/Engine/Transient.ReconstructNormalsDecal"'
End Object
MaterialExpression=MaterialExpressionLinearInterpolate'"MaterialExpressionLinearInterpolate_1"'
NodePosX=144
NodePosY=416
NodeGuid=6699BCDB4DBF1EBB815A8D8EBA46054C
CustomProperties Pin (PinId=721148F041DC9D00295AF5877767D9F8,PinName="A",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_34 8E50BC804B4E2C7C5F7BC0821B45B143,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=66D114184DDFEC197A9EBCB571D67CDD,PinName="B",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_45 D7A9B39D4A1D164C9EA22AB8B53FFF8F,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=A303C2A6433B72FCF0D74B8D7EC91D78,PinName="Alpha",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_49 E6DA3BEC4EEA8265FDD65BB50BBDA3E4,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=65B4312045130F2A2E35B1B723E732D0,PinName="Output",PinFriendlyName=NSLOCTEXT("MaterialGraphNode", "Space", " "),Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_Knot_3 4B0D61124456E063FD887B8A2208C251,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_49"
Begin Object Class=/Script/Engine.MaterialExpressionScalarParameter Name="MaterialExpressionScalarParameter_3"
End Object
Begin Object Name="MaterialExpressionScalarParameter_3"
SliderMax=1.000000
ParameterName="On/Off"
ExpressionGUID=0634F3BA45A33336E5C7529A7A2A7EF0
MaterialExpressionEditorX=144
MaterialExpressionEditorY=560
MaterialExpressionGuid=E31EAD7E4EE342B266E73E90BE9C1371
Material=PreviewMaterial'"/Engine/Transient.ReconstructNormalsDecal"'
End Object
MaterialExpression=MaterialExpressionScalarParameter'"MaterialExpressionScalarParameter_3"'
NodePosX=144
NodePosY=560
bCanRenameNode=True
NodeGuid=01591FCA495ABA7F4212F8B32F3DD3C1
CustomProperties Pin (PinId=E6DA3BEC4EEA8265FDD65BB50BBDA3E4,PinName="Output",PinFriendlyName=NSLOCTEXT("MaterialGraphNode", "Space", " "),Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_48 A303C2A6433B72FCF0D74B8D7EC91D78,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_50"
Begin Object Class=/Script/Engine.MaterialExpressionConstant Name="MaterialExpressionConstant_7"
End Object
Begin Object Name="MaterialExpressionConstant_7"
R=10.000000
MaterialExpressionEditorX=-208
MaterialExpressionEditorY=464
MaterialExpressionGuid=76E2114A4C8DC9FB451EF6869428347B
Material=PreviewMaterial'"/Engine/Transient.ReconstructNormalsDecal"'
End Object
MaterialExpression=MaterialExpressionConstant'"MaterialExpressionConstant_7"'
NodePosX=-208
NodePosY=464
NodeGuid=813CEC474CBD007FE0E719A363073141
CustomProperties Pin (PinId=C87CE6084BFDD8D72ED6C8A74B70963D,PinName="Output",PinFriendlyName=NSLOCTEXT("MaterialGraphNode", "Space", " "),Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_34 BA8DB3D4402A558BAD1FE6A6D4D7FD21,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode_Knot Name="MaterialGraphNode_Knot_3"
Begin Object Class=/Script/Engine.MaterialExpressionReroute Name="MaterialExpressionReroute_3"
End Object
Begin Object Name="MaterialExpressionReroute_3"
Input=(Expression=MaterialExpressionLinearInterpolate'"MaterialGraphNode_48.MaterialExpressionLinearInterpolate_1"')
MaterialExpressionEditorX=329
MaterialExpressionEditorY=366
MaterialExpressionGuid=55ACA1DB411BF319E72435B6BB406754
Material=PreviewMaterial'"/Engine/Transient.ReconstructNormalsDecal"'
End Object
MaterialExpression=MaterialExpressionReroute'"MaterialExpressionReroute_3"'
NodePosX=329
NodePosY=366
bCanRenameNode=False
NodeGuid=A6ED0A914A2955549C8CCC9851A0CA66
CustomProperties Pin (PinId=4B0D61124456E063FD887B8A2208C251,PinName="InputPin",PinType.PinCategory="wildcard",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_48 65B4312045130F2A2E35B1B723E732D0,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=True,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=244B409448CCB9786C28E693A9E9D508,PinName="OutputPin",Direction="EGPD_Output",PinType.PinCategory="wildcard",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_Root_1 8B6B45C149097272405EECB7EC7A5340,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
[/SPOILER]