Hi, I’ve managed to get ARKit working on official ios11 and xcode 9 using 4.18 P1 on iphone 6s however the camera feed now has a red tint to it, could any of the devs give any pointers in getting the camera to show as ‘normal’? Steps were: Creating an unlit 2-sided material using the ARKit Passthrough Camera node (Texture Y and const coord 0), using a regular camera component in my pawn and have enabled ‘Start in ar’ option from project settings. Thx.
Hello darinsmyth,
Thank you for reporting this issue. We’ll be investigating this issue and respond here if we need anymore information, which will likely lead to wanting you to create an Answerhub post for further correspondence.
No problem
Do you mind telling me how you got it to work?
I deleted the ARKitCamera and the texture, from 4.17.
In 4.18 I now export to iphone and run the app, but I see a white background instead of camera feed and can not move the camera…
-EDIT UPDATE This has now been updated after fixes below so the camera should now work fine!! Thanks to Skyphyr and Omigamedev
This gets ARKit camera working with ios 11 and xcode 9 official versions.
Install 4.18 Preview 1.
Create new project -> blank -> set it to mobile, no starter content, scaleable 2d/3d
Apple ARKit plugin should be enabled as default but just double check under plugins.
Setup IOS so your provision/certificate are present. Setup bundle display/name/identifier
Change minimum ios version to IOS 11, I’ve kept Metal v1.2, Frame rate lock to 60fps
Under Project settings enable ‘Start in AR’
Under Additional Plist data add this: <key>NSCameraUsageDescription</key> <string>This application will use the camera for AR</string>
Restart if prompted
Enable Show Engine Content and Show Plugin Content from the view options in Content browser
In your game world you should have a Directional Light (mine set to static)
Create a new Blueprint of type pawn and add a camera component to it. Go to the Camera component details->Rendering Features -> Post Processing Material, where it says Array click on the +, from the dropdown Choose ->Asset Reference, click on none, now in Browse type in ARKitCameraMaterial, select this.
Click compile
Now add this Pawn to your world at position 0,0,0
Build lighting if necessary.
Connect your iphone/ipad and Launch
Game should start with camera now functioning.
It works, just as you said. Thank you! And you may be “happy” to hear, that my camera display is also red.
Hi all,
So I’ve put together a fix for the red camera issue - not the most efficient way probably, but I didn’t want to spend too long on what will likely be a temp solution. Problem summary is the camera feed comes as YCbCr, Unreal pushes it through in two separate parts - that is, you need to look up the ARKit camera feed twice, setting one to Type Y, the other to Type CbCr, then you need to convert between the two.
The material setup is here (still not sure if Screen Position is ideal across all devices, haven’t looked at the sample to check yet).
Then I’ve thrown together a quick material function to convert from YCbCr to RGB. That’s below.
Once you’ve done this, just use that material as you would the other, and you’ve got RGB camera feed. I’ll paste the material function nodes below so you can hopefully copy paste, rather than having to rebuild.
Cheers,
Alan.
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_91"
Begin Object Class=/Script/Engine.MaterialExpressionFunctionOutput Name="MaterialExpressionFunctionOutput_0"
End Object
Begin Object Name="MaterialExpressionFunctionOutput_0"
A=(Expression=MaterialExpressionAppendVector'MaterialGraphNode_101.MaterialExpressionAppendVector_1')
bLastPreviewed=True
Id=4671B52C4F5A3E208A5206AA27C127A2
MaterialExpressionEditorX=1008
MaterialExpressionEditorY=384
MaterialExpressionGuid=91DD571A4E93BC8EF78D6499EA29AD34
Material=Material'/Engine/Transient.Material_8'
End Object
MaterialExpression=MaterialExpressionFunctionOutput'MaterialExpressionFunctionOutput_0'
NodePosX=1008
NodePosY=384
NodeGuid=3FBE888947555F75D12E11BAA857547D
CustomProperties Pin (PinId=8CC779BF40E56BF29AD78BAE93C05DE3,PinName="Input",PinFriendlyName=" ",PinType.PinCategory="required",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_101 6BE3D1F94B92CE440DAC66A0DA7102B8,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=48BFA3F44036F48EA95A25B4BD431A16,PinName="Output",PinFriendlyName=" ",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=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_93"
Begin Object Class=/Script/Engine.MaterialExpressionMultiply Name="MaterialExpressionMultiply_0"
End Object
Begin Object Name="MaterialExpressionMultiply_0"
A=(Expression=MaterialExpressionFunctionInput'MaterialGraphNode_115.MaterialExpressionFunctionInput_0')
B=(Expression=MaterialExpressionDivide'MaterialGraphNode_94.MaterialExpressionDivide_0')
MaterialExpressionEditorX=-11
MaterialExpressionEditorY=345
MaterialExpressionGuid=A8866BBD41A46DBCFE3FE297FCBD72F7
Material=Material'/Engine/Transient.Material_8'
End Object
MaterialExpression=MaterialExpressionMultiply'MaterialExpressionMultiply_0'
NodePosX=-11
NodePosY=345
NodeGuid=738B4ACC472F6F4575BC85A5F1EB1F6E
CustomProperties Pin (PinId=8CFF883B41F0B21636E255A920D94C0D,PinName="A",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_115 4D10110547A29E82444449949581F986,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=A127438141228C95E04525ACCD324272,PinName="B",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_94 0FD260764079599BA87B5D87030064C5,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=BC7161CB45809DC696BD4093661D2DE0,PinName="Output",PinFriendlyName=" ",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_97 A12A2132429C8E97925753A6E158DDCB,MaterialGraphNode_104 D6196DCF426830789EEE259007623D21,MaterialGraphNode_110 3BC9931143D12E1CEFB7208AE5DAE471,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_94"
Begin Object Class=/Script/Engine.MaterialExpressionDivide Name="MaterialExpressionDivide_0"
End Object
Begin Object Name="MaterialExpressionDivide_0"
ConstA=298.082001
ConstB=256.000000
MaterialExpressionEditorX=-240
MaterialExpressionEditorY=400
MaterialExpressionGuid=44C2DD6F453D07F1A7B3F0840702EEBE
Material=Material'/Engine/Transient.Material_8'
End Object
MaterialExpression=MaterialExpressionDivide'MaterialExpressionDivide_0'
NodePosX=-240
NodePosY=400
NodeGuid=DAE6A87142224B3C7768408D8A9F472F
CustomProperties Pin (PinId=7D63FB434B1F2EEB47FE9297668EE485,PinName="A",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsArray=False,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=8D3A95D14F67340208A6C194227D0B3E,PinName="B",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsArray=False,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=0FD260764079599BA87B5D87030064C5,PinName="Output",PinFriendlyName=" ",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_93 A127438141228C95E04525ACCD324272,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_95"
Begin Object Class=/Script/Engine.MaterialExpressionMultiply Name="MaterialExpressionMultiply_1"
End Object
Begin Object Name="MaterialExpressionMultiply_1"
A=(Expression=MaterialExpressionComponentMask'MaterialGraphNode_118.MaterialExpressionComponentMask_1')
B=(Expression=MaterialExpressionDivide'MaterialGraphNode_96.MaterialExpressionDivide_1')
MaterialExpressionEditorX=32
MaterialExpressionEditorY=464
MaterialExpressionGuid=3F2A73B643EBC11E87A712856DA9A619
Material=Material'/Engine/Transient.Material_8'
End Object
MaterialExpression=MaterialExpressionMultiply'MaterialExpressionMultiply_1'
NodePosX=32
NodePosY=464
NodeGuid=94C5E17D47B9FBB8F9747EB12A4BE80D
CustomProperties Pin (PinId=97D63ADC492585FCBBAD2685B6EDA46A,PinName="A",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_118 A24BFEA547414D2E5E2BED9631545B4D,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=84290259468548EDC3F954894A64A3DD,PinName="B",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_96 6FF0C498456979491F7CC1844E1137DA,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=7D5CB46C465ECC57ACB931ADE12A3000,PinName="Output",PinFriendlyName=" ",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_97 E6A72A3C4AC8F0FDBC67ACAE9A03FF3E,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_96"
Begin Object Class=/Script/Engine.MaterialExpressionDivide Name="MaterialExpressionDivide_1"
End Object
Begin Object Name="MaterialExpressionDivide_1"
ConstA=408.583008
ConstB=256.000000
MaterialExpressionEditorX=-160
MaterialExpressionEditorY=544
MaterialExpressionGuid=444F34B142621AE8832CB69150902401
Material=Material'/Engine/Transient.Material_8'
End Object
MaterialExpression=MaterialExpressionDivide'MaterialExpressionDivide_1'
NodePosX=-160
NodePosY=544
NodeGuid=99F5582140D980BC0B292F80616DB472
CustomProperties Pin (PinId=96075A3E4CE62E32EBB2FF8783C8A5BF,PinName="A",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsArray=False,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=BCDE7C5B4AC3AB1F9F112B8E47270563,PinName="B",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsArray=False,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=6FF0C498456979491F7CC1844E1137DA,PinName="Output",PinFriendlyName=" ",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_95 84290259468548EDC3F954894A64A3DD,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_97"
Begin Object Class=/Script/Engine.MaterialExpressionAdd Name="MaterialExpressionAdd_0"
End Object
Begin Object Name="MaterialExpressionAdd_0"
A=(Expression=MaterialExpressionMultiply'MaterialGraphNode_93.MaterialExpressionMultiply_0')
B=(Expression=MaterialExpressionMultiply'MaterialGraphNode_95.MaterialExpressionMultiply_1')
MaterialExpressionEditorX=160
MaterialExpressionEditorY=384
MaterialExpressionGuid=B44E191E4D7BF8250BFC5E9F2D63A67A
Material=Material'/Engine/Transient.Material_8'
End Object
MaterialExpression=MaterialExpressionAdd'MaterialExpressionAdd_0'
NodePosX=160
NodePosY=384
NodeGuid=2581C25742C7555E6ACEC8AA39386F66
CustomProperties Pin (PinId=A12A2132429C8E97925753A6E158DDCB,PinName="A",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_93 BC7161CB45809DC696BD4093661D2DE0,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=E6A72A3C4AC8F0FDBC67ACAE9A03FF3E,PinName="B",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_95 7D5CB46C465ECC57ACB931ADE12A3000,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=59D26B334FDB2C66744E11BE246468B6,PinName="Output",PinFriendlyName=" ",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_98 DD6E3FF4438B3581D1ABCC9838CABF0D,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_98"
Begin Object Class=/Script/Engine.MaterialExpressionSubtract Name="MaterialExpressionSubtract_0"
End Object
Begin Object Name="MaterialExpressionSubtract_0"
A=(Expression=MaterialExpressionAdd'MaterialGraphNode_97.MaterialExpressionAdd_0')
B=(Expression=MaterialExpressionDivide'MaterialGraphNode_99.MaterialExpressionDivide_2')
ConstB=222.921005
MaterialExpressionEditorX=352
MaterialExpressionEditorY=400
MaterialExpressionGuid=EB4DE36A462227B633ABC3BC476B4203
Material=Material'/Engine/Transient.Material_8'
Desc="R"
bCommentBubbleVisible=True
End Object
MaterialExpression=MaterialExpressionSubtract'MaterialExpressionSubtract_0'
NodePosX=352
NodePosY=400
bCommentBubbleVisible=True
NodeComment="R"
NodeGuid=F0E2819B4E8C77D9D5AE0CBBBE87CF8F
CustomProperties Pin (PinId=DD6E3FF4438B3581D1ABCC9838CABF0D,PinName="A",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_97 59D26B334FDB2C66744E11BE246468B6,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=6CF1164A4B6F37DD3211339543EE2605,PinName="B",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_99 B67F0A3F45139F9B5906BF96B71CA51A,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=D8E0EF1543030B3F324773B9962F6EBE,PinName="Output",PinFriendlyName=" ",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_100 D25C74C741F0B7768BEC49ABE26D94D4,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_99"
Begin Object Class=/Script/Engine.MaterialExpressionDivide Name="MaterialExpressionDivide_2"
End Object
Begin Object Name="MaterialExpressionDivide_2"
ConstA=222.921005
ConstB=256.000000
MaterialExpressionEditorX=176
MaterialExpressionEditorY=480
MaterialExpressionGuid=AC2889A4487112FE07E57384CF0FCAFA
Material=Material'/Engine/Transient.Material_8'
End Object
MaterialExpression=MaterialExpressionDivide'MaterialExpressionDivide_2'
NodePosX=176
NodePosY=480
NodeGuid=5948D2BF4E86EE62488EFA8F044410E9
CustomProperties Pin (PinId=848596F64D3E3704D3C7BF87D950C5B3,PinName="A",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsArray=False,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=4F21420646F1A91BDC41729EF721125E,PinName="B",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsArray=False,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=B67F0A3F45139F9B5906BF96B71CA51A,PinName="Output",PinFriendlyName=" ",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_98 6CF1164A4B6F37DD3211339543EE2605,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_100"
Begin Object Class=/Script/Engine.MaterialExpressionAppendVector Name="MaterialExpressionAppendVector_0"
End Object
Begin Object Name="MaterialExpressionAppendVector_0"
A=(Expression=MaterialExpressionSubtract'MaterialGraphNode_98.MaterialExpressionSubtract_0')
B=(Expression=MaterialExpressionAdd'MaterialGraphNode_108.MaterialExpressionAdd_1')
MaterialExpressionEditorX=704
MaterialExpressionEditorY=416
MaterialExpressionGuid=AC0A57724AD631869069E0BEFD7BA459
Material=Material'/Engine/Transient.Material_8'
End Object
MaterialExpression=MaterialExpressionAppendVector'MaterialExpressionAppendVector_0'
NodePosX=704
NodePosY=416
NodeGuid=4562831846222DCAEE75EB8A7D0A93DF
CustomProperties Pin (PinId=D25C74C741F0B7768BEC49ABE26D94D4,PinName="A",PinType.PinCategory="required",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_98 D8E0EF1543030B3F324773B9962F6EBE,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=21834053423B75DB595B6588AF6676B4,PinName="B",PinType.PinCategory="required",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_108 21AFE7394573AEEA8B72AF83F02AF08D,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=A7F679C64347AA7B679A53B720087A9E,PinName="Output",PinFriendlyName=" ",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_101 A6F0CAFE48B78212CF4E15B8EB85F7FA,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_101"
Begin Object Class=/Script/Engine.MaterialExpressionAppendVector Name="MaterialExpressionAppendVector_1"
End Object
Begin Object Name="MaterialExpressionAppendVector_1"
A=(Expression=MaterialExpressionAppendVector'MaterialGraphNode_100.MaterialExpressionAppendVector_0')
B=(Expression=MaterialExpressionSubtract'MaterialGraphNode_113.MaterialExpressionSubtract_3')
MaterialExpressionEditorX=880
MaterialExpressionEditorY=480
MaterialExpressionGuid=97F584B54F4AFB8861CA4A8D9B2F4FAA
Material=Material'/Engine/Transient.Material_8'
End Object
MaterialExpression=MaterialExpressionAppendVector'MaterialExpressionAppendVector_1'
NodePosX=880
NodePosY=480
NodeGuid=625EAF864E5B9554CBBD919F39719512
CustomProperties Pin (PinId=A6F0CAFE48B78212CF4E15B8EB85F7FA,PinName="A",PinType.PinCategory="required",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_100 A7F679C64347AA7B679A53B720087A9E,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=A64AF908463263FD1B4A77A2A7A5AAAB,PinName="B",PinType.PinCategory="required",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_113 69AB6E3140375791CCD7ADACC7DE6D0C,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=6BE3D1F94B92CE440DAC66A0DA7102B8,PinName="Output",PinFriendlyName=" ",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_91 8CC779BF40E56BF29AD78BAE93C05DE3,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_102"
Begin Object Class=/Script/Engine.MaterialExpressionMultiply Name="MaterialExpressionMultiply_2"
End Object
Begin Object Name="MaterialExpressionMultiply_2"
A=(Expression=MaterialExpressionComponentMask'MaterialGraphNode_117.MaterialExpressionComponentMask_0')
B=(Expression=MaterialExpressionDivide'MaterialGraphNode_103.MaterialExpressionDivide_3')
MaterialExpressionEditorY=640
MaterialExpressionGuid=E1190E224BFF60C32B64AAB7DEC5C69C
Material=Material'/Engine/Transient.Material_8'
End Object
MaterialExpression=MaterialExpressionMultiply'MaterialExpressionMultiply_2'
NodePosY=640
NodeGuid=B1E15E0B4747439A217D7688E15974FB
CustomProperties Pin (PinId=B2DDD02C4D2766CFB1FE59BDC006749A,PinName="A",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_117 0E92EB2D4A3225390A7020AE842091EF,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=3B08E08F44413FFB5489A0AC327F7210,PinName="B",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_103 4E0AFE684AA35E9C01D0EDBE43847B5D,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=C6AD5E1546B691BB82D0668D99A71E8D,PinName="Output",PinFriendlyName=" ",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_104 C53335AB4592BBABDE05D3895DF1356D,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_103"
Begin Object Class=/Script/Engine.MaterialExpressionDivide Name="MaterialExpressionDivide_3"
End Object
Begin Object Name="MaterialExpressionDivide_3"
ConstA=100.291000
ConstB=256.000000
MaterialExpressionEditorX=-160
MaterialExpressionEditorY=752
MaterialExpressionGuid=D15ABA004ED2A1B968FA3385C07EAA9B
Material=Material'/Engine/Transient.Material_8'
End Object
MaterialExpression=MaterialExpressionDivide'MaterialExpressionDivide_3'
NodePosX=-160
NodePosY=752
NodeGuid=AA5119944C34B3E96665269BB7D3AFEA
CustomProperties Pin (PinId=1166F5044EFBF4A87F3811962D2EB5B4,PinName="A",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsArray=False,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=59F79A634307F7EAC07FA4A257B46520,PinName="B",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsArray=False,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=4E0AFE684AA35E9C01D0EDBE43847B5D,PinName="Output",PinFriendlyName=" ",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_102 3B08E08F44413FFB5489A0AC327F7210,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_104"
Begin Object Class=/Script/Engine.MaterialExpressionSubtract Name="MaterialExpressionSubtract_1"
End Object
Begin Object Name="MaterialExpressionSubtract_1"
A=(Expression=MaterialExpressionMultiply'MaterialGraphNode_93.MaterialExpressionMultiply_0')
B=(Expression=MaterialExpressionMultiply'MaterialGraphNode_102.MaterialExpressionMultiply_2')
MaterialExpressionEditorX=128
MaterialExpressionEditorY=608
MaterialExpressionGuid=F202B5EE437029E32FB935BC79FC46FB
Material=Material'/Engine/Transient.Material_8'
End Object
MaterialExpression=MaterialExpressionSubtract'MaterialExpressionSubtract_1'
NodePosX=128
NodePosY=608
NodeGuid=FB40E12841A70E3A7057AB8D8252CD2E
CustomProperties Pin (PinId=D6196DCF426830789EEE259007623D21,PinName="A",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_93 BC7161CB45809DC696BD4093661D2DE0,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=C53335AB4592BBABDE05D3895DF1356D,PinName="B",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_102 C6AD5E1546B691BB82D0668D99A71E8D,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=EC17B65B40CF76BDB3E674AEFBA1774D,PinName="Output",PinFriendlyName=" ",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_107 4A77C983454476B2C3EDE8879C41BC8E,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_105"
Begin Object Class=/Script/Engine.MaterialExpressionDivide Name="MaterialExpressionDivide_4"
End Object
Begin Object Name="MaterialExpressionDivide_4"
ConstA=208.119995
ConstB=256.000000
MaterialExpressionEditorX=16
MaterialExpressionEditorY=832
MaterialExpressionGuid=444F34B142621AE8832CB69150902401
Material=Material'/Engine/Transient.Material_8'
End Object
MaterialExpression=MaterialExpressionDivide'MaterialExpressionDivide_4'
NodePosX=16
NodePosY=832
NodeGuid=869BC56A4521650E436A18B5B185FCBB
CustomProperties Pin (PinId=D9E022E344B701848D42BC94E85D43A8,PinName="A",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsArray=False,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=BA05EA4449034BB088698292AFA08528,PinName="B",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsArray=False,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=37640F9B492C8E2819EBA69FAE8AE53B,PinName="Output",PinFriendlyName=" ",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_106 4AA6BD654772D20F75CD1CB81A27B221,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_106"
Begin Object Class=/Script/Engine.MaterialExpressionMultiply Name="MaterialExpressionMultiply_3"
End Object
Begin Object Name="MaterialExpressionMultiply_3"
A=(Expression=MaterialExpressionComponentMask'MaterialGraphNode_118.MaterialExpressionComponentMask_1')
B=(Expression=MaterialExpressionDivide'MaterialGraphNode_105.MaterialExpressionDivide_4')
MaterialExpressionEditorX=176
MaterialExpressionEditorY=736
MaterialExpressionGuid=3F2A73B643EBC11E87A712856DA9A619
Material=Material'/Engine/Transient.Material_8'
End Object
MaterialExpression=MaterialExpressionMultiply'MaterialExpressionMultiply_3'
NodePosX=176
NodePosY=736
NodeGuid=D8404C934A7AB328B6064985EDFBC01A
CustomProperties Pin (PinId=ABB91BA141085DC025ADA5A66FFA236C,PinName="A",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_118 A24BFEA547414D2E5E2BED9631545B4D,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=4AA6BD654772D20F75CD1CB81A27B221,PinName="B",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_105 37640F9B492C8E2819EBA69FAE8AE53B,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=7055E2A24FD00CC31D7BB7ACBB4D692D,PinName="Output",PinFriendlyName=" ",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_107 BD79088040D98521815FCF8435910C80,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_107"
Begin Object Class=/Script/Engine.MaterialExpressionSubtract Name="MaterialExpressionSubtract_2"
End Object
Begin Object Name="MaterialExpressionSubtract_2"
A=(Expression=MaterialExpressionSubtract'MaterialGraphNode_104.MaterialExpressionSubtract_1')
B=(Expression=MaterialExpressionMultiply'MaterialGraphNode_106.MaterialExpressionMultiply_3')
MaterialExpressionEditorX=304
MaterialExpressionEditorY=640
MaterialExpressionGuid=E925B4E04022ABBC525371AF72AA0497
Material=Material'/Engine/Transient.Material_8'
End Object
MaterialExpression=MaterialExpressionSubtract'MaterialExpressionSubtract_2'
NodePosX=304
NodePosY=640
NodeGuid=C80752E54F94E0D61C20CEA12E1BBFF9
CustomProperties Pin (PinId=4A77C983454476B2C3EDE8879C41BC8E,PinName="A",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_104 EC17B65B40CF76BDB3E674AEFBA1774D,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=BD79088040D98521815FCF8435910C80,PinName="B",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_106 7055E2A24FD00CC31D7BB7ACBB4D692D,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=E5EC8C834D10271B5F8F6F84EFDC17FF,PinName="Output",PinFriendlyName=" ",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_108 845060C744301483EB1520B53530F4DC,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_108"
Begin Object Class=/Script/Engine.MaterialExpressionAdd Name="MaterialExpressionAdd_1"
End Object
Begin Object Name="MaterialExpressionAdd_1"
A=(Expression=MaterialExpressionSubtract'MaterialGraphNode_107.MaterialExpressionSubtract_2')
B=(Expression=MaterialExpressionDivide'MaterialGraphNode_109.MaterialExpressionDivide_5')
MaterialExpressionEditorX=464
MaterialExpressionEditorY=656
MaterialExpressionGuid=4069AE8946740AB1BE347491717B6D1F
Material=Material'/Engine/Transient.Material_8'
Desc="G"
bCommentBubbleVisible=True
End Object
MaterialExpression=MaterialExpressionAdd'MaterialExpressionAdd_1'
NodePosX=464
NodePosY=656
bCommentBubbleVisible=True
NodeComment="G"
NodeGuid=1845D56E4979AE1733F1FAB9D46F15B6
CustomProperties Pin (PinId=845060C744301483EB1520B53530F4DC,PinName="A",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_107 E5EC8C834D10271B5F8F6F84EFDC17FF,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=33013B114CE300545BA94B8D1EC49274,PinName="B",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_109 9AE3F07441B67B0B13EF8CBC3617AF1F,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=21AFE7394573AEEA8B72AF83F02AF08D,PinName="Output",PinFriendlyName=" ",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_100 21834053423B75DB595B6588AF6676B4,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_109"
Begin Object Class=/Script/Engine.MaterialExpressionDivide Name="MaterialExpressionDivide_5"
End Object
Begin Object Name="MaterialExpressionDivide_5"
ConstA=135.576004
ConstB=256.000000
MaterialExpressionEditorX=352
MaterialExpressionEditorY=768
MaterialExpressionGuid=40B80AAD41098F157E8443816E90CE02
Material=Material'/Engine/Transient.Material_8'
End Object
MaterialExpression=MaterialExpressionDivide'MaterialExpressionDivide_5'
NodePosX=352
NodePosY=768
NodeGuid=1AE500D8472F91A05D149EBA0BAB1F25
CustomProperties Pin (PinId=918F5A4048B4D79418ED88AABD4AD838,PinName="A",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsArray=False,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=9420115F4005A20542C355BF51B1198B,PinName="B",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsArray=False,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=9AE3F07441B67B0B13EF8CBC3617AF1F,PinName="Output",PinFriendlyName=" ",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_108 33013B114CE300545BA94B8D1EC49274,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_110"
Begin Object Class=/Script/Engine.MaterialExpressionAdd Name="MaterialExpressionAdd_2"
End Object
Begin Object Name="MaterialExpressionAdd_2"
A=(Expression=MaterialExpressionMultiply'MaterialGraphNode_93.MaterialExpressionMultiply_0')
B=(Expression=MaterialExpressionMultiply'MaterialGraphNode_111.MaterialExpressionMultiply_4')
MaterialExpressionEditorX=256
MaterialExpressionEditorY=960
MaterialExpressionGuid=733D3E3140E810560A60829729418924
Material=Material'/Engine/Transient.Material_8'
End Object
MaterialExpression=MaterialExpressionAdd'MaterialExpressionAdd_2'
NodePosX=256
NodePosY=960
NodeGuid=41C0BE9248D486108DB61198FFC6CE1C
CustomProperties Pin (PinId=3BC9931143D12E1CEFB7208AE5DAE471,PinName="A",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_93 BC7161CB45809DC696BD4093661D2DE0,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=88BBE0E44D71B557B344F0AC538D0023,PinName="B",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_111 DFFA7BEC40F5176272B1498D25C3254F,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=D85A24F44C3C8551BFAFD4995DA2D8B7,PinName="Output",PinFriendlyName=" ",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_113 866604A1452E3B01F451B986E9B03B73,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_111"
Begin Object Class=/Script/Engine.MaterialExpressionMultiply Name="MaterialExpressionMultiply_4"
End Object
Begin Object Name="MaterialExpressionMultiply_4"
A=(Expression=MaterialExpressionComponentMask'MaterialGraphNode_117.MaterialExpressionComponentMask_0')
B=(Expression=MaterialExpressionDivide'MaterialGraphNode_112.MaterialExpressionDivide_6')
MaterialExpressionEditorX=64
MaterialExpressionEditorY=1040
MaterialExpressionGuid=4C6DCFBD4DE377D7454BE8B1E2924F51
Material=Material'/Engine/Transient.Material_8'
End Object
MaterialExpression=MaterialExpressionMultiply'MaterialExpressionMultiply_4'
NodePosX=64
NodePosY=1040
NodeGuid=71461EE6480428AFD60A86BC16786C8A
CustomProperties Pin (PinId=CA64B5AE4158D4D30EC9C381A56E6348,PinName="A",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_117 0E92EB2D4A3225390A7020AE842091EF,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=D7968E3C40685E01F109E5B4189B7864,PinName="B",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_112 887EE56D4E977E198B05D9965D0BF2E5,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=DFFA7BEC40F5176272B1498D25C3254F,PinName="Output",PinFriendlyName=" ",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_110 88BBE0E44D71B557B344F0AC538D0023,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_112"
Begin Object Class=/Script/Engine.MaterialExpressionDivide Name="MaterialExpressionDivide_6"
End Object
Begin Object Name="MaterialExpressionDivide_6"
ConstA=516.411987
ConstB=256.000000
MaterialExpressionEditorX=-112
MaterialExpressionEditorY=1104
MaterialExpressionGuid=9263A3154E95E45C4D6379953DEAFBF5
Material=Material'/Engine/Transient.Material_8'
End Object
MaterialExpression=MaterialExpressionDivide'MaterialExpressionDivide_6'
NodePosX=-112
NodePosY=1104
NodeGuid=0FA5E7984A4C7B6BF89E5CBC4C02ACA1
CustomProperties Pin (PinId=811CF63342ED236562DED5A928926D77,PinName="A",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsArray=False,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=8286CCEE4D0A1155C4A271BB9A648FE2,PinName="B",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsArray=False,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=887EE56D4E977E198B05D9965D0BF2E5,PinName="Output",PinFriendlyName=" ",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_111 D7968E3C40685E01F109E5B4189B7864,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_113"
Begin Object Class=/Script/Engine.MaterialExpressionSubtract Name="MaterialExpressionSubtract_3"
End Object
Begin Object Name="MaterialExpressionSubtract_3"
A=(Expression=MaterialExpressionAdd'MaterialGraphNode_110.MaterialExpressionAdd_2')
B=(Expression=MaterialExpressionDivide'MaterialGraphNode_114.MaterialExpressionDivide_7')
MaterialExpressionEditorX=495
MaterialExpressionEditorY=974
MaterialExpressionGuid=29E196214DE6F0E952050C88BF3C2254
Material=Material'/Engine/Transient.Material_8'
Desc="B"
bCommentBubbleVisible=True
End Object
MaterialExpression=MaterialExpressionSubtract'MaterialExpressionSubtract_3'
NodePosX=495
NodePosY=974
bCommentBubbleVisible=True
NodeComment="B"
NodeGuid=C20562A4465538DAF8866C9E0AE4B508
CustomProperties Pin (PinId=866604A1452E3B01F451B986E9B03B73,PinName="A",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_110 D85A24F44C3C8551BFAFD4995DA2D8B7,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=EBA5A1D04094710AD8FB259A0A621F41,PinName="B",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_114 2A67E93E4E72F1D8F22C2EA169B8D0D8,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=69AB6E3140375791CCD7ADACC7DE6D0C,PinName="Output",PinFriendlyName=" ",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_101 A64AF908463263FD1B4A77A2A7A5AAAB,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_114"
Begin Object Class=/Script/Engine.MaterialExpressionDivide Name="MaterialExpressionDivide_7"
End Object
Begin Object Name="MaterialExpressionDivide_7"
ConstA=276.835999
ConstB=256.000000
MaterialExpressionEditorX=320
MaterialExpressionEditorY=1088
MaterialExpressionGuid=50A31AEB43809664F68F02840E7D42D5
Material=Material'/Engine/Transient.Material_8'
End Object
MaterialExpression=MaterialExpressionDivide'MaterialExpressionDivide_7'
NodePosX=320
NodePosY=1088
NodeGuid=AD3F300C41359F9F0CD727AFF25D0F7B
CustomProperties Pin (PinId=A46605494AB8544462EEC580A6CDB0C2,PinName="A",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsArray=False,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=62BE75E041CA786D464D2FA0958758B7,PinName="B",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsArray=False,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=2A67E93E4E72F1D8F22C2EA169B8D0D8,PinName="Output",PinFriendlyName=" ",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_113 EBA5A1D04094710AD8FB259A0A621F41,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_115"
Begin Object Class=/Script/Engine.MaterialExpressionFunctionInput Name="MaterialExpressionFunctionInput_0"
End Object
Begin Object Name="MaterialExpressionFunctionInput_0"
InputName="Y"
Id=D1FC75DF4A7D611312074B8B127567DA
InputType=FunctionInput_Scalar
PreviewValue=(X=1.000000,Y=0.000000,Z=0.000000,W=1.000000)
MaterialExpressionEditorX=-608
MaterialExpressionEditorY=288
MaterialExpressionGuid=A25A5C5749A5456B75CA7894F7F65FF9
Material=Material'/Engine/Transient.Material_8'
Desc="Y"
bCommentBubbleVisible=True
End Object
MaterialExpression=MaterialExpressionFunctionInput'MaterialExpressionFunctionInput_0'
NodePosX=-608
NodePosY=288
bCommentBubbleVisible=True
NodeComment="Y"
NodeGuid=6D3BEAA54EFA1BB523FB7FB75151CA08
CustomProperties Pin (PinId=B71A0BE040E1A551C2F1CBA74A1CE875,PinName="Preview",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsArray=False,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=4D10110547A29E82444449949581F986,PinName="Output",PinFriendlyName=" ",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_93 8CFF883B41F0B21636E255A920D94C0D,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_116"
Begin Object Class=/Script/Engine.MaterialExpressionFunctionInput Name="MaterialExpressionFunctionInput_1"
End Object
Begin Object Name="MaterialExpressionFunctionInput_1"
InputName="CbCr"
Id=210D47C8432EA79E0373C09A338C0060
InputType=FunctionInput_Vector2
PreviewValue=(X=0.500000,Y=0.500000,Z=0.000000,W=1.000000)
SortPriority=1
MaterialExpressionEditorX=-608
MaterialExpressionEditorY=736
MaterialExpressionGuid=FEEFAB444CBBC6C353BA1EAA8221E9FE
Material=Material'/Engine/Transient.Material_8'
End Object
MaterialExpression=MaterialExpressionFunctionInput'MaterialExpressionFunctionInput_1'
NodePosX=-608
NodePosY=736
NodeGuid=2AC89753421C7A4F2ED49B91F508377C
CustomProperties Pin (PinId=5D9B8933404C730791F4C1B1A7246A15,PinName="Preview",PinType.PinCategory="optional",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsArray=False,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=5DD8B55146FF1AE2EBA81D86864EB04B,PinName="Output",PinFriendlyName=" ",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_117 0DE60CFC4D75EDA490136CAC20B7DEED,MaterialGraphNode_118 73D7285A4B35872C361E53BE29DC0A68,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_117"
Begin Object Class=/Script/Engine.MaterialExpressionComponentMask Name="MaterialExpressionComponentMask_0"
End Object
Begin Object Name="MaterialExpressionComponentMask_0"
Input=(Expression=MaterialExpressionFunctionInput'MaterialGraphNode_116.MaterialExpressionFunctionInput_1')
R=True
MaterialExpressionEditorX=-404
MaterialExpressionEditorY=793
MaterialExpressionGuid=C47CABED48BA8DFB5282C3B3E69E75DE
Material=Material'/Engine/Transient.Material_8'
Desc="Cb"
bCommentBubbleVisible=True
End Object
MaterialExpression=MaterialExpressionComponentMask'MaterialExpressionComponentMask_0'
NodePosX=-404
NodePosY=793
bCommentBubbleVisible=True
NodeComment="Cb"
NodeGuid=CEB16C1842D732DFFD8503A90B54AA22
CustomProperties Pin (PinId=0DE60CFC4D75EDA490136CAC20B7DEED,PinName="Input",PinFriendlyName=" ",PinType.PinCategory="required",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_116 5DD8B55146FF1AE2EBA81D86864EB04B,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=0E92EB2D4A3225390A7020AE842091EF,PinName="Output",PinFriendlyName=" ",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_102 B2DDD02C4D2766CFB1FE59BDC006749A,MaterialGraphNode_111 CA64B5AE4158D4D30EC9C381A56E6348,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/UnrealEd.MaterialGraphNode Name="MaterialGraphNode_118"
Begin Object Class=/Script/Engine.MaterialExpressionComponentMask Name="MaterialExpressionComponentMask_1"
End Object
Begin Object Name="MaterialExpressionComponentMask_1"
Input=(Expression=MaterialExpressionFunctionInput'MaterialGraphNode_116.MaterialExpressionFunctionInput_1')
G=True
MaterialExpressionEditorX=-416
MaterialExpressionEditorY=896
MaterialExpressionGuid=C47CABED48BA8DFB5282C3B3E69E75DE
Material=Material'/Engine/Transient.Material_8'
Desc="Cr"
bCommentBubbleVisible=True
End Object
MaterialExpression=MaterialExpressionComponentMask'MaterialExpressionComponentMask_1'
NodePosX=-416
NodePosY=896
bCommentBubbleVisible=True
NodeComment="Cr"
NodeGuid=0D6B42C34EDF0E7171572699016574C8
CustomProperties Pin (PinId=73D7285A4B35872C361E53BE29DC0A68,PinName="Input",PinFriendlyName=" ",PinType.PinCategory="required",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_116 5DD8B55146FF1AE2EBA81D86864EB04B,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=A24BFEA547414D2E5E2BED9631545B4D,PinName="Output",PinFriendlyName=" ",Direction="EGPD_Output",PinType.PinCategory="",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsArray=False,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,LinkedTo=(MaterialGraphNode_95 97D63ADC492585FCBBAD2685B6EDA46A,MaterialGraphNode_106 ABB91BA141085DC025ADA5A66FFA236C,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
No sure if you have noticed it but if you enable Engine and Plugins content in your Content Browser there’s a handy ARKitCameraMaterial which comes with a nice color conversion node as a matrix mul which is faster than that huge network.
This material is set as a PostProcess material so I guess it’s made to be used as a camera post process, so if you select your camera in the Pawn->Camera->Details->RenderingFeatures->PostProcessMaterial->Array and create a new element and select AssetReference then select the ARKitCameraMaterial.
It seems to work, except one thing: the FOV of the Pawn->Camera is set to 90 but the iOS camera is clearly not 90. In the code there was a blueprint function that they removed from 4.17 and made everything private in C++ (■■■■ it). Do you guys get the right behaviour?
Ahhh - perfect, thanks. They also bothered with the sRGB to linear conversion that I hadn’t done. Applying it as a post process means it blitzes everything in the scene (i.e. you only have camera passthrough, none of your objects), but grabbing their cleaner implementation is great.
As far as the FOV, I’ve not gotten far enough to see whether I’m getting correct behavior or not. I’ll let you know if I don’t
Cheers,
Alan.
It seems like setting the FOV to 60 makes it look better. Let’s hope they will fix this, but 60 is way better than 90. I’m trying to make it spawn some cubes on touch, but even thought I spawn them I can’t see them.
I was working on something like that last night using two arkit passthrough nodes and combining the Y and Cbcr base on this apple documentation:
https://developer.apple.com/documentation/arkit/displaying_an_ar_experience_with_metal
So didnt even think of searching the engine and plugin folders! Gonna give it a try now, thanks for the input!!
Thanks for pointing this out!!! Going to give it a try now
I keep testing and I just found out that there’s no need for the material, if you remove all the backgrounds (sky and box) and you leave the black it will be filled with the video feed automatically, but to me it looks quite dark, not sure why.
Yeap, no need for box with video background as previous steps in 4.17, so it seems you only need the material added to the camera post processing so i’ve updated the step above. Are you noticing flickering on lighter surfaces?
After i install 4.18p1,why i cannot see the applearcamera in the component list?
I have the same problem. Did you fix this?
** Found solution **
I had to “Fix up redirectors in folder”. Maybe it will also help you.
You do not use AppleARKitCamera in 4.18 p1, it has been removed, you just use a standard Camera component
i have the same issue too…
is there a guide on how i can spawn actors on touch in 4.18?since many ar specific nodes disappeared from 4.17
thanks a lot!
Sure.
There is a handy video on YouTube. (Getting Started With ARKit In Unreal Engine 4 - YouTube) It shows, how to spawn actors at around 12:19. Even though it was made with 4.17, it’s still usable. I attached how I did it in 4.18 preview1.
thanks for the reply.actually i have tried this, almost the same blueprint, but after i install the project on my iphone7p,if i touch on the screen nothing spawns actually.but i’m sure the nodes get called because the print string works after the trace success…i really don’t know what i’m missing…