언리얼엔진

메시 아웃라인

개발문어 2023. 3. 5. 03:07

https://www.kodeco.com/92-unreal-engine-4-toon-outlines-tutorial

 

Unreal Engine 4 Toon Outlines Tutorial

In this Unreal Engine 4 tutorial, you will learn how to creating toon outlines using inverted meshes and post processing.

www.kodeco.com

 

https://www.tomlooman.com/unreal-engine-mesh-outline-material/

 

Mesh Outlines Without Post-Processing in Unreal Engine

Some time ago I saw a neat solution by Cory Spooner on outlining meshes using particle sprites. The concept has been done before – but it’s interesting enough to cover it regardless for Unreal Engine...

www.tomlooman.com

파티클인듯

https://youtu.be/EDenvaizlP4

애니가 특정 상황에서 싱크 안됨

 

일단 메시 복제후

ABP 같이쓰고 

포스트 프로세스 블루프린트 비활성

아웃라인 머터리얼 지정

 

Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_0"
   Begin Object Class=/Script/Engine.MaterialExpressionVectorParameter Name="MaterialExpressionVectorParameter_0"
   End Object
   Begin Object Name="MaterialExpressionVectorParameter_0"
      DefaultValue=(R=0.625000,G=0.073242,B=0.480277,A=1.000000)
      ParameterName="Color"
      ExpressionGUID=7F4CCE5E47B850B44906A4A562EC3DEE
      MaterialExpressionEditorX=-320
      MaterialExpressionEditorY=-48
      MaterialExpressionGuid=21A6A09C482D41445B7E54B7FFF0C1E7
      Material=PreviewMaterial'"/Engine/Transient.M_Outline"'
   End Object
   MaterialExpression=MaterialExpressionVectorParameter'"MaterialExpressionVectorParameter_0"'
   NodePosX=-320
   NodePosY=-48
   bCanRenameNode=True
   NodeGuid=4509902C4CC7D948060B849B96C2EE8C
   CustomProperties Pin (PinId=A0D22B9C4560FBBA104C18BA2CE881F9,PinName="Output",PinFriendlyName=NSLOCTEXT("MaterialGraphNode", "Space", " "),Direction="EGPD_Output",PinType.PinCategory="mask",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,LinkedTo=(MaterialGraphNode_Root_0 4C59022C46A2B9E2D7C8149F08170517,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
   CustomProperties Pin (PinId=A1F1659747A9A60B88BFB9AC9E91EB69,PinName="Output2",PinFriendlyName=NSLOCTEXT("MaterialGraphNode", "Space", " "),Direction="EGPD_Output",PinType.PinCategory="mask",PinType.PinSubCategory="red",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
   CustomProperties Pin (PinId=32DE231B4CDE1EC934D54AA5DCAF0939,PinName="Output3",PinFriendlyName=NSLOCTEXT("MaterialGraphNode", "Space", " "),Direction="EGPD_Output",PinType.PinCategory="mask",PinType.PinSubCategory="green",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
   CustomProperties Pin (PinId=F36226BF4D104D9A0A9682888FD41B1A,PinName="Output4",PinFriendlyName=NSLOCTEXT("MaterialGraphNode", "Space", " "),Direction="EGPD_Output",PinType.PinCategory="mask",PinType.PinSubCategory="blue",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
   CustomProperties Pin (PinId=A8B72D6845C8584568629D8005D0A08C,PinName="Output5",PinFriendlyName=NSLOCTEXT("MaterialGraphNode", "Space", " "),Direction="EGPD_Output",PinType.PinCategory="mask",PinType.PinSubCategory="alpha",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_1"
   Begin Object Class=/Script/Engine.MaterialExpressionOneMinus Name="MaterialExpressionOneMinus_0"
   End Object
   Begin Object Name="MaterialExpressionOneMinus_0"
      Input=(Expression=MaterialExpressionTwoSidedSign'"MaterialGraphNode_5.MaterialExpressionTwoSidedSign_0"')
      MaterialExpressionEditorX=-192
      MaterialExpressionEditorY=160
      MaterialExpressionGuid=D04BBE9D4AC78CD8B7D54687D127BB2A
      Material=PreviewMaterial'"/Engine/Transient.M_Outline"'
   End Object
   MaterialExpression=MaterialExpressionOneMinus'"MaterialExpressionOneMinus_0"'
   NodePosX=-192
   NodePosY=160
   NodeGuid=2C4F338E4C76D327EE337999830CF892
   CustomProperties Pin (PinId=EE1BF82448DB0980EF8218B846ADE6FE,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,PinType.bIsUObjectWrapper=False,LinkedTo=(MaterialGraphNode_5 664865DB40EECCBF675902A4ED181EDB,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
   CustomProperties Pin (PinId=E82E21924F26D77E9334818F790DED17,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,PinType.bIsUObjectWrapper=False,LinkedTo=(MaterialGraphNode_Root_0 91E7647D4E61205184804DBEBEAF4B1E,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_2"
   Begin Object Class=/Script/Engine.MaterialExpressionMultiply Name="MaterialExpressionMultiply_0"
   End Object
   Begin Object Name="MaterialExpressionMultiply_0"
      A=(Expression=MaterialExpressionVertexNormalWS'"MaterialGraphNode_4.MaterialExpressionVertexNormalWS_0"')
      B=(Expression=MaterialExpressionMultiply'"MaterialGraphNode_9.MaterialExpressionMultiply_1"')
      MaterialExpressionEditorX=-128
      MaterialExpressionEditorY=288
      MaterialExpressionGuid=2E5B380A4A9CA548070CF591515AEA0A
      Material=PreviewMaterial'"/Engine/Transient.M_Outline"'
   End Object
   MaterialExpression=MaterialExpressionMultiply'"MaterialExpressionMultiply_0"'
   NodePosX=-128
   NodePosY=288
   NodeGuid=E56F166440510FE0BFEFCBA812B0336A
   CustomProperties Pin (PinId=A9F0202D46C38B93BAFE44872B1C7100,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,PinType.bIsUObjectWrapper=False,LinkedTo=(MaterialGraphNode_4 198733E845EEA8EF2977099E05C2BC84,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
   CustomProperties Pin (PinId=F94A1F654A94857D46C0C48AA76A2A8F,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,PinType.bIsUObjectWrapper=False,LinkedTo=(MaterialGraphNode_9 EBC7AA2440FAA1029A66109EADE3182E,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
   CustomProperties Pin (PinId=16525D354736C975E4E8E5B6B1FFDD8F,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,PinType.bIsUObjectWrapper=False,LinkedTo=(MaterialGraphNode_Root_0 BF40414C410E8AA7FCF75FA57C98EE2A,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_3"
   Begin Object Class=/Script/Engine.MaterialExpressionScalarParameter Name="MaterialExpressionScalarParameter_0"
   End Object
   Begin Object Name="MaterialExpressionScalarParameter_0"
      DefaultValue=0.003000
      ParameterName="size"
      ExpressionGUID=4D3FDC4744567243B981D197E23A4517
      MaterialExpressionEditorX=-448
      MaterialExpressionEditorY=384
      MaterialExpressionGuid=1CF18BCD4A8447B2A3F6288D4C0A3979
      Material=PreviewMaterial'"/Engine/Transient.M_Outline"'
   End Object
   MaterialExpression=MaterialExpressionScalarParameter'"MaterialExpressionScalarParameter_0"'
   NodePosX=-448
   NodePosY=384
   bCanRenameNode=True
   NodeGuid=880137604BE096B0DF2F949D07B604B0
   CustomProperties Pin (PinId=F29B5BC34023F075EC2253B4CE88ECC6,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,PinType.bIsUObjectWrapper=False,LinkedTo=(MaterialGraphNode_9 FE2052BC48E0280444EFC9A308DC9664,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_4"
   Begin Object Class=/Script/Engine.MaterialExpressionVertexNormalWS Name="MaterialExpressionVertexNormalWS_0"
   End Object
   Begin Object Name="MaterialExpressionVertexNormalWS_0"
      MaterialExpressionEditorX=-464
      MaterialExpressionEditorY=272
      MaterialExpressionGuid=843BDEEB420FB303240A5EBE8EDD845C
      Material=PreviewMaterial'"/Engine/Transient.M_Outline"'
   End Object
   MaterialExpression=MaterialExpressionVertexNormalWS'"MaterialExpressionVertexNormalWS_0"'
   NodePosX=-464
   NodePosY=272
   NodeGuid=AE3445E544BF4CADAE6AC6AA30EF9EF6
   CustomProperties Pin (PinId=198733E845EEA8EF2977099E05C2BC84,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,PinType.bIsUObjectWrapper=False,LinkedTo=(MaterialGraphNode_2 A9F0202D46C38B93BAFE44872B1C7100,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_5"
   Begin Object Class=/Script/Engine.MaterialExpressionTwoSidedSign Name="MaterialExpressionTwoSidedSign_0"
   End Object
   Begin Object Name="MaterialExpressionTwoSidedSign_0"
      MaterialExpressionEditorX=-384
      MaterialExpressionEditorY=160
      MaterialExpressionGuid=B371A55C49EF6B33883DE9855C1B9D4A
      Material=PreviewMaterial'"/Engine/Transient.M_Outline"'
   End Object
   MaterialExpression=MaterialExpressionTwoSidedSign'"MaterialExpressionTwoSidedSign_0"'
   NodePosX=-384
   NodePosY=160
   NodeGuid=F86CCAD94DCD6F163FB68A90B9EDE76E
   CustomProperties Pin (PinId=664865DB40EECCBF675902A4ED181EDB,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,PinType.bIsUObjectWrapper=False,LinkedTo=(MaterialGraphNode_1 EE1BF82448DB0980EF8218B846ADE6FE,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_7"
   Begin Object Class=/Script/Engine.MaterialExpressionCameraPositionWS Name="MaterialExpressionCameraPositionWS_1"
   End Object
   Begin Object Name="MaterialExpressionCameraPositionWS_1"
      MaterialExpressionEditorX=-480
      MaterialExpressionEditorY=720
      MaterialExpressionGuid=D390A86740E87B078ABF73AFBAF4C2F7
      Material=PreviewMaterial'"/Engine/Transient.M_Outline"'
   End Object
   MaterialExpression=MaterialExpressionCameraPositionWS'"MaterialExpressionCameraPositionWS_1"'
   NodePosX=-480
   NodePosY=720
   NodeGuid=67FB0E6B4392F08C6D65E2BF462DA51D
   CustomProperties Pin (PinId=BB7B0253443C84A51727EE91F8577E93,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,PinType.bIsUObjectWrapper=False,LinkedTo=(MaterialGraphNode_10 E5A5730545EE6644317A5585E5AAA44E,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_8"
   Begin Object Class=/Script/Engine.MaterialExpressionObjectPositionWS Name="MaterialExpressionObjectPositionWS_0"
   End Object
   Begin Object Name="MaterialExpressionObjectPositionWS_0"
      MaterialExpressionEditorX=-496
      MaterialExpressionEditorY=592
      MaterialExpressionGuid=9CEFE45D417D322364DDAF905B4EE0A5
      Material=PreviewMaterial'"/Engine/Transient.M_Outline"'
   End Object
   MaterialExpression=MaterialExpressionObjectPositionWS'"MaterialExpressionObjectPositionWS_0"'
   NodePosX=-496
   NodePosY=592
   NodeGuid=9C83A83046223C29D8D3C285346B51D5
   CustomProperties Pin (PinId=C70498A944D793AFE0F438B711AA0AFF,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,PinType.bIsUObjectWrapper=False,LinkedTo=(MaterialGraphNode_10 642DD2774C708CA5DE828BB23698FC09,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_9"
   Begin Object Class=/Script/Engine.MaterialExpressionMultiply Name="MaterialExpressionMultiply_1"
   End Object
   Begin Object Name="MaterialExpressionMultiply_1"
      A=(Expression=MaterialExpressionScalarParameter'"MaterialGraphNode_3.MaterialExpressionScalarParameter_0"')
      B=(Expression=MaterialExpressionDistance'"MaterialGraphNode_10.MaterialExpressionDistance_0"')
      MaterialExpressionEditorX=-256
      MaterialExpressionEditorY=352
      MaterialExpressionGuid=CB5DE67F4C2245D7B6B2A683637F9EF9
      Material=PreviewMaterial'"/Engine/Transient.M_Outline"'
   End Object
   MaterialExpression=MaterialExpressionMultiply'"MaterialExpressionMultiply_1"'
   NodePosX=-256
   NodePosY=352
   NodeGuid=B22B587649C01790770773912518E3D5
   CustomProperties Pin (PinId=FE2052BC48E0280444EFC9A308DC9664,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,PinType.bIsUObjectWrapper=False,LinkedTo=(MaterialGraphNode_3 F29B5BC34023F075EC2253B4CE88ECC6,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
   CustomProperties Pin (PinId=755445364286CA1340D376AD26DAFDD4,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,PinType.bIsUObjectWrapper=False,LinkedTo=(MaterialGraphNode_10 EAF54F024D89A93C7313A4A29C0ECEBC,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
   CustomProperties Pin (PinId=EBC7AA2440FAA1029A66109EADE3182E,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,PinType.bIsUObjectWrapper=False,LinkedTo=(MaterialGraphNode_2 F94A1F654A94857D46C0C48AA76A2A8F,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_10"
   Begin Object Class=/Script/Engine.MaterialExpressionDistance Name="MaterialExpressionDistance_0"
   End Object
   Begin Object Name="MaterialExpressionDistance_0"
      A=(Expression=MaterialExpressionObjectPositionWS'"MaterialGraphNode_8.MaterialExpressionObjectPositionWS_0"')
      B=(Expression=MaterialExpressionCameraPositionWS'"MaterialGraphNode_7.MaterialExpressionCameraPositionWS_1"')
      MaterialExpressionEditorX=-320
      MaterialExpressionEditorY=544
      MaterialExpressionGuid=FBF6585A49C1AE5D75CDCCAA7C18E3CA
      Material=PreviewMaterial'"/Engine/Transient.M_Outline"'
   End Object
   MaterialExpression=MaterialExpressionDistance'"MaterialExpressionDistance_0"'
   NodePosX=-320
   NodePosY=544
   NodeGuid=858FD5E040DB12F6EBAF60835E0E32B2
   CustomProperties Pin (PinId=642DD2774C708CA5DE828BB23698FC09,PinName="A",PinType.PinCategory="required",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,LinkedTo=(MaterialGraphNode_8 C70498A944D793AFE0F438B711AA0AFF,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
   CustomProperties Pin (PinId=E5A5730545EE6644317A5585E5AAA44E,PinName="B",PinType.PinCategory="required",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,LinkedTo=(MaterialGraphNode_7 BB7B0253443C84A51727EE91F8577E93,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
   CustomProperties Pin (PinId=EAF54F024D89A93C7313A4A29C0ECEBC,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,PinType.bIsUObjectWrapper=False,LinkedTo=(MaterialGraphNode_9 755445364286CA1340D376AD26DAFDD4,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object

 

 

https://forums.unrealengine.com/t/multi-pass-shaders-in-ue4/74820

 

Multi-Pass shaders in UE4

Hi, I am rather new to UE4, comming from Unity. How do I make multi-pass shaders? I can’t find any option for this in material editor. Thanks!

forums.unrealengine.com

셋 마스터포즈?