Display ~100,000 "points" without destroying performance

Thanks, that worked. Didn’t know I had to set that.

Awesome, I’ll start working on this now, thanks for the suggestions and help.

Both of these approaches sound very interesting and promising, but I’m not completely understanding. Do you know of any other resources I can check out that do something similar to these?

Thanks for the culling explanation, very clear.

So if I spawn the ISMCs in 1000-point chunks, for 100,000 points, I would need 100 ISMCs, right? Would this not be a performance strain in general? I tried it out, and I didn’t see any performance gain during or post LIDAR sweep.


There are some ideas I’m going to explore based on the responses above, but I think I’m starting to hit a dead end with ISMCs if I can’t perform the ping/sweep with decent performance. Another issue with ISMCs seems to be that I can’t control the Material for every instance, based on what my searching has turned up. So I would be locked in to a single color for display like so:

Additionally, here’s the blueprint in case any one see anything immediately wrong or wants to experiment:





Begin Object Class=K2Node_Event Name="K2Node_Event_1312"
   Begin Object Class=EdGraphPin Name="EdGraphPin_3776"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_3777"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_3778"
   End Object
   Begin Object Name="EdGraphPin_3776"
      PinName="OutputDelegate"
      Direction=EGPD_Output
      PinType=(PinCategory="delegate",PinSubCategoryMemberReference=(MemberParent=Class'/Script/Engine.Actor',MemberName="ReceiveTick"))
   End Object
   Begin Object Name="EdGraphPin_3777"
      PinName="then"
      Direction=EGPD_Output
      PinType=(PinCategory="exec")
      LinkedTo(0)=EdGraphPin'K2Node_MacroInstance_148.EdGraphPin_62201'
   End Object
   Begin Object Name="EdGraphPin_3778"
      PinName="DeltaSeconds"
      PinToolTip="Delta Seconds
Float"
      Direction=EGPD_Output
      PinType=(PinCategory="float")
      DefaultValue="0.0"
      AutogeneratedDefaultValue="0.0"
   End Object
   EventReference=(MemberParent=Class'/Script/Engine.Actor',MemberName="ReceiveTick")
   bOverrideFunction=True
   Pins(0)=EdGraphPin'EdGraphPin_3776'
   Pins(1)=EdGraphPin'EdGraphPin_3777'
   Pins(2)=EdGraphPin'EdGraphPin_3778'
   NodePosX=5792
   NodePosY=-2928
   NodeGuid=85E8A8EF431890281A347CB12304F571
End Object
Begin Object Class=K2Node_CallFunction Name="K2Node_CallFunction_2236"
   Begin Object Class=EdGraphPin Name="EdGraphPin_60413"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60412"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60411"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60410"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60409"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60408"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60407"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60406"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60405"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60404"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60403"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60402"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60401"
   End Object
   Begin Object Name="EdGraphPin_60413"
      PinName="ReturnValue"
      PinToolTip="Return Value
Boolean

True if there was a hit, false otherwise."
      Direction=EGPD_Output
      PinType=(PinCategory="bool")
      DefaultValue="false"
      AutogeneratedDefaultValue="false"
   End Object
   Begin Object Name="EdGraphPin_60412"
      PinName="bIgnoreSelf"
      PinToolTip="Ignore Self
Boolean"
      PinType=(PinCategory="bool")
      DefaultValue="true"
      AutogeneratedDefaultValue="true"
   End Object
   Begin Object Name="EdGraphPin_60411"
      PinName="OutHit"
      PinToolTip="Out Hit
Hit Result Structure

Properties of the trace hit."
      Direction=EGPD_Output
      PinType=(PinCategory="struct",PinSubCategoryObject=ScriptStruct'/Script/Engine.HitResult')
      LinkedTo(0)=EdGraphPin'K2Node_CallFunction_3485.EdGraphPin_60483'
   End Object
   Begin Object Name="EdGraphPin_60410"
      PinName="DrawDebugType"
      PinToolTip="Draw Debug Type
EDrawDebugTrace Enum"
      PinType=(PinCategory="byte",PinSubCategoryObject=Enum'/Script/Engine.EDrawDebugTrace')
      DefaultValue="None"
   End Object
   Begin Object Name="EdGraphPin_60409"
      PinName="ActorsToIgnore"
      PinToolTip="Actors to Ignore
Array of Actor References"
      PinType=(PinCategory="object",PinSubCategoryObject=Class'/Script/Engine.Actor',bIsArray=True,bIsReference=True,bIsConst=True)
      bDefaultValueIsIgnored=True
   End Object
   Begin Object Name="EdGraphPin_60408"
      PinName="bTraceComplex"
      PinToolTip="Trace Complex
Boolean

True to test against complex collision, false to test against simplified collision."
      PinType=(PinCategory="bool")
      DefaultValue="false"
      AutogeneratedDefaultValue="false"
   End Object
   Begin Object Name="EdGraphPin_60407"
      PinName="TraceChannel"
      PinToolTip="Trace Channel
ETraceTypeQuery Enum"
      PinType=(PinCategory="byte",PinSubCategoryObject=Enum'/Script/Engine.ETraceTypeQuery')
      DefaultValue="TraceTypeQuery1"
   End Object
   Begin Object Name="EdGraphPin_60406"
      PinName="End"
      PinToolTip="End
Vector 

End of line segment."
      PinType=(PinCategory="struct",PinSubCategoryObject=ScriptStruct'/Script/CoreUObject.Vector',bIsConst=True)
      DefaultValue="0, 0, 0"
      AutogeneratedDefaultValue="0, 0, 0"
      LinkedTo(0)=EdGraphPin'K2Node_CommutativeAssociativeBinaryOperator_185.EdGraphPin_60473'
   End Object
   Begin Object Name="EdGraphPin_60405"
      PinName="Start"
      PinToolTip="Start
Vector 

Start of line segment."
      PinType=(PinCategory="struct",PinSubCategoryObject=ScriptStruct'/Script/CoreUObject.Vector',bIsConst=True)
      DefaultValue="0, 0, 0"
      AutogeneratedDefaultValue="0, 0, 0"
      LinkedTo(0)=EdGraphPin'K2Node_CallFunction_11681.EdGraphPin_60840'
   End Object
   Begin Object Name="EdGraphPin_60404"
      PinName="WorldContextObject"
      PinToolTip="World Context Object
Object Reference"
      PinType=(PinCategory="object",PinSubCategoryObject=Class'/Script/CoreUObject.Object')
      bHidden=True
   End Object
   Begin Object Name="EdGraphPin_60403"
      PinName="self"
      PinFriendlyName="Target"
      PinToolTip="Target
Kismet System Library Reference"
      PinType=(PinCategory="object",PinSubCategoryObject=Class'/Script/Engine.KismetSystemLibrary')
      DefaultObject=Default__KismetSystemLibrary
      bHidden=True
   End Object
   Begin Object Name="EdGraphPin_60402"
      PinName="then"
      Direction=EGPD_Output
      PinType=(PinCategory="exec")
      LinkedTo(0)=EdGraphPin'K2Node_Knot_236.EdGraphPin_60827'
   End Object
   Begin Object Name="EdGraphPin_60401"
      PinName="execute"
      PinType=(PinCategory="exec")
      LinkedTo(0)=EdGraphPin'K2Node_VariableSet_760.EdGraphPin_60903'
   End Object
   FunctionReference=(MemberParent=Class'/Script/Engine.KismetSystemLibrary',MemberName="LineTraceSingle_NEW")
   Pins(0)=EdGraphPin'EdGraphPin_60401'
   Pins(1)=EdGraphPin'EdGraphPin_60402'
   Pins(2)=EdGraphPin'EdGraphPin_60403'
   Pins(3)=EdGraphPin'EdGraphPin_60404'
   Pins(4)=EdGraphPin'EdGraphPin_60405'
   Pins(5)=EdGraphPin'EdGraphPin_60406'
   Pins(6)=EdGraphPin'EdGraphPin_60407'
   Pins(7)=EdGraphPin'EdGraphPin_60408'
   Pins(8)=EdGraphPin'EdGraphPin_60409'
   Pins(9)=EdGraphPin'EdGraphPin_60410'
   Pins(10)=EdGraphPin'EdGraphPin_60411'
   Pins(11)=EdGraphPin'EdGraphPin_60412'
   Pins(12)=EdGraphPin'EdGraphPin_60413'
   NodePosX=8176
   NodePosY=-2880
   NodeGuid=1EB0DC254699A25E44E40EAFC157502D
End Object
Begin Object Class=K2Node_VariableGet Name="K2Node_VariableGet_2967"
   Begin Object Class=EdGraphPin Name="EdGraphPin_60441"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60440"
   End Object
   Begin Object Name="EdGraphPin_60441"
      PinName="self"
      PinFriendlyName="Target"
      PinType=(PinCategory="object",PinSubCategoryObject=BlueprintGeneratedClass'/Game/FirstPersonBP/Blueprints/FirstPersonCharacter.FirstPersonCharacter_C')
      bHidden=True
   End Object
   Begin Object Name="EdGraphPin_60440"
      PinName="FirstPersonCamera"
      Direction=EGPD_Output
      PinType=(PinCategory="object",PinSubCategoryObject=Class'/Script/Engine.CameraComponent')
      LinkedTo(0)=EdGraphPin'K2Node_CallFunction_12273.EdGraphPin_60446'
   End Object
   VariableReference=(MemberName="FirstPersonCamera",bSelfContext=True)
   Pins(0)=EdGraphPin'EdGraphPin_60440'
   Pins(1)=EdGraphPin'EdGraphPin_60441'
   NodePosX=7616
   NodePosY=-2368
   NodeGuid=6D6CAAB441C0532D41FC8B9CA43DEE57
End Object
Begin Object Class=K2Node_CallFunction Name="K2Node_CallFunction_12273"
   Begin Object Class=EdGraphPin Name="EdGraphPin_60447"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60446"
   End Object
   Begin Object Name="EdGraphPin_60447"
      PinName="ReturnValue"
      PinToolTip="Return Value
Vector "
      Direction=EGPD_Output
      PinType=(PinCategory="struct",PinSubCategoryObject=ScriptStruct'/Script/CoreUObject.Vector')
      AutogeneratedDefaultValue="0, 0, 0"
      LinkedTo(0)=EdGraphPin'K2Node_CommutativeAssociativeBinaryOperator_185.EdGraphPin_60471'
   End Object
   Begin Object Name="EdGraphPin_60446"
      PinName="self"
      PinFriendlyName="Target"
      PinToolTip="Target
Scene Component Reference"
      PinType=(PinCategory="object",PinSubCategoryObject=Class'/Script/Engine.SceneComponent')
      LinkedTo(0)=EdGraphPin'K2Node_VariableGet_2967.EdGraphPin_60440'
   End Object
   bIsPureFunc=True
   bIsConstFunc=True
   FunctionReference=(MemberParent=Class'/Script/Engine.SceneComponent',MemberName="K2_GetComponentLocation")
   Pins(0)=EdGraphPin'EdGraphPin_60446'
   Pins(1)=EdGraphPin'EdGraphPin_60447'
   NodePosX=7792
   NodePosY=-2400
   NodeGuid=170034EB4CA7B944EB854E819FF87F6A
End Object
Begin Object Class=K2Node_CallFunction Name="K2Node_CallFunction_12274"
   Begin Object Class=EdGraphPin Name="EdGraphPin_60453"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60452"
   End Object
   Begin Object Name="EdGraphPin_60453"
      PinName="ReturnValue"
      PinToolTip="Return Value
Vector "
      Direction=EGPD_Output
      PinType=(PinCategory="struct",PinSubCategoryObject=ScriptStruct'/Script/CoreUObject.Vector')
      DefaultValue="0, 0, 0"
      AutogeneratedDefaultValue="0, 0, 0"
      LinkedTo(0)=EdGraphPin'K2Node_CallFunction_4411.EdGraphPin_60594'
   End Object
   Begin Object Name="EdGraphPin_60452"
      PinName="self"
      PinFriendlyName="Target"
      PinToolTip="Target
Scene Component Reference"
      PinType=(PinCategory="object",PinSubCategoryObject=Class'/Script/Engine.SceneComponent')
      LinkedTo(0)=EdGraphPin'K2Node_VariableGet_2926.EdGraphPin_60845'
   End Object
   bIsPureFunc=True
   bIsConstFunc=True
   FunctionReference=(MemberParent=Class'/Script/Engine.SceneComponent',MemberName="GetForwardVector")
   Pins(0)=EdGraphPin'EdGraphPin_60452'
   Pins(1)=EdGraphPin'EdGraphPin_60453'
   NodePosX=6608
   NodePosY=-2992
   ErrorType=1
   ErrorMsg="Error This blueprint (self) is not a SceneComponent, therefore \' Target \' must have a connection."
   NodeGuid=B620A69741A8BDB6C10D5BB43DC8F32C
End Object
Begin Object Class=K2Node_CallFunction Name="K2Node_CallFunction_3376"
   Begin Object Class=EdGraphPin Name="EdGraphPin_60461"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60460"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60459"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60458"
   End Object
   Begin Object Name="EdGraphPin_60461"
      PinName="ReturnValue"
      PinToolTip="Return Value
Vector "
      Direction=EGPD_Output
      PinType=(PinCategory="struct",PinSubCategoryObject=ScriptStruct'/Script/CoreUObject.Vector')
      AutogeneratedDefaultValue="0, 0, 0"
      LinkedTo(0)=EdGraphPin'K2Node_CommutativeAssociativeBinaryOperator_185.EdGraphPin_60472'
   End Object
   Begin Object Name="EdGraphPin_60460"
      PinName="B"
      PinToolTip="B
Float"
      PinType=(PinCategory="float")
      DefaultValue="5000"
      AutogeneratedDefaultValue="0.0"
   End Object
   Begin Object Name="EdGraphPin_60459"
      PinName="A"
      PinToolTip="A
Vector "
      PinType=(PinCategory="struct",PinSubCategoryObject=ScriptStruct'/Script/CoreUObject.Vector')
      DefaultValue="0, 0, 0"
      AutogeneratedDefaultValue="0, 0, 0"
      LinkedTo(0)=EdGraphPin'K2Node_VariableGet_3575.EdGraphPin_60917'
   End Object
   Begin Object Name="EdGraphPin_60458"
      PinName="self"
      PinFriendlyName="Target"
      PinToolTip="Target
Kismet Math Library Reference"
      PinType=(PinCategory="object",PinSubCategoryObject=Class'/Script/Engine.KismetMathLibrary')
      DefaultObject=Default__KismetMathLibrary
      bHidden=True
   End Object
   bIsPureFunc=True
   FunctionReference=(MemberParent=Class'/Script/Engine.KismetMathLibrary',MemberName="Multiply_VectorFloat")
   Pins(0)=EdGraphPin'EdGraphPin_60458'
   Pins(1)=EdGraphPin'EdGraphPin_60459'
   Pins(2)=EdGraphPin'EdGraphPin_60460'
   Pins(3)=EdGraphPin'EdGraphPin_60461'
   NodePosX=7856
   NodePosY=-2320
   NodeGuid=E7F8500B41BDC9067AA2518743B0B26A
End Object
Begin Object Class=K2Node_CommutativeAssociativeBinaryOperator Name="K2Node_CommutativeAssociativeBinaryOperator_185"
   Begin Object Class=EdGraphPin Name="EdGraphPin_60473"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60472"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60471"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60470"
   End Object
   Begin Object Name="EdGraphPin_60473"
      PinName="ReturnValue"
      PinToolTip="Return Value
Vector "
      Direction=EGPD_Output
      PinType=(PinCategory="struct",PinSubCategoryObject=ScriptStruct'/Script/CoreUObject.Vector')
      DefaultValue="0, 0, 0"
      AutogeneratedDefaultValue="0, 0, 0"
      LinkedTo(0)=EdGraphPin'K2Node_CallFunction_2236.EdGraphPin_60406'
   End Object
   Begin Object Name="EdGraphPin_60472"
      PinName="B"
      PinToolTip="B
Vector "
      PinType=(PinCategory="struct",PinSubCategoryObject=ScriptStruct'/Script/CoreUObject.Vector')
      DefaultValue="0, 0, 0"
      AutogeneratedDefaultValue="0, 0, 0"
      LinkedTo(0)=EdGraphPin'K2Node_CallFunction_3376.EdGraphPin_60461'
   End Object
   Begin Object Name="EdGraphPin_60471"
      PinName="A"
      PinToolTip="A
Vector "
      PinType=(PinCategory="struct",PinSubCategoryObject=ScriptStruct'/Script/CoreUObject.Vector')
      DefaultValue="0, 0, 0"
      AutogeneratedDefaultValue="0, 0, 0"
      LinkedTo(0)=EdGraphPin'K2Node_CallFunction_12273.EdGraphPin_60447'
   End Object
   Begin Object Name="EdGraphPin_60470"
      PinName="self"
      PinFriendlyName="Target"
      PinToolTip="Target
Kismet Math Library Reference"
      PinType=(PinCategory="object",PinSubCategoryObject=Class'/Script/Engine.KismetMathLibrary')
      DefaultObject=Default__KismetMathLibrary
      bHidden=True
   End Object
   bIsPureFunc=True
   FunctionReference=(MemberParent=Class'/Script/Engine.KismetMathLibrary',MemberName="Add_VectorVector")
   Pins(0)=EdGraphPin'EdGraphPin_60470'
   Pins(1)=EdGraphPin'EdGraphPin_60471'
   Pins(2)=EdGraphPin'EdGraphPin_60472'
   Pins(3)=EdGraphPin'EdGraphPin_60473'
   NodePosX=8016
   NodePosY=-2352
   NodeGuid=047632584915CA2C109F51976C5B3EC7
End Object
Begin Object Class=K2Node_CallFunction Name="K2Node_CallFunction_3485"
   Begin Object Class=EdGraphPin Name="EdGraphPin_60497"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60496"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60495"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60494"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60493"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60492"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60491"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60490"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60489"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60488"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60487"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60486"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60485"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60484"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60483"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60482"
   End Object
   Begin Object Name="EdGraphPin_60497"
      PinName="TraceEnd"
      PinToolTip="Trace End
Vector "
      Direction=EGPD_Output
      PinType=(PinCategory="struct",PinSubCategoryObject=ScriptStruct'/Script/CoreUObject.Vector')
      DefaultValue="0, 0, 0"
      AutogeneratedDefaultValue="0, 0, 0"
   End Object
   Begin Object Name="EdGraphPin_60496"
      PinName="TraceStart"
      PinToolTip="Trace Start
Vector "
      Direction=EGPD_Output
      PinType=(PinCategory="struct",PinSubCategoryObject=ScriptStruct'/Script/CoreUObject.Vector')
      DefaultValue="0, 0, 0"
      AutogeneratedDefaultValue="0, 0, 0"
   End Object
   Begin Object Name="EdGraphPin_60495"
      PinName="HitItem"
      PinToolTip="Hit Item
Integer

Primitive-specific data recording which item in the primitive was hit"
      Direction=EGPD_Output
      PinType=(PinCategory="int")
      DefaultValue="0"
      AutogeneratedDefaultValue="0"
   End Object
   Begin Object Name="EdGraphPin_60494"
      PinName="HitBoneName"
      PinToolTip="Hit Bone Name
Name

Name of the bone hit (valid only if we hit a skeletal mesh)."
      Direction=EGPD_Output
      PinType=(PinCategory="name")
      DefaultValue="None"
      AutogeneratedDefaultValue="None"
   End Object
   Begin Object Name="EdGraphPin_60493"
      PinName="HitComponent"
      PinToolTip="Hit Component
Primitive Component Reference

PrimitiveComponent hit by the trace."
      Direction=EGPD_Output
      PinType=(PinCategory="object",PinSubCategoryObject=Class'/Script/Engine.PrimitiveComponent')
   End Object
   Begin Object Name="EdGraphPin_60492"
      PinName="HitActor"
      PinToolTip="Hit Actor
Actor Reference

Actor hit by the trace."
      Direction=EGPD_Output
      PinType=(PinCategory="object",PinSubCategoryObject=Class'/Script/Engine.Actor')
   End Object
   Begin Object Name="EdGraphPin_60491"
      PinName="PhysMat"
      PinToolTip="Phys Mat
Physical Material Reference

Physical material that was hit. Must set bReturnPhysicalMaterial to true in the query params for this to be returned."
      Direction=EGPD_Output
      PinType=(PinCategory="object",PinSubCategoryObject=Class'/Script/Engine.PhysicalMaterial')
   End Object
   Begin Object Name="EdGraphPin_60490"
      PinName="ImpactNormal"
      PinToolTip="Impact Normal
Vector 

Normal of the hit in world space, for the object that was hit by the sweep."
      Direction=EGPD_Output
      PinType=(PinCategory="struct",PinSubCategoryObject=ScriptStruct'/Script/CoreUObject.Vector')
      DefaultValue="0, 0, 0"
      AutogeneratedDefaultValue="0, 0, 0"
   End Object
   Begin Object Name="EdGraphPin_60489"
      PinName="Normal"
      PinToolTip="Normal
Vector 

Normal of the hit in world space, for the object that was swept (e.g. for a sphere trace this points towards the sphere\'s center). Equal to ImpactNormal for line tests."
      Direction=EGPD_Output
      PinType=(PinCategory="struct",PinSubCategoryObject=ScriptStruct'/Script/CoreUObject.Vector')
      AutogeneratedDefaultValue="0, 0, 0"
   End Object
   Begin Object Name="EdGraphPin_60488"
      PinName="ImpactPoint"
      PinToolTip="Impact Point
Vector 

Location of the actual contact point of the trace shape with the surface of the hit object. Equal to Location in the case of an initial overlap."
      Direction=EGPD_Output
      PinType=(PinCategory="struct",PinSubCategoryObject=ScriptStruct'/Script/CoreUObject.Vector')
      AutogeneratedDefaultValue="0, 0, 0"
   End Object
   Begin Object Name="EdGraphPin_60487"
      PinName="Location"
      PinToolTip="Location
Vector 

Location of the hit in world space. If this was a swept shape test, this is the location where we can place the shape in the world where it will not penetrate."
      Direction=EGPD_Output
      PinType=(PinCategory="struct",PinSubCategoryObject=ScriptStruct'/Script/CoreUObject.Vector')
      AutogeneratedDefaultValue="0, 0, 0"
      LinkedTo(0)=EdGraphPin'K2Node_CallFunction_2983.EdGraphPin_60534'
      LinkedTo(1)=EdGraphPin'K2Node_CallFunction_4538.EdGraphPin_60771'
   End Object
   Begin Object Name="EdGraphPin_60486"
      PinName="Time"
      PinToolTip="Time
Float

\'Time\' of impact along trace direction ranging from 0.0 to 1.0) if there is a hit, indicating time between start and end. Equals 1.0 if there is no hit."
      Direction=EGPD_Output
      PinType=(PinCategory="float")
      DefaultValue="0.0"
      AutogeneratedDefaultValue="0.0"
      LinkedTo(0)=EdGraphPin'K2Node_CommutativeAssociativeBinaryOperator_1162.EdGraphPin_60642'
   End Object
   Begin Object Name="EdGraphPin_60485"
      PinName="bInitialOverlap"
      PinToolTip="Initial Overlap
Boolean

True if the hit started in an initial overlap. In this case some other values should be interpreted differently. Time will be 0, ImpactPoint will equal Location, and normals will be equal and indicate a depenetration vector."
      Direction=EGPD_Output
      PinType=(PinCategory="bool")
      DefaultValue="false"
      AutogeneratedDefaultValue="false"
   End Object
   Begin Object Name="EdGraphPin_60484"
      PinName="bBlockingHit"
      PinToolTip="Blocking Hit
Boolean

True if there was a blocking hit, false otherwise."
      Direction=EGPD_Output
      PinType=(PinCategory="bool")
      DefaultValue="false"
      AutogeneratedDefaultValue="false"
   End Object
   Begin Object Name="EdGraphPin_60483"
      PinName="Hit"
      PinToolTip="Hit
Hit Result Structure (by ref)

The source HitResult."
      PinType=(PinCategory="struct",PinSubCategoryObject=ScriptStruct'/Script/Engine.HitResult',bIsReference=True,bIsConst=True)
      LinkedTo(0)=EdGraphPin'K2Node_CallFunction_2236.EdGraphPin_60411'
      bDefaultValueIsIgnored=True
   End Object
   Begin Object Name="EdGraphPin_60482"
      PinName="self"
      PinFriendlyName="Target"
      PinToolTip="Target
Gameplay Statics Reference"
      PinType=(PinCategory="object",PinSubCategoryObject=Class'/Script/Engine.GameplayStatics')
      DefaultObject=Default__GameplayStatics
      bHidden=True
   End Object
   bIsPureFunc=True
   FunctionReference=(MemberParent=Class'/Script/Engine.GameplayStatics',MemberName="BreakHitResult")
   Pins(0)=EdGraphPin'EdGraphPin_60482'
   Pins(1)=EdGraphPin'EdGraphPin_60483'
   Pins(2)=EdGraphPin'EdGraphPin_60484'
   Pins(3)=EdGraphPin'EdGraphPin_60485'
   Pins(4)=EdGraphPin'EdGraphPin_60486'
   Pins(5)=EdGraphPin'EdGraphPin_60487'
   Pins(6)=EdGraphPin'EdGraphPin_60488'
   Pins(7)=EdGraphPin'EdGraphPin_60489'
   Pins(8)=EdGraphPin'EdGraphPin_60490'
   Pins(9)=EdGraphPin'EdGraphPin_60491'
   Pins(10)=EdGraphPin'EdGraphPin_60492'
   Pins(11)=EdGraphPin'EdGraphPin_60493'
   Pins(12)=EdGraphPin'EdGraphPin_60494'
   Pins(13)=EdGraphPin'EdGraphPin_60495'
   Pins(14)=EdGraphPin'EdGraphPin_60496'
   Pins(15)=EdGraphPin'EdGraphPin_60497'
   NodePosX=8752
   NodePosY=-2720
   NodeGuid=2B010F264C8B4B3959F1A9A3551DA73F
End Object
Begin Object Class=K2Node_CallFunction Name="K2Node_CallFunction_2983"
   Begin Object Class=EdGraphPin Name="EdGraphPin_60537"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60536"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60535"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60534"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60533"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60532"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60531"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60530"
   End Object
   Begin Object Name="EdGraphPin_60537"
      PinName="Duration"
      PinToolTip="Duration
Float"
      PinType=(PinCategory="float")
      DefaultValue="120.0"
      AutogeneratedDefaultValue="0.000000"
   End Object
   Begin Object Name="EdGraphPin_60536"
      PinName="PointColor"
      PinToolTip="Point Color
Linear Color Structure"
      PinType=(PinCategory="struct",PinSubCategoryObject=ScriptStruct'/Script/CoreUObject.LinearColor')
      LinkedTo(0)=EdGraphPin'K2Node_CallFunction_11930.EdGraphPin_60628'
   End Object
   Begin Object Name="EdGraphPin_60535"
      PinName="Size"
      PinToolTip="Size
Float"
      PinType=(PinCategory="float")
      DefaultValue="10"
      AutogeneratedDefaultValue="0.0"
   End Object
   Begin Object Name="EdGraphPin_60534"
      PinName="Position"
      PinToolTip="Position
Vector "
      PinType=(PinCategory="struct",PinSubCategoryObject=ScriptStruct'/Script/CoreUObject.Vector',bIsConst=True)
      DefaultValue="0, 0, 0"
      AutogeneratedDefaultValue="0, 0, 0"
      LinkedTo(0)=EdGraphPin'K2Node_CallFunction_3485.EdGraphPin_60487'
   End Object
   Begin Object Name="EdGraphPin_60533"
      PinName="WorldContextObject"
      PinToolTip="World Context Object
Object Reference"
      PinType=(PinCategory="object",PinSubCategoryObject=Class'/Script/CoreUObject.Object')
      bHidden=True
   End Object
   Begin Object Name="EdGraphPin_60532"
      PinName="self"
      PinFriendlyName="Target"
      PinToolTip="Target
Kismet System Library Reference"
      PinType=(PinCategory="object",PinSubCategoryObject=Class'/Script/Engine.KismetSystemLibrary')
      DefaultObject=Default__KismetSystemLibrary
      bHidden=True
   End Object
   Begin Object Name="EdGraphPin_60531"
      PinName="then"
      Direction=EGPD_Output
      PinType=(PinCategory="exec")
   End Object
   Begin Object Name="EdGraphPin_60530"
      PinName="execute"
      PinType=(PinCategory="exec")
   End Object
   FunctionReference=(MemberParent=Class'/Script/Engine.KismetSystemLibrary',MemberName="DrawDebugPoint")
   Pins(0)=EdGraphPin'EdGraphPin_60530'
   Pins(1)=EdGraphPin'EdGraphPin_60531'
   Pins(2)=EdGraphPin'EdGraphPin_60532'
   Pins(3)=EdGraphPin'EdGraphPin_60533'
   Pins(4)=EdGraphPin'EdGraphPin_60534'
   Pins(5)=EdGraphPin'EdGraphPin_60535'
   Pins(6)=EdGraphPin'EdGraphPin_60536'
   Pins(7)=EdGraphPin'EdGraphPin_60537'
   NodePosX=9392
   NodePosY=-2672
   NodeGuid=A6C98CB34389333302E0D8B77533E419
End Object
Begin Object Class=K2Node_MacroInstance Name="K2Node_MacroInstance_66"
   Begin Object Class=EdGraphPin Name="EdGraphPin_60559"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60558"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60557"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60556"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60555"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60554"
   End Object
   Begin Object Name="EdGraphPin_60559"
      PinName="Completed"
      Direction=EGPD_Output
      PinType=(PinCategory="exec")
   End Object
   Begin Object Name="EdGraphPin_60558"
      PinName="Index"
      Direction=EGPD_Output
      PinType=(PinCategory="int")
      LinkedTo(0)=EdGraphPin'K2Node_CallFunction_16210.EdGraphPin_60933'
   End Object
   Begin Object Name="EdGraphPin_60557"
      PinName="LoopBody"
      Direction=EGPD_Output
      PinType=(PinCategory="exec")
      LinkedTo(0)=EdGraphPin'K2Node_VariableSet_760.EdGraphPin_60902'
   End Object
   Begin Object Name="EdGraphPin_60556"
      PinName="LastIndex"
      PinType=(PinCategory="int")
      DefaultValue="0"
      LinkedTo(0)=EdGraphPin'K2Node_VariableGet_537.EdGraphPin_60587'
   End Object
   Begin Object Name="EdGraphPin_60555"
      PinName="FirstIndex"
      PinType=(PinCategory="int")
      DefaultValue="-90"
   End Object
   Begin Object Name="EdGraphPin_60554"
      PinName="execute"
      PinType=(PinCategory="exec")
      LinkedTo(0)=EdGraphPin'K2Node_VariableSet_717.EdGraphPin_60864'
   End Object
   MacroGraphReference=(MacroGraph=EdGraph'/Engine/EditorBlueprintResources/StandardMacros.StandardMacros:ForLoop',GraphBlueprint=Blueprint'/Engine/EditorBlueprintResources/StandardMacros.StandardMacros',GraphGuid=55C904AF4B45FE1761FB55A8DB9FB801)
   Pins(0)=EdGraphPin'EdGraphPin_60554'
   Pins(1)=EdGraphPin'EdGraphPin_60555'
   Pins(2)=EdGraphPin'EdGraphPin_60556'
   Pins(3)=EdGraphPin'EdGraphPin_60557'
   Pins(4)=EdGraphPin'EdGraphPin_60558'
   Pins(5)=EdGraphPin'EdGraphPin_60559'
   NodePosX=5968
   NodePosY=-2512
   NodeGuid=9BBDC1144F21C1FA4F9F4AAB909FE8E4
End Object
Begin Object Class=K2Node_CallFunction Name="K2Node_CallFunction_6097"
   Begin Object Class=EdGraphPin Name="EdGraphPin_60576"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60575"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60574"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60573"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60572"
   End Object
   Begin Object Name="EdGraphPin_60576"
      PinName="ReturnValue"
      PinToolTip="Return Value
Vector "
      Direction=EGPD_Output
      PinType=(PinCategory="struct",PinSubCategoryObject=ScriptStruct'/Script/CoreUObject.Vector')
      AutogeneratedDefaultValue="0, 0, 0"
      LinkedTo(0)=EdGraphPin'K2Node_VariableSet_760.EdGraphPin_60904'
   End Object
   Begin Object Name="EdGraphPin_60575"
      PinName="Axis"
      PinToolTip="Axis
Vector "
      PinType=(PinCategory="struct",PinSubCategoryObject=ScriptStruct'/Script/CoreUObject.Vector')
      DefaultValue="0, 0, 0"
      AutogeneratedDefaultValue="0, 0, 0"
      LinkedTo(0)=EdGraphPin'K2Node_CallFunction_11347.EdGraphPin_60612'
   End Object
   Begin Object Name="EdGraphPin_60574"
      PinName="AngleDeg"
      PinToolTip="Angle Deg
Float"
      PinType=(PinCategory="float")
      DefaultValue="0.0"
      AutogeneratedDefaultValue="0.0"
      LinkedTo(0)=EdGraphPin'K2Node_CallFunction_16210.EdGraphPin_60934'
   End Object
   Begin Object Name="EdGraphPin_60573"
      PinName="InVect"
      PinToolTip="In Vect
Vector "
      PinType=(PinCategory="struct",PinSubCategoryObject=ScriptStruct'/Script/CoreUObject.Vector')
      DefaultValue="0, 0, 0"
      AutogeneratedDefaultValue="0, 0, 0"
      LinkedTo(0)=EdGraphPin'K2Node_VariableGet_3216.EdGraphPin_60878'
   End Object
   Begin Object Name="EdGraphPin_60572"
      PinName="self"
      PinFriendlyName="Target"
      PinToolTip="Target
Kismet Math Library Reference"
      PinType=(PinCategory="object",PinSubCategoryObject=Class'/Script/Engine.KismetMathLibrary')
      DefaultObject=Default__KismetMathLibrary
      bHidden=True
   End Object
   bIsPureFunc=True
   FunctionReference=(MemberParent=Class'/Script/Engine.KismetMathLibrary',MemberName="RotateAngleAxis")
   Pins(0)=EdGraphPin'EdGraphPin_60572'
   Pins(1)=EdGraphPin'EdGraphPin_60573'
   Pins(2)=EdGraphPin'EdGraphPin_60574'
   Pins(3)=EdGraphPin'EdGraphPin_60575'
   Pins(4)=EdGraphPin'EdGraphPin_60576'
   NodePosX=7040
   NodePosY=-2480
   NodeGuid=16EC37A84FDB2A2154D0469771AC87AD
End Object
Begin Object Class=K2Node_VariableGet Name="K2Node_VariableGet_537"
   Begin Object Class=EdGraphPin Name="EdGraphPin_60588"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60587"
   End Object
   Begin Object Name="EdGraphPin_60588"
      PinName="self"
      PinFriendlyName="Target"
      PinType=(PinCategory="object",PinSubCategoryObject=BlueprintGeneratedClass'/Game/FirstPersonBP/Blueprints/FirstPersonCharacter.FirstPersonCharacter_C')
      bHidden=True
   End Object
   Begin Object Name="EdGraphPin_60587"
      PinName="numPointsInPitchCircle"
      Direction=EGPD_Output
      PinType=(PinCategory="int")
      AutogeneratedDefaultValue="0"
      LinkedTo(0)=EdGraphPin'K2Node_MacroInstance_66.EdGraphPin_60556'
   End Object
   VariableReference=(MemberName="numPointsInPitchCircle",bSelfContext=True)
   Pins(0)=EdGraphPin'EdGraphPin_60587'
   Pins(1)=EdGraphPin'EdGraphPin_60588'
   NodePosX=5760
   NodePosY=-2432
   NodeGuid=3C439BB84D0ECBEF23434E9D10E76A75
End Object
Begin Object Class=K2Node_CallFunction Name="K2Node_CallFunction_4411"
   Begin Object Class=EdGraphPin Name="EdGraphPin_60597"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60596"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60595"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60594"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60593"
   End Object
   Begin Object Name="EdGraphPin_60597"
      PinName="ReturnValue"
      PinToolTip="Return Value
Vector "
      Direction=EGPD_Output
      PinType=(PinCategory="struct",PinSubCategoryObject=ScriptStruct'/Script/CoreUObject.Vector')
      AutogeneratedDefaultValue="0, 0, 0"
      LinkedTo(0)=EdGraphPin'K2Node_VariableSet_717.EdGraphPin_60865'
   End Object
   Begin Object Name="EdGraphPin_60596"
      PinName="Axis"
      PinToolTip="Axis
Vector "
      PinType=(PinCategory="struct",PinSubCategoryObject=ScriptStruct'/Script/CoreUObject.Vector')
      DefaultValue="0, 0, 0"
      AutogeneratedDefaultValue="0, 0, 0"
      LinkedTo(0)=EdGraphPin'K2Node_CallFunction_12644.EdGraphPin_60678'
   End Object
   Begin Object Name="EdGraphPin_60595"
      PinName="AngleDeg"
      PinToolTip="Angle Deg
Float"
      PinType=(PinCategory="float")
      DefaultValue="0.0"
      AutogeneratedDefaultValue="0.0"
      LinkedTo(0)=EdGraphPin'K2Node_CallFunction_25100.EdGraphPin_60685'
   End Object
   Begin Object Name="EdGraphPin_60594"
      PinName="InVect"
      PinToolTip="In Vect
Vector "
      PinType=(PinCategory="struct",PinSubCategoryObject=ScriptStruct'/Script/CoreUObject.Vector')
      DefaultValue="0, 0, 0"
      AutogeneratedDefaultValue="0, 0, 0"
      LinkedTo(0)=EdGraphPin'K2Node_CallFunction_12274.EdGraphPin_60453'
   End Object
   Begin Object Name="EdGraphPin_60593"
      PinName="self"
      PinFriendlyName="Target"
      PinToolTip="Target
Kismet Math Library Reference"
      PinType=(PinCategory="object",PinSubCategoryObject=Class'/Script/Engine.KismetMathLibrary')
      DefaultObject=Default__KismetMathLibrary
      bHidden=True
   End Object
   bIsPureFunc=True
   FunctionReference=(MemberParent=Class'/Script/Engine.KismetMathLibrary',MemberName="RotateAngleAxis")
   Pins(0)=EdGraphPin'EdGraphPin_60593'
   Pins(1)=EdGraphPin'EdGraphPin_60594'
   Pins(2)=EdGraphPin'EdGraphPin_60595'
   Pins(3)=EdGraphPin'EdGraphPin_60596'
   Pins(4)=EdGraphPin'EdGraphPin_60597'
   NodePosX=6848
   NodePosY=-2944
   NodeGuid=5330EC1249617C946F2C9E8B0A43FA26
End Object
Begin Object Class=K2Node_CallFunction Name="K2Node_CallFunction_11347"
   Begin Object Class=EdGraphPin Name="EdGraphPin_60612"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60611"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60610"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60609"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60608"
   End Object
   Begin Object Name="EdGraphPin_60612"
      PinName="ReturnValue"
      PinToolTip="Return Value
Vector "
      Direction=EGPD_Output
      PinType=(PinCategory="struct",PinSubCategoryObject=ScriptStruct'/Script/CoreUObject.Vector')
      DefaultValue="0, 0, 0"
      AutogeneratedDefaultValue="0, 0, 0"
      LinkedTo(0)=EdGraphPin'K2Node_CallFunction_6097.EdGraphPin_60575'
   End Object
   Begin Object Name="EdGraphPin_60611"
      PinName="Axis"
      PinToolTip="Axis
Vector "
      PinType=(PinCategory="struct",PinSubCategoryObject=ScriptStruct'/Script/CoreUObject.Vector')
      DefaultValue="0, 0, 0"
      AutogeneratedDefaultValue="0, 0, 0"
      LinkedTo(0)=EdGraphPin'K2Node_CallFunction_24591.EdGraphPin_60858'
   End Object
   Begin Object Name="EdGraphPin_60610"
      PinName="AngleDeg"
      PinToolTip="Angle Deg
Float"
      PinType=(PinCategory="float")
      DefaultValue="90.0"
      AutogeneratedDefaultValue="0.0"
   End Object
   Begin Object Name="EdGraphPin_60609"
      PinName="InVect"
      PinToolTip="In Vect
Vector "
      PinType=(PinCategory="struct",PinSubCategoryObject=ScriptStruct'/Script/CoreUObject.Vector')
      DefaultValue="0, 0, 0"
      AutogeneratedDefaultValue="0, 0, 0"
      LinkedTo(0)=EdGraphPin'K2Node_VariableGet_3215.EdGraphPin_60884'
   End Object
   Begin Object Name="EdGraphPin_60608"
      PinName="self"
      PinFriendlyName="Target"
      PinToolTip="Target
Kismet Math Library Reference"
      PinType=(PinCategory="object",PinSubCategoryObject=Class'/Script/Engine.KismetMathLibrary')
      DefaultObject=Default__KismetMathLibrary
      bHidden=True
   End Object
   bIsPureFunc=True
   FunctionReference=(MemberParent=Class'/Script/Engine.KismetMathLibrary',MemberName="RotateAngleAxis")
   Pins(0)=EdGraphPin'EdGraphPin_60608'
   Pins(1)=EdGraphPin'EdGraphPin_60609'
   Pins(2)=EdGraphPin'EdGraphPin_60610'
   Pins(3)=EdGraphPin'EdGraphPin_60611'
   Pins(4)=EdGraphPin'EdGraphPin_60612'
   NodePosX=6768
   NodePosY=-2384
   NodeGuid=C02A7F444E28445AD2088BA0DC80381F
End Object
Begin Object Class=K2Node_CallFunction Name="K2Node_CallFunction_11930"
   Begin Object Class=EdGraphPin Name="EdGraphPin_60628"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60627"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60626"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60625"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60624"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60623"
   End Object
   Begin Object Name="EdGraphPin_60628"
      PinName="ReturnValue"
      PinToolTip="Return Value
Linear Color Structure"
      Direction=EGPD_Output
      PinType=(PinCategory="struct",PinSubCategoryObject=ScriptStruct'/Script/CoreUObject.LinearColor')
      LinkedTo(0)=EdGraphPin'K2Node_CallFunction_2983.EdGraphPin_60536'
   End Object
   Begin Object Name="EdGraphPin_60627"
      PinName="A"
      PinToolTip="A
Float"
      PinType=(PinCategory="float")
      DefaultValue="1.000000"
      AutogeneratedDefaultValue="1.000000"
   End Object
   Begin Object Name="EdGraphPin_60626"
      PinName="V"
      PinToolTip="V
Float"
      PinType=(PinCategory="float")
      DefaultValue="1.0"
      AutogeneratedDefaultValue="0.0"
   End Object
   Begin Object Name="EdGraphPin_60625"
      PinName="S"
      PinToolTip="S
Float"
      PinType=(PinCategory="float")
      DefaultValue="1.0"
      AutogeneratedDefaultValue="0.0"
   End Object
   Begin Object Name="EdGraphPin_60624"
      PinName="H"
      PinToolTip="H
Float"
      PinType=(PinCategory="float")
      DefaultValue="0.0"
      AutogeneratedDefaultValue="0.0"
      LinkedTo(0)=EdGraphPin'K2Node_CallFunction_16233.EdGraphPin_60656'
   End Object
   Begin Object Name="EdGraphPin_60623"
      PinName="self"
      PinFriendlyName="Target"
      PinToolTip="Target
Kismet Math Library Reference"
      PinType=(PinCategory="object",PinSubCategoryObject=Class'/Script/Engine.KismetMathLibrary')
      DefaultObject=Default__KismetMathLibrary
      bHidden=True
   End Object
   bIsPureFunc=True
   FunctionReference=(MemberParent=Class'/Script/Engine.KismetMathLibrary',MemberName="HSVToRGB")
   Pins(0)=EdGraphPin'EdGraphPin_60623'
   Pins(1)=EdGraphPin'EdGraphPin_60624'
   Pins(2)=EdGraphPin'EdGraphPin_60625'
   Pins(3)=EdGraphPin'EdGraphPin_60626'
   Pins(4)=EdGraphPin'EdGraphPin_60627'
   Pins(5)=EdGraphPin'EdGraphPin_60628'
   NodePosX=9040
   NodePosY=-2416
   NodeGuid=367BD0FD40A010563C95129002AA3533
End Object
Begin Object Class=K2Node_CommutativeAssociativeBinaryOperator Name="K2Node_CommutativeAssociativeBinaryOperator_1162"
   Begin Object Class=EdGraphPin Name="EdGraphPin_60644"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60643"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60642"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60641"
   End Object
   Begin Object Name="EdGraphPin_60644"
      PinName="ReturnValue"
      PinToolTip="Return Value
Float"
      Direction=EGPD_Output
      PinType=(PinCategory="float")
      DefaultValue="0.0"
      AutogeneratedDefaultValue="0.0"
      LinkedTo(0)=EdGraphPin'K2Node_CallFunction_16233.EdGraphPin_60654'
   End Object
   Begin Object Name="EdGraphPin_60643"
      PinName="B"
      PinToolTip="B
Float"
      PinType=(PinCategory="float")
      DefaultValue="360"
      AutogeneratedDefaultValue="0.0"
   End Object
   Begin Object Name="EdGraphPin_60642"
      PinName="A"
      PinToolTip="A
Float"
      PinType=(PinCategory="float")
      DefaultValue="0.0"
      AutogeneratedDefaultValue="0.0"
      LinkedTo(0)=EdGraphPin'K2Node_CallFunction_3485.EdGraphPin_60486'
   End Object
   Begin Object Name="EdGraphPin_60641"
      PinName="self"
      PinFriendlyName="Target"
      PinToolTip="Target
Kismet Math Library Reference"
      PinType=(PinCategory="object",PinSubCategoryObject=Class'/Script/Engine.KismetMathLibrary')
      DefaultObject=Default__KismetMathLibrary
      bHidden=True
   End Object
   bIsPureFunc=True
   FunctionReference=(MemberParent=Class'/Script/Engine.KismetMathLibrary',MemberName="Multiply_FloatFloat")
   Pins(0)=EdGraphPin'EdGraphPin_60641'
   Pins(1)=EdGraphPin'EdGraphPin_60642'
   Pins(2)=EdGraphPin'EdGraphPin_60643'
   Pins(3)=EdGraphPin'EdGraphPin_60644'
   NodePosX=8992
   NodePosY=-2496
   NodeGuid=17A74AD8461D48924B855488435E1627
End Object
Begin Object Class=K2Node_CallFunction Name="K2Node_CallFunction_16233"
   Begin Object Class=EdGraphPin Name="EdGraphPin_60656"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60655"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60654"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60653"
   End Object
   Begin Object Name="EdGraphPin_60656"
      PinName="ReturnValue"
      PinToolTip="Return Value
Float"
      Direction=EGPD_Output
      PinType=(PinCategory="float")
      DefaultValue="0.0"
      AutogeneratedDefaultValue="0.0"
      LinkedTo(0)=EdGraphPin'K2Node_CallFunction_11930.EdGraphPin_60624'
   End Object
   Begin Object Name="EdGraphPin_60655"
      PinName="B"
      PinToolTip="B
Float"
      PinType=(PinCategory="float")
      DefaultValue="3.0"
      AutogeneratedDefaultValue="1.000000"
   End Object
   Begin Object Name="EdGraphPin_60654"
      PinName="A"
      PinToolTip="A
Float"
      PinType=(PinCategory="float")
      DefaultValue="0.0"
      AutogeneratedDefaultValue="0.0"
      LinkedTo(0)=EdGraphPin'K2Node_CommutativeAssociativeBinaryOperator_1162.EdGraphPin_60644'
   End Object
   Begin Object Name="EdGraphPin_60653"
      PinName="self"
      PinFriendlyName="Target"
      PinToolTip="Target
Kismet Math Library Reference"
      PinType=(PinCategory="object",PinSubCategoryObject=Class'/Script/Engine.KismetMathLibrary')
      DefaultObject=Default__KismetMathLibrary
      bHidden=True
   End Object
   bIsPureFunc=True
   FunctionReference=(MemberParent=Class'/Script/Engine.KismetMathLibrary',MemberName="Subtract_FloatFloat")
   Pins(0)=EdGraphPin'EdGraphPin_60653'
   Pins(1)=EdGraphPin'EdGraphPin_60654'
   Pins(2)=EdGraphPin'EdGraphPin_60655'
   Pins(3)=EdGraphPin'EdGraphPin_60656'
   NodePosX=9168
   NodePosY=-2496
   NodeGuid=DF3104F745B0072BACAA4C8C214B2B26
End Object
Begin Object Class=K2Node_VariableGet Name="K2Node_VariableGet_2618"
   Begin Object Class=EdGraphPin Name="EdGraphPin_60666"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60665"
   End Object
   Begin Object Name="EdGraphPin_60666"
      PinName="self"
      PinFriendlyName="Target"
      PinType=(PinCategory="object",PinSubCategoryObject=BlueprintGeneratedClass'/Game/FirstPersonBP/Blueprints/FirstPersonCharacter.FirstPersonCharacter_C')
      bHidden=True
   End Object
   Begin Object Name="EdGraphPin_60665"
      PinName="yawDegrees"
      Direction=EGPD_Output
      PinType=(PinCategory="int")
      AutogeneratedDefaultValue="0"
      LinkedTo(0)=EdGraphPin'K2Node_MacroInstance_148.EdGraphPin_62203'
   End Object
   VariableReference=(MemberName="yawDegrees",bSelfContext=True)
   Pins(0)=EdGraphPin'EdGraphPin_60665'
   Pins(1)=EdGraphPin'EdGraphPin_60666'
   NodePosX=5792
   NodePosY=-2816
   NodeGuid=5AB0A4BA4889F9302BBC3AB1CCBAB7D7
End Object
Begin Object Class=K2Node_VariableGet Name="K2Node_VariableGet_2996"
   Begin Object Class=EdGraphPin Name="EdGraphPin_60672"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60671"
   End Object
   Begin Object Name="EdGraphPin_60672"
      PinName="self"
      PinFriendlyName="Target"
      PinType=(PinCategory="object",PinSubCategoryObject=BlueprintGeneratedClass'/Game/FirstPersonBP/Blueprints/FirstPersonCharacter.FirstPersonCharacter_C')
      bHidden=True
   End Object
   Begin Object Name="EdGraphPin_60671"
      PinName="FirstPersonCamera"
      Direction=EGPD_Output
      PinType=(PinCategory="object",PinSubCategoryObject=Class'/Script/Engine.CameraComponent')
      LinkedTo(0)=EdGraphPin'K2Node_CallFunction_12644.EdGraphPin_60677'
   End Object
   VariableReference=(MemberName="FirstPersonCamera",bSelfContext=True)
   Pins(0)=EdGraphPin'EdGraphPin_60671'
   Pins(1)=EdGraphPin'EdGraphPin_60672'
   NodePosX=6448
   NodePosY=-2832
   NodeGuid=0E29886C4DECD691A6CBF5B4D895FBC4
End Object
Begin Object Class=K2Node_CallFunction Name="K2Node_CallFunction_12644"
   Begin Object Class=EdGraphPin Name="EdGraphPin_60678"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60677"
   End Object
   Begin Object Name="EdGraphPin_60678"
      PinName="ReturnValue"
      PinToolTip="Return Value
Vector "
      Direction=EGPD_Output
      PinType=(PinCategory="struct",PinSubCategoryObject=ScriptStruct'/Script/CoreUObject.Vector')
      DefaultValue="0, 0, 0"
      AutogeneratedDefaultValue="0, 0, 0"
      LinkedTo(0)=EdGraphPin'K2Node_CallFunction_4411.EdGraphPin_60596'
   End Object
   Begin Object Name="EdGraphPin_60677"
      PinName="self"
      PinFriendlyName="Target"
      PinToolTip="Target
Scene Component Reference"
      PinType=(PinCategory="object",PinSubCategoryObject=Class'/Script/Engine.SceneComponent')
      LinkedTo(0)=EdGraphPin'K2Node_VariableGet_2996.EdGraphPin_60671'
   End Object
   bIsPureFunc=True
   bIsConstFunc=True
   FunctionReference=(MemberParent=Class'/Script/Engine.SceneComponent',MemberName="GetUpVector")
   Pins(0)=EdGraphPin'EdGraphPin_60677'
   Pins(1)=EdGraphPin'EdGraphPin_60678'
   NodePosX=6608
   NodePosY=-2864
   NodeGuid=96184EE0415FFF15912DF5BEB1466AD3
End Object
Begin Object Class=K2Node_CallFunction Name="K2Node_CallFunction_25100"
   Begin Object Class=EdGraphPin Name="EdGraphPin_60685"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60684"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60683"
   End Object
   Begin Object Name="EdGraphPin_60685"
      PinName="ReturnValue"
      PinToolTip="Return Value
Float"
      Direction=EGPD_Output
      PinType=(PinCategory="float")
      DefaultValue="0.0"
      AutogeneratedDefaultValue="0.0"
      LinkedTo(0)=EdGraphPin'K2Node_CallFunction_4411.EdGraphPin_60595'
   End Object
   Begin Object Name="EdGraphPin_60684"
      PinName="InInt"
      PinToolTip="In Int
Integer"
      PinType=(PinCategory="int")
      DefaultValue="0"
      AutogeneratedDefaultValue="0"
      LinkedTo(0)=EdGraphPin'K2Node_MacroInstance_148.EdGraphPin_62206'
   End Object
   Begin Object Name="EdGraphPin_60683"
      PinName="self"
      PinFriendlyName="Target"
      PinToolTip="Target
Kismet Math Library Reference"
      PinType=(PinCategory="object",PinSubCategoryObject=Class'/Script/Engine.KismetMathLibrary')
      DefaultObject=Default__KismetMathLibrary
      bHidden=True
   End Object
   bIsPureFunc=True
   FunctionReference=(MemberParent=Class'/Script/Engine.KismetMathLibrary',MemberName="Conv_IntToFloat")
   Pins(0)=EdGraphPin'EdGraphPin_60683'
   Pins(1)=EdGraphPin'EdGraphPin_60684'
   Pins(2)=EdGraphPin'EdGraphPin_60685'
   NodePosX=6288
   NodePosY=-2928
   NodeGuid=69860266447B17B0CECBC4B5089FD81E
End Object
Begin Object Class=K2Node_MacroInstance Name="K2Node_MacroInstance_148"
   Begin Object Class=EdGraphPin Name="EdGraphPin_62208"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_62207"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_62206"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_62205"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_62204"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_62203"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_62202"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_62201"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_62200"
   End Object
   Begin Object Name="EdGraphPin_62208"
      PinName="Completed"
      Direction=EGPD_Output
      PinType=(PinCategory="exec")
   End Object
   Begin Object Name="EdGraphPin_62207"
      PinName="Tock"
      Direction=EGPD_Output
      PinType=(PinCategory="exec")
   End Object
   Begin Object Name="EdGraphPin_62206"
      PinName="Index"
      Direction=EGPD_Output
      PinType=(PinCategory="int")
      AutogeneratedDefaultValue="0"
      LinkedTo(0)=EdGraphPin'K2Node_CallFunction_25100.EdGraphPin_60684'
   End Object
   Begin Object Name="EdGraphPin_62205"
      PinName="Loop Body"
      Direction=EGPD_Output
      PinType=(PinCategory="exec")
      LinkedTo(0)=EdGraphPin'K2Node_VariableSet_717.EdGraphPin_60863'
   End Object
   Begin Object Name="EdGraphPin_62204"
      PinName="Loops Per Tick"
      PinType=(PinCategory="int")
      DefaultValue="2"
   End Object
   Begin Object Name="EdGraphPin_62203"
      PinName="Last Index"
      PinType=(PinCategory="int")
      DefaultValue="0"
      LinkedTo(0)=EdGraphPin'K2Node_VariableGet_2618.EdGraphPin_60665'
   End Object
   Begin Object Name="EdGraphPin_62202"
      PinName="First Index"
      PinType=(PinCategory="int")
      DefaultValue="0"
   End Object
   Begin Object Name="EdGraphPin_62201"
      PinName="Tick"
      PinType=(PinCategory="exec")
      LinkedTo(0)=EdGraphPin'K2Node_Event_1312.EdGraphPin_3777'
   End Object
   Begin Object Name="EdGraphPin_62200"
      PinName="Initialize"
      PinType=(PinCategory="exec")
      LinkedTo(0)=EdGraphPin'K2Node_AddComponent_59.EdGraphPin_60747'
   End Object
   MacroGraphReference=(MacroGraph=EdGraph'/Game/FirstPersonBP/Blueprints/FirstPersonCharacter.FirstPersonCharacter:ForLoopPerTick',GraphBlueprint=Blueprint'/Game/FirstPersonBP/Blueprints/FirstPersonCharacter.FirstPersonCharacter',GraphGuid=1E554AE848BFC0E3D198C6ACE5580B8E)
   Pins(0)=EdGraphPin'EdGraphPin_62200'
   Pins(1)=EdGraphPin'EdGraphPin_62201'
   Pins(2)=EdGraphPin'EdGraphPin_62202'
   Pins(3)=EdGraphPin'EdGraphPin_62203'
   Pins(4)=EdGraphPin'EdGraphPin_62204'
   Pins(5)=EdGraphPin'EdGraphPin_62205'
   Pins(6)=EdGraphPin'EdGraphPin_62206'
   Pins(7)=EdGraphPin'EdGraphPin_62207'
   Pins(8)=EdGraphPin'EdGraphPin_62208'
   NodePosX=5984
   NodePosY=-2960
   NodeGuid=D6AB195C4A7CF84EB266069A0CE89A49
End Object
Begin Object Class=K2Node_AddComponent Name="K2Node_AddComponent_59"
   Begin Object Class=EdGraphPin Name="EdGraphPin_60753"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60752"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60751"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60750"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60749"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60748"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60747"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60746"
   End Object
   Begin Object Name="EdGraphPin_60753"
      PinName="ReturnValue"
      PinToolTip="Return Value
Actor Component Reference"
      Direction=EGPD_Output
      PinType=(PinCategory="object",PinSubCategoryObject=Class'/Script/Engine.InstancedStaticMeshComponent')
      LinkedTo(0)=EdGraphPin'K2Node_Knot_371.EdGraphPin_60890'
   End Object
   Begin Object Name="EdGraphPin_60752"
      PinName="ComponentTemplateContext"
      PinToolTip="Component Template Context
Object Reference"
      PinType=(PinCategory="object",PinSubCategoryObject=Class'/Script/CoreUObject.Object',bIsConst=True)
      bHidden=True
   End Object
   Begin Object Name="EdGraphPin_60751"
      PinName="RelativeTransform"
      PinToolTip="Relative Transform
Transform 

Defines where to position the component (relative to its parent). If the component is left unattached, then the transform is relative to the world."
      PinType=(PinCategory="struct",PinSubCategoryObject=ScriptStruct'/Script/CoreUObject.Transform',bIsConst=True)
      bDefaultValueIsIgnored=True
   End Object
   Begin Object Name="EdGraphPin_60750"
      PinName="bManualAttachment"
      PinToolTip="Manual Attachment
Boolean

Defines whether the component should attach to the root automatically, or be left unattached for the user to manually attach later."
      PinType=(PinCategory="bool")
      DefaultValue="true"
      AutogeneratedDefaultValue="false"
   End Object
   Begin Object Name="EdGraphPin_60749"
      PinName="TemplateName"
      PinToolTip="Template Name
Name"
      PinType=(PinCategory="name")
      DefaultValue="InstancedStaticMeshComponent_28987"
      AutogeneratedDefaultValue="None"
      bHidden=True
      bNotConnectable=True
      bDefaultValueIsReadOnly=True
   End Object
   Begin Object Name="EdGraphPin_60748"
      PinName="self"
      PinFriendlyName="Target"
      PinToolTip="Target
Actor Reference"
      PinType=(PinCategory="object",PinSubCategoryObject=Class'/Script/Engine.Actor')
   End Object
   Begin Object Name="EdGraphPin_60747"
      PinName="then"
      Direction=EGPD_Output
      PinType=(PinCategory="exec")
      LinkedTo(0)=EdGraphPin'K2Node_MacroInstance_148.EdGraphPin_62200'
   End Object
   Begin Object Name="EdGraphPin_60746"
      PinName="execute"
      PinType=(PinCategory="exec")
      LinkedTo(0)=EdGraphPin'K2Node_InputKey_158.EdGraphPin_61815'
   End Object
   TemplateBlueprint="/Game/FirstPersonBP/Blueprints/FirstPersonCharacter.FirstPersonCharacter"
   FunctionReference=(MemberName="AddComponent",bSelfContext=True)
   Pins(0)=EdGraphPin'EdGraphPin_60746'
   Pins(1)=EdGraphPin'EdGraphPin_60747'
   Pins(2)=EdGraphPin'EdGraphPin_60748'
   Pins(3)=EdGraphPin'EdGraphPin_60749'
   Pins(4)=EdGraphPin'EdGraphPin_60750'
   Pins(5)=EdGraphPin'EdGraphPin_60751'
   Pins(6)=EdGraphPin'EdGraphPin_60752'
   Pins(7)=EdGraphPin'EdGraphPin_60753'
   NodePosX=5360
   NodePosY=-2992
   NodeGuid=B7107E064A6EE899F99E46BC00446D9B
End Object
Begin Object Class=K2Node_CallFunction Name="K2Node_CallFunction_4538"
   Begin Object Class=EdGraphPin Name="EdGraphPin_60774"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60773"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60772"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60771"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60770"
   End Object
   Begin Object Name="EdGraphPin_60774"
      PinName="ReturnValue"
      PinToolTip="Return Value
Transform "
      Direction=EGPD_Output
      PinType=(PinCategory="struct",PinSubCategoryObject=ScriptStruct'/Script/CoreUObject.Transform')
      LinkedTo(0)=EdGraphPin'K2Node_CallFunction_8579.EdGraphPin_60809'
   End Object
   Begin Object Name="EdGraphPin_60773"
      PinName="Scale"
      PinToolTip="Scale
Vector "
      PinType=(PinCategory="struct",PinSubCategoryObject=ScriptStruct'/Script/CoreUObject.Vector')
      DefaultValue="0, 0, 0"
      AutogeneratedDefaultValue="1,1,1"
      LinkedTo(0)=EdGraphPin'K2Node_CallFunction_6812.EdGraphPin_60789'
   End Object
   Begin Object Name="EdGraphPin_60772"
      PinName="Rotation"
      PinToolTip="Rotation
Rotator "
      PinType=(PinCategory="struct",PinSubCategoryObject=ScriptStruct'/Script/CoreUObject.Rotator')
      DefaultValue="0, 0, 0"
      AutogeneratedDefaultValue="0, 0, 0"
   End Object
   Begin Object Name="EdGraphPin_60771"
      PinName="Location"
      PinToolTip="Location
Vector "
      PinType=(PinCategory="struct",PinSubCategoryObject=ScriptStruct'/Script/CoreUObject.Vector')
      DefaultValue="0, 0, 0"
      AutogeneratedDefaultValue="0, 0, 0"
      LinkedTo(0)=EdGraphPin'K2Node_CallFunction_3485.EdGraphPin_60487'
   End Object
   Begin Object Name="EdGraphPin_60770"
      PinName="self"
      PinFriendlyName="Target"
      PinToolTip="Target
Kismet Math Library Reference"
      PinType=(PinCategory="object",PinSubCategoryObject=Class'/Script/Engine.KismetMathLibrary')
      DefaultObject=Default__KismetMathLibrary
      bHidden=True
   End Object
   bIsPureFunc=True
   FunctionReference=(MemberParent=Class'/Script/Engine.KismetMathLibrary',MemberName="MakeTransform")
   Pins(0)=EdGraphPin'EdGraphPin_60770'
   Pins(1)=EdGraphPin'EdGraphPin_60771'
   Pins(2)=EdGraphPin'EdGraphPin_60772'
   Pins(3)=EdGraphPin'EdGraphPin_60773'
   Pins(4)=EdGraphPin'EdGraphPin_60774'
   NodePosX=9104
   NodePosY=-2960
   NodeGuid=709D305646A012D482156DA2A7F3023F
End Object
Begin Object Class=K2Node_CallFunction Name="K2Node_CallFunction_6812"
   Begin Object Class=EdGraphPin Name="EdGraphPin_60789"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60788"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60787"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60786"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60785"
   End Object
   Begin Object Name="EdGraphPin_60789"
      PinName="ReturnValue"
      PinToolTip="Return Value
Vector "
      Direction=EGPD_Output
      PinType=(PinCategory="struct",PinSubCategoryObject=ScriptStruct'/Script/CoreUObject.Vector')
      AutogeneratedDefaultValue="0, 0, 0"
      LinkedTo(0)=EdGraphPin'K2Node_CallFunction_4538.EdGraphPin_60773'
   End Object
   Begin Object Name="EdGraphPin_60788"
      PinName="Z"
      PinToolTip="Z
Float"
      PinType=(PinCategory="float")
      DefaultValue="0.0"
      AutogeneratedDefaultValue="0.0"
      LinkedTo(0)=EdGraphPin'K2Node_VariableGet_1999.EdGraphPin_60800'
   End Object
   Begin Object Name="EdGraphPin_60787"
      PinName="Y"
      PinToolTip="Y
Float"
      PinType=(PinCategory="float")
      DefaultValue="0.0"
      AutogeneratedDefaultValue="0.0"
      LinkedTo(0)=EdGraphPin'K2Node_VariableGet_1999.EdGraphPin_60800'
   End Object
   Begin Object Name="EdGraphPin_60786"
      PinName="X"
      PinToolTip="X
Float"
      PinType=(PinCategory="float")
      DefaultValue="0.0"
      AutogeneratedDefaultValue="0.0"
      LinkedTo(0)=EdGraphPin'K2Node_VariableGet_1999.EdGraphPin_60800'
   End Object
   Begin Object Name="EdGraphPin_60785"
      PinName="self"
      PinFriendlyName="Target"
      PinToolTip="Target
Kismet Math Library Reference"
      PinType=(PinCategory="object",PinSubCategoryObject=Class'/Script/Engine.KismetMathLibrary')
      DefaultObject=Default__KismetMathLibrary
      bHidden=True
   End Object
   bIsPureFunc=True
   FunctionReference=(MemberParent=Class'/Script/Engine.KismetMathLibrary',MemberName="MakeVector")
   Pins(0)=EdGraphPin'EdGraphPin_60785'
   Pins(1)=EdGraphPin'EdGraphPin_60786'
   Pins(2)=EdGraphPin'EdGraphPin_60787'
   Pins(3)=EdGraphPin'EdGraphPin_60788'
   Pins(4)=EdGraphPin'EdGraphPin_60789'
   NodePosX=8912
   NodePosY=-2880
   NodeGuid=E03D687E4811003C02B8C0921F56EDD8
End Object
Begin Object Class=K2Node_VariableGet Name="K2Node_VariableGet_1999"
   Begin Object Class=EdGraphPin Name="EdGraphPin_60801"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60800"
   End Object
   Begin Object Name="EdGraphPin_60801"
      PinName="self"
      PinFriendlyName="Target"
      PinType=(PinCategory="object",PinSubCategoryObject=BlueprintGeneratedClass'/Game/FirstPersonBP/Blueprints/FirstPersonCharacter.FirstPersonCharacter_C')
      bHidden=True
   End Object
   Begin Object Name="EdGraphPin_60800"
      PinName="ScaleConstant"
      Direction=EGPD_Output
      PinType=(PinCategory="float")
      AutogeneratedDefaultValue="0.0"
      LinkedTo(0)=EdGraphPin'K2Node_CallFunction_6812.EdGraphPin_60786'
      LinkedTo(1)=EdGraphPin'K2Node_CallFunction_6812.EdGraphPin_60787'
      LinkedTo(2)=EdGraphPin'K2Node_CallFunction_6812.EdGraphPin_60788'
   End Object
   VariableReference=(MemberName="ScaleConstant",bSelfContext=True)
   Pins(0)=EdGraphPin'EdGraphPin_60800'
   Pins(1)=EdGraphPin'EdGraphPin_60801'
   NodePosX=8752
   NodePosY=-2848
   NodeGuid=C22E78AF4CBD64D7302008B51093EBA7
End Object
Begin Object Class=K2Node_CallFunction Name="K2Node_CallFunction_8579"
   Begin Object Class=EdGraphPin Name="EdGraphPin_60810"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60809"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60808"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60807"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60806"
   End Object
   Begin Object Name="EdGraphPin_60810"
      PinName="ReturnValue"
      PinToolTip="Return Value
Integer"
      Direction=EGPD_Output
      PinType=(PinCategory="int")
      DefaultValue="0"
      AutogeneratedDefaultValue="0"
   End Object
   Begin Object Name="EdGraphPin_60809"
      PinName="WorldTransform"
      PinToolTip="World Transform
Transform  (by ref)"
      PinType=(PinCategory="struct",PinSubCategoryObject=ScriptStruct'/Script/CoreUObject.Transform',bIsReference=True,bIsConst=True)
      LinkedTo(0)=EdGraphPin'K2Node_CallFunction_4538.EdGraphPin_60774'
      bDefaultValueIsIgnored=True
   End Object
   Begin Object Name="EdGraphPin_60808"
      PinName="self"
      PinFriendlyName="Target"
      PinToolTip="Target
Instanced Static Mesh Component Reference"
      PinType=(PinCategory="object",PinSubCategoryObject=Class'/Script/Engine.InstancedStaticMeshComponent')
      LinkedTo(0)=EdGraphPin'K2Node_Knot_372.EdGraphPin_60897'
   End Object
   Begin Object Name="EdGraphPin_60807"
      PinName="then"
      Direction=EGPD_Output
      PinType=(PinCategory="exec")
   End Object
   Begin Object Name="EdGraphPin_60806"
      PinName="execute"
      PinType=(PinCategory="exec")
      LinkedTo(0)=EdGraphPin'K2Node_Knot_236.EdGraphPin_60828'
   End Object
   FunctionReference=(MemberParent=Class'/Script/Engine.InstancedStaticMeshComponent',MemberName="AddInstanceWorldSpace")
   Pins(0)=EdGraphPin'EdGraphPin_60806'
   Pins(1)=EdGraphPin'EdGraphPin_60807'
   Pins(2)=EdGraphPin'EdGraphPin_60808'
   Pins(3)=EdGraphPin'EdGraphPin_60809'
   Pins(4)=EdGraphPin'EdGraphPin_60810'
   NodePosX=9408
   NodePosY=-3088
   NodeGuid=FD4F7A364DFD8668B3E72CA70E800427
End Object
Begin Object Class=K2Node_Knot Name="K2Node_Knot_173"
   Begin Object Class=EdGraphPin Name="EdGraphPin_60822"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60821"
   End Object
   Begin Object Name="EdGraphPin_60822"
      PinName="OutputPin"
      Direction=EGPD_Output
      PinType=(PinCategory="object",PinSubCategoryObject=Class'/Script/Engine.InstancedStaticMeshComponent')
      LinkedTo(0)=EdGraphPin'K2Node_Knot_372.EdGraphPin_60896'
   End Object
   Begin Object Name="EdGraphPin_60821"
      PinName="InputPin"
      PinType=(PinCategory="object",PinSubCategoryObject=Class'/Script/Engine.InstancedStaticMeshComponent')
      LinkedTo(0)=EdGraphPin'K2Node_Knot_371.EdGraphPin_60891'
      bDefaultValueIsIgnored=True
   End Object
   Pins(0)=EdGraphPin'EdGraphPin_60821'
   Pins(1)=EdGraphPin'EdGraphPin_60822'
   NodePosX=8416
   NodePosY=-2176
   NodeGuid=AE8168574881B47A673F60AFB431E3D0
End Object
Begin Object Class=K2Node_Knot Name="K2Node_Knot_236"
   Begin Object Class=EdGraphPin Name="EdGraphPin_60828"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60827"
   End Object
   Begin Object Name="EdGraphPin_60828"
      PinName="OutputPin"
      Direction=EGPD_Output
      PinType=(PinCategory="exec")
      LinkedTo(0)=EdGraphPin'K2Node_CallFunction_8579.EdGraphPin_60806'
   End Object
   Begin Object Name="EdGraphPin_60827"
      PinName="InputPin"
      PinType=(PinCategory="exec")
      LinkedTo(0)=EdGraphPin'K2Node_CallFunction_2236.EdGraphPin_60402'
      bDefaultValueIsIgnored=True
   End Object
   Pins(0)=EdGraphPin'EdGraphPin_60827'
   Pins(1)=EdGraphPin'EdGraphPin_60828'
   NodePosX=8752
   NodePosY=-3040
   NodeGuid=E2177833462498CEDFCC368A628554C6
End Object
Begin Object Class=EdGraphNode_Comment Name="EdGraphNode_Comment_731"
   CommentDepth=-2
   NodePosX=5728
   NodePosY=-2672
   NodeWidth=1824
   NodeHeight=464
   NodeComment="3) Loop around character\'s \"PITCH axis\""
   NodeGuid=84BCC4274A8B1A27C2AAFFA180AFF34B
End Object
Begin Object Class=EdGraphNode_Comment Name="EdGraphNode_Comment_739"
   NodePosX=8704
   NodePosY=-3136
   NodeWidth=1051
   NodeHeight=918
   NodeComment="5) Display \"something\" (Debug Point, mesh, sprite, etc.)"
   NodeGuid=54F5AB8A447872CB5174FAB08518C64D
End Object
Begin Object Class=K2Node_VariableGet Name="K2Node_VariableGet_1534"
   Begin Object Class=EdGraphPin Name="EdGraphPin_60834"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60833"
   End Object
   Begin Object Name="EdGraphPin_60834"
      PinName="self"
      PinFriendlyName="Target"
      PinType=(PinCategory="object",PinSubCategoryObject=BlueprintGeneratedClass'/Game/FirstPersonBP/Blueprints/FirstPersonCharacter.FirstPersonCharacter_C')
      bHidden=True
   End Object
   Begin Object Name="EdGraphPin_60833"
      PinName="FirstPersonCamera"
      Direction=EGPD_Output
      PinType=(PinCategory="object",PinSubCategoryObject=Class'/Script/Engine.CameraComponent')
      LinkedTo(0)=EdGraphPin'K2Node_CallFunction_11681.EdGraphPin_60839'
   End Object
   VariableReference=(MemberName="FirstPersonCamera",bSelfContext=True)
   Pins(0)=EdGraphPin'EdGraphPin_60833'
   Pins(1)=EdGraphPin'EdGraphPin_60834'
   NodePosX=7648
   NodePosY=-2928
   NodeGuid=B887CD594035EBAE5871D289C8F68BBF
End Object
Begin Object Class=K2Node_CallFunction Name="K2Node_CallFunction_11681"
   Begin Object Class=EdGraphPin Name="EdGraphPin_60840"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60839"
   End Object
   Begin Object Name="EdGraphPin_60840"
      PinName="ReturnValue"
      PinToolTip="Return Value
Vector "
      Direction=EGPD_Output
      PinType=(PinCategory="struct",PinSubCategoryObject=ScriptStruct'/Script/CoreUObject.Vector')
      AutogeneratedDefaultValue="0, 0, 0"
      LinkedTo(0)=EdGraphPin'K2Node_CallFunction_2236.EdGraphPin_60405'
   End Object
   Begin Object Name="EdGraphPin_60839"
      PinName="self"
      PinFriendlyName="Target"
      PinToolTip="Target
Scene Component Reference"
      PinType=(PinCategory="object",PinSubCategoryObject=Class'/Script/Engine.SceneComponent')
      LinkedTo(0)=EdGraphPin'K2Node_VariableGet_1534.EdGraphPin_60833'
   End Object
   bIsPureFunc=True
   bIsConstFunc=True
   FunctionReference=(MemberParent=Class'/Script/Engine.SceneComponent',MemberName="K2_GetComponentLocation")
   Pins(0)=EdGraphPin'EdGraphPin_60839'
   Pins(1)=EdGraphPin'EdGraphPin_60840'
   NodePosX=7824
   NodePosY=-2960
   NodeGuid=CB90673644764E5E625693A774FF59D2
End Object
Begin Object Class=EdGraphNode_Comment Name="EdGraphNode_Comment_780"
   NodePosX=7600
   NodePosY=-3040
   NodeWidth=467
   NodeHeight=170
   NodeComment="4a) Start Trace @ First Person Camera Location"
   NodeGuid=86F6245F491ED7BD89FE7780BF71574F
End Object
Begin Object Class=K2Node_VariableGet Name="K2Node_VariableGet_2926"
   Begin Object Class=EdGraphPin Name="EdGraphPin_60846"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60845"
   End Object
   Begin Object Name="EdGraphPin_60846"
      PinName="self"
      PinFriendlyName="Target"
      PinType=(PinCategory="object",PinSubCategoryObject=BlueprintGeneratedClass'/Game/FirstPersonBP/Blueprints/FirstPersonCharacter.FirstPersonCharacter_C')
      bHidden=True
   End Object
   Begin Object Name="EdGraphPin_60845"
      PinName="FirstPersonCamera"
      Direction=EGPD_Output
      PinType=(PinCategory="object",PinSubCategoryObject=Class'/Script/Engine.CameraComponent')
      LinkedTo(0)=EdGraphPin'K2Node_CallFunction_12274.EdGraphPin_60452'
   End Object
   VariableReference=(MemberName="FirstPersonCamera",bSelfContext=True)
   Pins(0)=EdGraphPin'EdGraphPin_60845'
   Pins(1)=EdGraphPin'EdGraphPin_60846'
   NodePosX=6448
   NodePosY=-2960
   NodeGuid=43637B1D4A9130817CE9BA8606720949
End Object
Begin Object Class=EdGraphNode_Comment Name="EdGraphNode_Comment_790"
   NodePosX=5152
   NodePosY=-3072
   NodeWidth=512
   NodeHeight=256
   NodeComment="1) Create Instanced Static Mesh Component after click"
   NodeGuid=C115857C45F7A510E98EA3A458C4A675
End Object
Begin Object Class=EdGraphNode_Comment Name="EdGraphNode_Comment_801"
   NodePosX=5744
   NodePosY=-3008
   NodeWidth=528
   NodeHeight=240
   NodeComment="2a) Only do 2 \"YAW loops\" per tick"
   NodeGuid=98DA74DB4129B94E7CFA188954715755
End Object
Begin Object Class=K2Node_VariableGet Name="K2Node_VariableGet_1706"
   Begin Object Class=EdGraphPin Name="EdGraphPin_60852"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60851"
   End Object
   Begin Object Name="EdGraphPin_60852"
      PinName="self"
      PinFriendlyName="Target"
      PinType=(PinCategory="object",PinSubCategoryObject=BlueprintGeneratedClass'/Game/FirstPersonBP/Blueprints/FirstPersonCharacter.FirstPersonCharacter_C')
      bHidden=True
   End Object
   Begin Object Name="EdGraphPin_60851"
      PinName="FirstPersonCamera"
      Direction=EGPD_Output
      PinType=(PinCategory="object",PinSubCategoryObject=Class'/Script/Engine.CameraComponent')
      LinkedTo(0)=EdGraphPin'K2Node_CallFunction_24591.EdGraphPin_60857'
   End Object
   VariableReference=(MemberName="FirstPersonCamera",bSelfContext=True)
   Pins(0)=EdGraphPin'EdGraphPin_60851'
   Pins(1)=EdGraphPin'EdGraphPin_60852'
   NodePosX=6368
   NodePosY=-2304
   NodeGuid=50F99F8C4FA47F9CFAA6A7AF292F2D74
End Object
Begin Object Class=K2Node_CallFunction Name="K2Node_CallFunction_24591"
   Begin Object Class=EdGraphPin Name="EdGraphPin_60858"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60857"
   End Object
   Begin Object Name="EdGraphPin_60858"
      PinName="ReturnValue"
      PinToolTip="Return Value
Vector "
      Direction=EGPD_Output
      PinType=(PinCategory="struct",PinSubCategoryObject=ScriptStruct'/Script/CoreUObject.Vector')
      AutogeneratedDefaultValue="0, 0, 0"
      LinkedTo(0)=EdGraphPin'K2Node_CallFunction_11347.EdGraphPin_60611'
   End Object
   Begin Object Name="EdGraphPin_60857"
      PinName="self"
      PinFriendlyName="Target"
      PinToolTip="Target
Scene Component Reference"
      PinType=(PinCategory="object",PinSubCategoryObject=Class'/Script/Engine.SceneComponent')
      LinkedTo(0)=EdGraphPin'K2Node_VariableGet_1706.EdGraphPin_60851'
   End Object
   bIsPureFunc=True
   bIsConstFunc=True
   FunctionReference=(MemberParent=Class'/Script/Engine.SceneComponent',MemberName="GetUpVector")
   Pins(0)=EdGraphPin'EdGraphPin_60857'
   Pins(1)=EdGraphPin'EdGraphPin_60858'
   NodePosX=6544
   NodePosY=-2336
   NodeGuid=E383ED9A4587B6AFA3AA689CAC4909E0
End Object
Begin Object Class=EdGraphNode_Comment Name="EdGraphNode_Comment_813"
   CommentDepth=-2
   NodePosX=5728
   NodePosY=-3168
   NodeWidth=1632
   NodeHeight=432
   NodeComment="2) Loop around character\'s \"YAW axis\""
   NodeGuid=A570B84A41EA8E501D8ECFA28B499BE9
End Object
Begin Object Class=EdGraphNode_Comment Name="EdGraphNode_Comment_826"
   NodePosX=6400
   NodePosY=-3072
   NodeWidth=928
   NodeHeight=304
   NodeComment="2b) Rotate character\'s FORWARD vector about character\'s UP vector by specified yaw degrees"
   NodeGuid=C0DACBFE4B9F3948955391B6CD170AD3
End Object
Begin Object Class=EdGraphNode_Comment Name="EdGraphNode_Comment_840"
   NodePosX=7616
   NodePosY=-2512
   NodeWidth=560
   NodeHeight=272
   NodeComment="4b) Extend a vector 5000 UnrealUnits from FirstPersonCamera in direction of produced projection vector as End Point of trace"
   NodeGuid=A138ED4744BE42E1FC15D5863CCA3FE7
End Object
Begin Object Class=EdGraphNode_Comment Name="EdGraphNode_Comment_855"
   CommentDepth=-2
   NodePosX=7584
   NodePosY=-3152
   NodeWidth=944
   NodeHeight=944
   NodeComment="4) Line Tracing"
   NodeGuid=7677906744E0E4D6907837BC62A00D0B
End Object
Begin Object Class=EdGraphNode_Comment Name="EdGraphNode_Comment_871"
   NodePosX=6352
   NodePosY=-2576
   NodeWidth=1184
   NodeHeight=336
   NodeComment="3b) Get the vector orthogonal to the current yaw vector that lies in XY plane, then rotate about that vector by the specified pitch degrees "
   NodeGuid=AD9EAC9F48FE961EC5F0BFA95D1679E3
End Object
Begin Object Class=K2Node_VariableSet Name="K2Node_VariableSet_717"
   Begin Object Class=EdGraphPin Name="EdGraphPin_60867"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60866"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60865"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60864"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60863"
   End Object
   Begin Object Name="EdGraphPin_60867"
      PinName="self"
      PinFriendlyName="Target"
      PinType=(PinCategory="object",PinSubCategoryObject=BlueprintGeneratedClass'/Game/FirstPersonBP/Blueprints/FirstPersonCharacter.FirstPersonCharacter_C')
      bHidden=True
   End Object
   Begin Object Name="EdGraphPin_60866"
      PinName="Output_Get"
      PinToolTip="Retrieves the value of the variable, can use instead of a separate Get node"
      Direction=EGPD_Output
      PinType=(PinCategory="struct",PinSubCategoryObject=ScriptStruct'/Script/CoreUObject.Vector')
      DefaultValue="0, 0, 0"
      AutogeneratedDefaultValue="0, 0, 0"
   End Object
   Begin Object Name="EdGraphPin_60865"
      PinName="currentYawVector"
      PinType=(PinCategory="struct",PinSubCategoryObject=ScriptStruct'/Script/CoreUObject.Vector')
      DefaultValue="0, 0, 0"
      AutogeneratedDefaultValue="0, 0, 0"
      LinkedTo(0)=EdGraphPin'K2Node_CallFunction_4411.EdGraphPin_60597'
   End Object
   Begin Object Name="EdGraphPin_60864"
      PinName="then"
      Direction=EGPD_Output
      PinType=(PinCategory="exec")
      LinkedTo(0)=EdGraphPin'K2Node_MacroInstance_66.EdGraphPin_60554'
   End Object
   Begin Object Name="EdGraphPin_60863"
      PinName="execute"
      PinType=(PinCategory="exec")
      LinkedTo(0)=EdGraphPin'K2Node_MacroInstance_148.EdGraphPin_62205'
   End Object
   VariableReference=(MemberName="currentYawVector",bSelfContext=True)
   Pins(0)=EdGraphPin'EdGraphPin_60863'
   Pins(1)=EdGraphPin'EdGraphPin_60864'
   Pins(2)=EdGraphPin'EdGraphPin_60865'
   Pins(3)=EdGraphPin'EdGraphPin_60866'
   Pins(4)=EdGraphPin'EdGraphPin_60867'
   NodePosX=7120
   NodePosY=-3008
   NodeGuid=8FDDB8484A306EFC0ADB1C939A472A96
End Object
Begin Object Class=K2Node_VariableGet Name="K2Node_VariableGet_3216"
   Begin Object Class=EdGraphPin Name="EdGraphPin_60879"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60878"
   End Object
   Begin Object Name="EdGraphPin_60879"
      PinName="self"
      PinFriendlyName="Target"
      PinType=(PinCategory="object",PinSubCategoryObject=BlueprintGeneratedClass'/Game/FirstPersonBP/Blueprints/FirstPersonCharacter.FirstPersonCharacter_C')
      bHidden=True
   End Object
   Begin Object Name="EdGraphPin_60878"
      PinName="currentYawVector"
      Direction=EGPD_Output
      PinType=(PinCategory="struct",PinSubCategoryObject=ScriptStruct'/Script/CoreUObject.Vector')
      AutogeneratedDefaultValue="0, 0, 0"
      LinkedTo(0)=EdGraphPin'K2Node_CallFunction_6097.EdGraphPin_60573'
   End Object
   VariableReference=(MemberName="currentYawVector",bSelfContext=True)
   Pins(0)=EdGraphPin'EdGraphPin_60878'
   Pins(1)=EdGraphPin'EdGraphPin_60879'
   NodePosX=6816
   NodePosY=-2496
   NodeGuid=0F2E173D4E08059150B167986661AF33
End Object
Begin Object Class=K2Node_VariableGet Name="K2Node_VariableGet_3215"
   Begin Object Class=EdGraphPin Name="EdGraphPin_60885"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60884"
   End Object
   Begin Object Name="EdGraphPin_60885"
      PinName="self"
      PinFriendlyName="Target"
      PinType=(PinCategory="object",PinSubCategoryObject=BlueprintGeneratedClass'/Game/FirstPersonBP/Blueprints/FirstPersonCharacter.FirstPersonCharacter_C')
      bHidden=True
   End Object
   Begin Object Name="EdGraphPin_60884"
      PinName="currentYawVector"
      Direction=EGPD_Output
      PinType=(PinCategory="struct",PinSubCategoryObject=ScriptStruct'/Script/CoreUObject.Vector')
      AutogeneratedDefaultValue="0, 0, 0"
      LinkedTo(0)=EdGraphPin'K2Node_CallFunction_11347.EdGraphPin_60609'
   End Object
   VariableReference=(MemberName="currentYawVector",bSelfContext=True)
   Pins(0)=EdGraphPin'EdGraphPin_60884'
   Pins(1)=EdGraphPin'EdGraphPin_60885'
   NodePosX=6544
   NodePosY=-2432
   NodeGuid=DCAE72614A775382297B8C88EAB6E7F4
End Object
Begin Object Class=K2Node_Knot Name="K2Node_Knot_371"
   Begin Object Class=EdGraphPin Name="EdGraphPin_60891"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60890"
   End Object
   Begin Object Name="EdGraphPin_60891"
      PinName="OutputPin"
      Direction=EGPD_Output
      PinType=(PinCategory="object",PinSubCategoryObject=Class'/Script/Engine.InstancedStaticMeshComponent')
      LinkedTo(0)=EdGraphPin'K2Node_Knot_173.EdGraphPin_60821'
      LinkedTo(1)=EdGraphPin'K2Node_CallFunction_21094.EdGraphPin_62619'
   End Object
   Begin Object Name="EdGraphPin_60890"
      PinName="InputPin"
      PinType=(PinCategory="object",PinSubCategoryObject=Class'/Script/Engine.InstancedStaticMeshComponent')
      LinkedTo(0)=EdGraphPin'K2Node_AddComponent_59.EdGraphPin_60753'
      bDefaultValueIsIgnored=True
   End Object
   Pins(0)=EdGraphPin'EdGraphPin_60890'
   Pins(1)=EdGraphPin'EdGraphPin_60891'
   NodePosX=5776
   NodePosY=-2176
   NodeGuid=43CCDE774C76783A04A70FBFD6E71D10
End Object
Begin Object Class=K2Node_Knot Name="K2Node_Knot_372"
   Begin Object Class=EdGraphPin Name="EdGraphPin_60897"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60896"
   End Object
   Begin Object Name="EdGraphPin_60897"
      PinName="OutputPin"
      Direction=EGPD_Output
      PinType=(PinCategory="object",PinSubCategoryObject=Class'/Script/Engine.InstancedStaticMeshComponent')
      LinkedTo(0)=EdGraphPin'K2Node_CallFunction_8579.EdGraphPin_60808'
   End Object
   Begin Object Name="EdGraphPin_60896"
      PinName="InputPin"
      PinType=(PinCategory="object",PinSubCategoryObject=Class'/Script/Engine.InstancedStaticMeshComponent')
      LinkedTo(0)=EdGraphPin'K2Node_Knot_173.EdGraphPin_60822'
      bDefaultValueIsIgnored=True
   End Object
   Pins(0)=EdGraphPin'EdGraphPin_60896'
   Pins(1)=EdGraphPin'EdGraphPin_60897'
   NodePosX=8752
   NodePosY=-3008
   NodeGuid=FD3E612840DCA380DAAAFC8F795EA413
End Object
Begin Object Class=K2Node_VariableSet Name="K2Node_VariableSet_760"
   Begin Object Class=EdGraphPin Name="EdGraphPin_60906"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60905"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60904"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60903"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60902"
   End Object
   Begin Object Name="EdGraphPin_60906"
      PinName="self"
      PinFriendlyName="Target"
      PinType=(PinCategory="object",PinSubCategoryObject=BlueprintGeneratedClass'/Game/FirstPersonBP/Blueprints/FirstPersonCharacter.FirstPersonCharacter_C')
      bHidden=True
   End Object
   Begin Object Name="EdGraphPin_60905"
      PinName="Output_Get"
      PinToolTip="Retrieves the value of the variable, can use instead of a separate Get node"
      Direction=EGPD_Output
      PinType=(PinCategory="struct",PinSubCategoryObject=ScriptStruct'/Script/CoreUObject.Vector')
      DefaultValue="0, 0, 0"
      AutogeneratedDefaultValue="0, 0, 0"
   End Object
   Begin Object Name="EdGraphPin_60904"
      PinName="currentPitchVector"
      PinType=(PinCategory="struct",PinSubCategoryObject=ScriptStruct'/Script/CoreUObject.Vector')
      DefaultValue="0, 0, 0"
      AutogeneratedDefaultValue="0, 0, 0"
      LinkedTo(0)=EdGraphPin'K2Node_CallFunction_6097.EdGraphPin_60576'
   End Object
   Begin Object Name="EdGraphPin_60903"
      PinName="then"
      Direction=EGPD_Output
      PinType=(PinCategory="exec")
      LinkedTo(0)=EdGraphPin'K2Node_CallFunction_2236.EdGraphPin_60401'
   End Object
   Begin Object Name="EdGraphPin_60902"
      PinName="execute"
      PinType=(PinCategory="exec")
      LinkedTo(0)=EdGraphPin'K2Node_MacroInstance_66.EdGraphPin_60557'
   End Object
   VariableReference=(MemberName="currentPitchVector",bSelfContext=True)
   Pins(0)=EdGraphPin'EdGraphPin_60902'
   Pins(1)=EdGraphPin'EdGraphPin_60903'
   Pins(2)=EdGraphPin'EdGraphPin_60904'
   Pins(3)=EdGraphPin'EdGraphPin_60905'
   Pins(4)=EdGraphPin'EdGraphPin_60906'
   NodePosX=7296
   NodePosY=-2480
   NodeGuid=291C994B4EA5EEC89C3DD3816557163C
End Object
Begin Object Class=K2Node_VariableGet Name="K2Node_VariableGet_3575"
   Begin Object Class=EdGraphPin Name="EdGraphPin_60918"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60917"
   End Object
   Begin Object Name="EdGraphPin_60918"
      PinName="self"
      PinFriendlyName="Target"
      PinType=(PinCategory="object",PinSubCategoryObject=BlueprintGeneratedClass'/Game/FirstPersonBP/Blueprints/FirstPersonCharacter.FirstPersonCharacter_C')
      bHidden=True
   End Object
   Begin Object Name="EdGraphPin_60917"
      PinName="currentPitchVector"
      Direction=EGPD_Output
      PinType=(PinCategory="struct",PinSubCategoryObject=ScriptStruct'/Script/CoreUObject.Vector')
      AutogeneratedDefaultValue="0, 0, 0"
      LinkedTo(0)=EdGraphPin'K2Node_CallFunction_3376.EdGraphPin_60459'
   End Object
   VariableReference=(MemberName="currentPitchVector",bSelfContext=True)
   Pins(0)=EdGraphPin'EdGraphPin_60917'
   Pins(1)=EdGraphPin'EdGraphPin_60918'
   NodePosX=7664
   NodePosY=-2304
   NodeGuid=7BA98DE34A63DCA2F716D284139DEC1E
End Object
Begin Object Class=K2Node_CallFunction Name="K2Node_CallFunction_16210"
   Begin Object Class=EdGraphPin Name="EdGraphPin_60934"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60933"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_60932"
   End Object
   Begin Object Name="EdGraphPin_60934"
      PinName="ReturnValue"
      PinToolTip="Return Value
Float"
      Direction=EGPD_Output
      PinType=(PinCategory="float")
      AutogeneratedDefaultValue="0.0"
      LinkedTo(0)=EdGraphPin'K2Node_CallFunction_6097.EdGraphPin_60574'
   End Object
   Begin Object Name="EdGraphPin_60933"
      PinName="InInt"
      PinToolTip="In Int
Integer"
      PinType=(PinCategory="int")
      DefaultValue="0"
      AutogeneratedDefaultValue="0"
      LinkedTo(0)=EdGraphPin'K2Node_MacroInstance_66.EdGraphPin_60558'
   End Object
   Begin Object Name="EdGraphPin_60932"
      PinName="self"
      PinFriendlyName="Target"
      PinToolTip="Target
Kismet Math Library Reference"
      PinType=(PinCategory="object",PinSubCategoryObject=Class'/Script/Engine.KismetMathLibrary')
      DefaultObject=Default__KismetMathLibrary
      bHidden=True
   End Object
   bIsPureFunc=True
   FunctionReference=(MemberParent=Class'/Script/Engine.KismetMathLibrary',MemberName="Conv_IntToFloat")
   Pins(0)=EdGraphPin'EdGraphPin_60932'
   Pins(1)=EdGraphPin'EdGraphPin_60933'
   Pins(2)=EdGraphPin'EdGraphPin_60934'
   NodePosX=6208
   NodePosY=-2464
   NodeGuid=145528B849577CA7C2DDB4AC36E098E0
End Object
Begin Object Class=EdGraphNode_Comment Name="EdGraphNode_Comment_2067"
   NodePosX=5744
   NodePosY=-2576
   NodeWidth=576
   NodeHeight=208
   NodeComment="3a) Pitch from -90 deg (i.e. straight up relative to camera) to +50 deg "
   NodeGuid=1864FACB436325953CF1829E21E555D8
End Object
Begin Object Class=K2Node_InputKey Name="K2Node_InputKey_158"
   Begin Object Class=EdGraphPin Name="EdGraphPin_61816"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_61815"
   End Object
   Begin Object Name="EdGraphPin_61816"
      PinName="Released"
      Direction=EGPD_Output
      PinType=(PinCategory="exec")
   End Object
   Begin Object Name="EdGraphPin_61815"
      PinName="Pressed"
      Direction=EGPD_Output
      PinType=(PinCategory="exec")
      LinkedTo(0)=EdGraphPin'K2Node_AddComponent_59.EdGraphPin_60746'
   End Object
   InputKey=RightMouseButton
   Pins(0)=EdGraphPin'EdGraphPin_61815'
   Pins(1)=EdGraphPin'EdGraphPin_61816'
   NodePosX=5168
   NodePosY=-2976
   NodeGuid=2ADBF6F34441D84E8EE6049E191F91AD
End Object
Begin Object Class=K2Node_InputKey Name="K2Node_InputKey_913"
   Begin Object Class=EdGraphPin Name="EdGraphPin_62600"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_62599"
   End Object
   Begin Object Name="EdGraphPin_62600"
      PinName="Released"
      Direction=EGPD_Output
      PinType=(PinCategory="exec")
      LinkedTo(0)=EdGraphPin'K2Node_CallFunction_21088.EdGraphPin_62605'
   End Object
   Begin Object Name="EdGraphPin_62599"
      PinName="Pressed"
      Direction=EGPD_Output
      PinType=(PinCategory="exec")
   End Object
   InputKey=E
   Pins(0)=EdGraphPin'EdGraphPin_62599'
   Pins(1)=EdGraphPin'EdGraphPin_62600'
   NodePosX=5520
   NodePosY=-2080
   NodeGuid=FF6088DB4AC672D51A2B6EAA44DA7D3C
End Object
Begin Object Class=K2Node_CallFunction Name="K2Node_CallFunction_21088"
   Begin Object Class=EdGraphPin Name="EdGraphPin_62608"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_62607"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_62606"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_62605"
   End Object
   Begin Object Name="EdGraphPin_62608"
      PinName="WorldContextObject"
      PinToolTip="World Context Object
Object Reference"
      PinType=(PinCategory="object",PinSubCategoryObject=Class'/Script/CoreUObject.Object')
      bHidden=True
   End Object
   Begin Object Name="EdGraphPin_62607"
      PinName="self"
      PinFriendlyName="Target"
      PinToolTip="Target
Kismet System Library Reference"
      PinType=(PinCategory="object",PinSubCategoryObject=Class'/Script/Engine.KismetSystemLibrary')
      DefaultObject=Default__KismetSystemLibrary
      bHidden=True
   End Object
   Begin Object Name="EdGraphPin_62606"
      PinName="then"
      Direction=EGPD_Output
      PinType=(PinCategory="exec")
      LinkedTo(0)=EdGraphPin'K2Node_CallFunction_21094.EdGraphPin_62617'
   End Object
   Begin Object Name="EdGraphPin_62605"
      PinName="execute"
      PinType=(PinCategory="exec")
      LinkedTo(0)=EdGraphPin'K2Node_InputKey_913.EdGraphPin_62600'
   End Object
   FunctionReference=(MemberParent=Class'/Script/Engine.KismetSystemLibrary',MemberName="FlushPersistentDebugLines")
   Pins(0)=EdGraphPin'EdGraphPin_62605'
   Pins(1)=EdGraphPin'EdGraphPin_62606'
   Pins(2)=EdGraphPin'EdGraphPin_62607'
   Pins(3)=EdGraphPin'EdGraphPin_62608'
   NodePosX=5632
   NodePosY=-2048
   NodeGuid=F938B40A4A13B22DF2117EB9FCEC5912
End Object
Begin Object Class=K2Node_CallFunction Name="K2Node_CallFunction_21094"
   Begin Object Class=EdGraphPin Name="EdGraphPin_62619"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_62618"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_62617"
   End Object
   Begin Object Name="EdGraphPin_62619"
      PinName="self"
      PinFriendlyName="Target"
      PinToolTip="Target
Instanced Static Mesh Component Reference"
      PinType=(PinCategory="object",PinSubCategoryObject=Class'/Script/Engine.InstancedStaticMeshComponent')
      LinkedTo(0)=EdGraphPin'K2Node_Knot_371.EdGraphPin_60891'
   End Object
   Begin Object Name="EdGraphPin_62618"
      PinName="then"
      Direction=EGPD_Output
      PinType=(PinCategory="exec")
   End Object
   Begin Object Name="EdGraphPin_62617"
      PinName="execute"
      PinType=(PinCategory="exec")
      LinkedTo(0)=EdGraphPin'K2Node_CallFunction_21088.EdGraphPin_62606'
   End Object
   FunctionReference=(MemberParent=Class'/Script/Engine.InstancedStaticMeshComponent',MemberName="ClearInstances")
   Pins(0)=EdGraphPin'EdGraphPin_62617'
   Pins(1)=EdGraphPin'EdGraphPin_62618'
   Pins(2)=EdGraphPin'EdGraphPin_62619'
   NodePosX=5888
   NodePosY=-2064
   NodeGuid=278F47204782A6B2BFF438A67C3D2645
End Object
Begin Object Class=EdGraphNode_Comment Name="EdGraphNode_Comment_2651"
   NodePosX=5504
   NodePosY=-2128
   NodeWidth=688
   NodeHeight=176
   NodeComment="Erase Data Points"
   NodeGuid=49CE2530486F18B3A2A83CABB0D52D4F
End Object

You can control color for the material using AbsoluteWorldPosition + distance nodes and MaterialParameterCollection. I think.
In material parameter collection use a vector as a ping starting location and then in the material measure the distance from AbsoluteWorldPosition to the material collection vector you’ve created. Divide it by… something and you get your distance gradient.


Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_376"
   Begin Object Class=EdGraphPin Name="EdGraphPin_20675"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_20674"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_20673"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_20672"
   End Object
   Begin Object Class=MaterialExpressionLinearInterpolate Name="MaterialExpressionLinearInterpolate_5"
   End Object
   Begin Object Name="EdGraphPin_20675"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'MaterialGraphNode_Root_13.EdGraphPin_20650'
   End Object
   Begin Object Name="EdGraphPin_20674"
      PinName="Alpha"
      PinType=(PinCategory="optional")
      LinkedTo(0)=EdGraphPin'MaterialGraphNode_381.EdGraphPin_20684'
   End Object
   Begin Object Name="EdGraphPin_20673"
      PinName="B"
      PinType=(PinCategory="optional")
      LinkedTo(0)=EdGraphPin'MaterialGraphNode_382.EdGraphPin_20685'
   End Object
   Begin Object Name="EdGraphPin_20672"
      PinName="A"
      PinType=(PinCategory="optional")
      LinkedTo(0)=EdGraphPin'MaterialGraphNode_377.EdGraphPin_20676'
   End Object
   Begin Object Name="MaterialExpressionLinearInterpolate_5"
      A=(Expression=MaterialExpressionConstant3Vector'MaterialGraphNode_377.MaterialExpressionConstant3Vector_16')
      B=(Expression=MaterialExpressionConstant3Vector'MaterialGraphNode_382.MaterialExpressionConstant3Vector_17')
      Alpha=(Expression=MaterialExpressionMultiply'MaterialGraphNode_381.MaterialExpressionMultiply_32')
      MaterialExpressionEditorX=-176
      MaterialExpressionEditorY=144
      MaterialExpressionGuid=A689B7644F3DDC1CF1553AB8A947ECCD
      Material=PreviewMaterial'/Engine/Transient.PreviewMaterial_6'
   End Object
   MaterialExpression=MaterialExpressionLinearInterpolate'MaterialExpressionLinearInterpolate_5'
   Pins(0)=EdGraphPin'EdGraphPin_20672'
   Pins(1)=EdGraphPin'EdGraphPin_20673'
   Pins(2)=EdGraphPin'EdGraphPin_20674'
   Pins(3)=EdGraphPin'EdGraphPin_20675'
   NodePosX=-176
   NodePosY=144
   NodeGuid=B6887CEB4EF1CA3444541A8AB6388917
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_377"
   Begin Object Class=EdGraphPin Name="EdGraphPin_20676"
   End Object
   Begin Object Class=MaterialExpressionConstant3Vector Name="MaterialExpressionConstant3Vector_16"
   End Object
   Begin Object Name="EdGraphPin_20676"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'MaterialGraphNode_376.EdGraphPin_20672'
   End Object
   Begin Object Name="MaterialExpressionConstant3Vector_16"
      Constant=(R=0.057438,G=0.965000,B=0.133702,A=0.000000)
      MaterialExpressionEditorX=-592
      MaterialExpressionEditorY=-160
      MaterialExpressionGuid=D940F43F4815953F8616EFB789EC2BBF
      Material=PreviewMaterial'/Engine/Transient.PreviewMaterial_6'
   End Object
   MaterialExpression=MaterialExpressionConstant3Vector'MaterialExpressionConstant3Vector_16'
   Pins(0)=EdGraphPin'EdGraphPin_20676'
   NodePosX=-592
   NodePosY=-160
   NodeGuid=A8FFAD064184475D6F9184912D993919
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_378"
   Begin Object Class=EdGraphPin Name="EdGraphPin_20677"
   End Object
   Begin Object Class=MaterialExpressionObjectPositionWS Name="MaterialExpressionObjectPositionWS_18"
   End Object
   Begin Object Name="EdGraphPin_20677"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'MaterialGraphNode_380.EdGraphPin_20680'
   End Object
   Begin Object Name="MaterialExpressionObjectPositionWS_18"
      MaterialExpressionEditorX=-688
      MaterialExpressionEditorY=320
      MaterialExpressionGuid=67C2AB5440E12E289881A69C54EC0385
      Material=PreviewMaterial'/Engine/Transient.PreviewMaterial_6'
   End Object
   MaterialExpression=MaterialExpressionObjectPositionWS'MaterialExpressionObjectPositionWS_18'
   Pins(0)=EdGraphPin'EdGraphPin_20677'
   NodePosX=-688
   NodePosY=320
   NodeGuid=AD5E1C6F4921A0981ED9ECBE8A6994B9
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_379"
   Begin Object Class=EdGraphPin Name="EdGraphPin_20678"
   End Object
   Begin Object Class=MaterialExpressionWorldPosition Name="MaterialExpressionWorldPosition_9"
   End Object
   Begin Object Name="EdGraphPin_20678"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'MaterialGraphNode_380.EdGraphPin_20679'
   End Object
   Begin Object Name="MaterialExpressionWorldPosition_9"
      MaterialExpressionEditorX=-720
      MaterialExpressionEditorY=192
      MaterialExpressionGuid=14B4FF84460B349B4C777B915F30D725
      Material=PreviewMaterial'/Engine/Transient.PreviewMaterial_6'
   End Object
   MaterialExpression=MaterialExpressionWorldPosition'MaterialExpressionWorldPosition_9'
   Pins(0)=EdGraphPin'EdGraphPin_20678'
   NodePosX=-720
   NodePosY=192
   NodeGuid=C2884EE64762DF9F8D225692FDD9F584
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_380"
   Begin Object Class=EdGraphPin Name="EdGraphPin_20681"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_20680"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_20679"
   End Object
   Begin Object Class=MaterialExpressionDistance Name="MaterialExpressionDistance_6"
   End Object
   Begin Object Name="EdGraphPin_20681"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'MaterialGraphNode_381.EdGraphPin_20682'
   End Object
   Begin Object Name="EdGraphPin_20680"
      PinName="B"
      PinType=(PinCategory="required")
      LinkedTo(0)=EdGraphPin'MaterialGraphNode_378.EdGraphPin_20677'
   End Object
   Begin Object Name="EdGraphPin_20679"
      PinName="A"
      PinType=(PinCategory="required")
      LinkedTo(0)=EdGraphPin'MaterialGraphNode_379.EdGraphPin_20678'
   End Object
   Begin Object Name="MaterialExpressionDistance_6"
      A=(Expression=MaterialExpressionWorldPosition'MaterialGraphNode_379.MaterialExpressionWorldPosition_9')
      B=(Expression=MaterialExpressionObjectPositionWS'MaterialGraphNode_378.MaterialExpressionObjectPositionWS_18')
      MaterialExpressionEditorX=-512
      MaterialExpressionEditorY=288
      MaterialExpressionGuid=044599E743E9A9FBE0D571AE5D252014
      Material=PreviewMaterial'/Engine/Transient.PreviewMaterial_6'
   End Object
   MaterialExpression=MaterialExpressionDistance'MaterialExpressionDistance_6'
   Pins(0)=EdGraphPin'EdGraphPin_20679'
   Pins(1)=EdGraphPin'EdGraphPin_20680'
   Pins(2)=EdGraphPin'EdGraphPin_20681'
   NodePosX=-512
   NodePosY=288
   NodeGuid=A7F2EA1749F55B767274D0AA4FA2D758
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_381"
   Begin Object Class=EdGraphPin Name="EdGraphPin_20684"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_20683"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_20682"
   End Object
   Begin Object Class=MaterialExpressionMultiply Name="MaterialExpressionMultiply_32"
   End Object
   Begin Object Name="EdGraphPin_20684"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'MaterialGraphNode_376.EdGraphPin_20674'
   End Object
   Begin Object Name="EdGraphPin_20683"
      PinName="B"
      PinType=(PinCategory="optional")
   End Object
   Begin Object Name="EdGraphPin_20682"
      PinName="A"
      PinType=(PinCategory="optional")
      LinkedTo(0)=EdGraphPin'MaterialGraphNode_380.EdGraphPin_20681'
   End Object
   Begin Object Name="MaterialExpressionMultiply_32"
      A=(Expression=MaterialExpressionDistance'MaterialGraphNode_380.MaterialExpressionDistance_6')
      ConstB=0.000300
      MaterialExpressionEditorX=-400
      MaterialExpressionEditorY=256
      MaterialExpressionGuid=F6E1CE78471C638D1962DFBFD299A1E8
      Material=PreviewMaterial'/Engine/Transient.PreviewMaterial_6'
   End Object
   MaterialExpression=MaterialExpressionMultiply'MaterialExpressionMultiply_32'
   Pins(0)=EdGraphPin'EdGraphPin_20682'
   Pins(1)=EdGraphPin'EdGraphPin_20683'
   Pins(2)=EdGraphPin'EdGraphPin_20684'
   NodePosX=-400
   NodePosY=256
   NodeGuid=E707E74041FE470B96C859B72E73E339
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_382"
   Begin Object Class=EdGraphPin Name="EdGraphPin_20685"
   End Object
   Begin Object Class=MaterialExpressionConstant3Vector Name="MaterialExpressionConstant3Vector_17"
   End Object
   Begin Object Name="EdGraphPin_20685"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'MaterialGraphNode_376.EdGraphPin_20673'
   End Object
   Begin Object Name="MaterialExpressionConstant3Vector_17"
      Constant=(R=0.965000,G=0.298705,B=0.000000,A=0.000000)
      MaterialExpressionEditorX=-592
      MaterialExpressionEditorY=32
      MaterialExpressionGuid=D940F43F4815953F8616EFB789EC2BBF
      Material=PreviewMaterial'/Engine/Transient.PreviewMaterial_6'
   End Object
   MaterialExpression=MaterialExpressionConstant3Vector'MaterialExpressionConstant3Vector_17'
   Pins(0)=EdGraphPin'EdGraphPin_20685'
   NodePosX=-592
   NodePosY=32
   NodeGuid=646CD6E044DD47BB121544958865FF2D
End Object


Just change ObjectPosition to a vector from collection.

Or maybe you should try something different than trace?
GPU sprites work best as I can tell, problem is, they are random and their collision is calculated through screen depth. Means, no collision with things player can’t see or that are behind em.

You can control color for the material using AbsoluteWorldPosition + distance nodes and MaterialParameterCollection. I think.
In material parameter collection use a vector as a ping starting location and then in the material measure the distance from AbsoluteWorldPosition to the material collection vector you’ve created. Divide it by… something and you get your distance gradient.


Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_376"
   Begin Object Class=EdGraphPin Name="EdGraphPin_20675"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_20674"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_20673"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_20672"
   End Object
   Begin Object Class=MaterialExpressionLinearInterpolate Name="MaterialExpressionLinearInterpolate_5"
   End Object
   Begin Object Name="EdGraphPin_20675"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'MaterialGraphNode_Root_13.EdGraphPin_20650'
   End Object
   Begin Object Name="EdGraphPin_20674"
      PinName="Alpha"
      PinType=(PinCategory="optional")
      LinkedTo(0)=EdGraphPin'MaterialGraphNode_381.EdGraphPin_20684'
   End Object
   Begin Object Name="EdGraphPin_20673"
      PinName="B"
      PinType=(PinCategory="optional")
      LinkedTo(0)=EdGraphPin'MaterialGraphNode_382.EdGraphPin_20685'
   End Object
   Begin Object Name="EdGraphPin_20672"
      PinName="A"
      PinType=(PinCategory="optional")
      LinkedTo(0)=EdGraphPin'MaterialGraphNode_377.EdGraphPin_20676'
   End Object
   Begin Object Name="MaterialExpressionLinearInterpolate_5"
      A=(Expression=MaterialExpressionConstant3Vector'MaterialGraphNode_377.MaterialExpressionConstant3Vector_16')
      B=(Expression=MaterialExpressionConstant3Vector'MaterialGraphNode_382.MaterialExpressionConstant3Vector_17')
      Alpha=(Expression=MaterialExpressionMultiply'MaterialGraphNode_381.MaterialExpressionMultiply_32')
      MaterialExpressionEditorX=-176
      MaterialExpressionEditorY=144
      MaterialExpressionGuid=A689B7644F3DDC1CF1553AB8A947ECCD
      Material=PreviewMaterial'/Engine/Transient.PreviewMaterial_6'
   End Object
   MaterialExpression=MaterialExpressionLinearInterpolate'MaterialExpressionLinearInterpolate_5'
   Pins(0)=EdGraphPin'EdGraphPin_20672'
   Pins(1)=EdGraphPin'EdGraphPin_20673'
   Pins(2)=EdGraphPin'EdGraphPin_20674'
   Pins(3)=EdGraphPin'EdGraphPin_20675'
   NodePosX=-176
   NodePosY=144
   NodeGuid=B6887CEB4EF1CA3444541A8AB6388917
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_377"
   Begin Object Class=EdGraphPin Name="EdGraphPin_20676"
   End Object
   Begin Object Class=MaterialExpressionConstant3Vector Name="MaterialExpressionConstant3Vector_16"
   End Object
   Begin Object Name="EdGraphPin_20676"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'MaterialGraphNode_376.EdGraphPin_20672'
   End Object
   Begin Object Name="MaterialExpressionConstant3Vector_16"
      Constant=(R=0.057438,G=0.965000,B=0.133702,A=0.000000)
      MaterialExpressionEditorX=-592
      MaterialExpressionEditorY=-160
      MaterialExpressionGuid=D940F43F4815953F8616EFB789EC2BBF
      Material=PreviewMaterial'/Engine/Transient.PreviewMaterial_6'
   End Object
   MaterialExpression=MaterialExpressionConstant3Vector'MaterialExpressionConstant3Vector_16'
   Pins(0)=EdGraphPin'EdGraphPin_20676'
   NodePosX=-592
   NodePosY=-160
   NodeGuid=A8FFAD064184475D6F9184912D993919
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_378"
   Begin Object Class=EdGraphPin Name="EdGraphPin_20677"
   End Object
   Begin Object Class=MaterialExpressionObjectPositionWS Name="MaterialExpressionObjectPositionWS_18"
   End Object
   Begin Object Name="EdGraphPin_20677"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'MaterialGraphNode_380.EdGraphPin_20680'
   End Object
   Begin Object Name="MaterialExpressionObjectPositionWS_18"
      MaterialExpressionEditorX=-688
      MaterialExpressionEditorY=320
      MaterialExpressionGuid=67C2AB5440E12E289881A69C54EC0385
      Material=PreviewMaterial'/Engine/Transient.PreviewMaterial_6'
   End Object
   MaterialExpression=MaterialExpressionObjectPositionWS'MaterialExpressionObjectPositionWS_18'
   Pins(0)=EdGraphPin'EdGraphPin_20677'
   NodePosX=-688
   NodePosY=320
   NodeGuid=AD5E1C6F4921A0981ED9ECBE8A6994B9
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_379"
   Begin Object Class=EdGraphPin Name="EdGraphPin_20678"
   End Object
   Begin Object Class=MaterialExpressionWorldPosition Name="MaterialExpressionWorldPosition_9"
   End Object
   Begin Object Name="EdGraphPin_20678"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'MaterialGraphNode_380.EdGraphPin_20679'
   End Object
   Begin Object Name="MaterialExpressionWorldPosition_9"
      MaterialExpressionEditorX=-720
      MaterialExpressionEditorY=192
      MaterialExpressionGuid=14B4FF84460B349B4C777B915F30D725
      Material=PreviewMaterial'/Engine/Transient.PreviewMaterial_6'
   End Object
   MaterialExpression=MaterialExpressionWorldPosition'MaterialExpressionWorldPosition_9'
   Pins(0)=EdGraphPin'EdGraphPin_20678'
   NodePosX=-720
   NodePosY=192
   NodeGuid=C2884EE64762DF9F8D225692FDD9F584
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_380"
   Begin Object Class=EdGraphPin Name="EdGraphPin_20681"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_20680"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_20679"
   End Object
   Begin Object Class=MaterialExpressionDistance Name="MaterialExpressionDistance_6"
   End Object
   Begin Object Name="EdGraphPin_20681"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'MaterialGraphNode_381.EdGraphPin_20682'
   End Object
   Begin Object Name="EdGraphPin_20680"
      PinName="B"
      PinType=(PinCategory="required")
      LinkedTo(0)=EdGraphPin'MaterialGraphNode_378.EdGraphPin_20677'
   End Object
   Begin Object Name="EdGraphPin_20679"
      PinName="A"
      PinType=(PinCategory="required")
      LinkedTo(0)=EdGraphPin'MaterialGraphNode_379.EdGraphPin_20678'
   End Object
   Begin Object Name="MaterialExpressionDistance_6"
      A=(Expression=MaterialExpressionWorldPosition'MaterialGraphNode_379.MaterialExpressionWorldPosition_9')
      B=(Expression=MaterialExpressionObjectPositionWS'MaterialGraphNode_378.MaterialExpressionObjectPositionWS_18')
      MaterialExpressionEditorX=-512
      MaterialExpressionEditorY=288
      MaterialExpressionGuid=044599E743E9A9FBE0D571AE5D252014
      Material=PreviewMaterial'/Engine/Transient.PreviewMaterial_6'
   End Object
   MaterialExpression=MaterialExpressionDistance'MaterialExpressionDistance_6'
   Pins(0)=EdGraphPin'EdGraphPin_20679'
   Pins(1)=EdGraphPin'EdGraphPin_20680'
   Pins(2)=EdGraphPin'EdGraphPin_20681'
   NodePosX=-512
   NodePosY=288
   NodeGuid=A7F2EA1749F55B767274D0AA4FA2D758
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_381"
   Begin Object Class=EdGraphPin Name="EdGraphPin_20684"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_20683"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_20682"
   End Object
   Begin Object Class=MaterialExpressionMultiply Name="MaterialExpressionMultiply_32"
   End Object
   Begin Object Name="EdGraphPin_20684"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'MaterialGraphNode_376.EdGraphPin_20674'
   End Object
   Begin Object Name="EdGraphPin_20683"
      PinName="B"
      PinType=(PinCategory="optional")
   End Object
   Begin Object Name="EdGraphPin_20682"
      PinName="A"
      PinType=(PinCategory="optional")
      LinkedTo(0)=EdGraphPin'MaterialGraphNode_380.EdGraphPin_20681'
   End Object
   Begin Object Name="MaterialExpressionMultiply_32"
      A=(Expression=MaterialExpressionDistance'MaterialGraphNode_380.MaterialExpressionDistance_6')
      ConstB=0.000300
      MaterialExpressionEditorX=-400
      MaterialExpressionEditorY=256
      MaterialExpressionGuid=F6E1CE78471C638D1962DFBFD299A1E8
      Material=PreviewMaterial'/Engine/Transient.PreviewMaterial_6'
   End Object
   MaterialExpression=MaterialExpressionMultiply'MaterialExpressionMultiply_32'
   Pins(0)=EdGraphPin'EdGraphPin_20682'
   Pins(1)=EdGraphPin'EdGraphPin_20683'
   Pins(2)=EdGraphPin'EdGraphPin_20684'
   NodePosX=-400
   NodePosY=256
   NodeGuid=E707E74041FE470B96C859B72E73E339
End Object
Begin Object Class=MaterialGraphNode Name="MaterialGraphNode_382"
   Begin Object Class=EdGraphPin Name="EdGraphPin_20685"
   End Object
   Begin Object Class=MaterialExpressionConstant3Vector Name="MaterialExpressionConstant3Vector_17"
   End Object
   Begin Object Name="EdGraphPin_20685"
      PinName="Output"
      PinFriendlyName=" "
      Direction=EGPD_Output
      LinkedTo(0)=EdGraphPin'MaterialGraphNode_376.EdGraphPin_20673'
   End Object
   Begin Object Name="MaterialExpressionConstant3Vector_17"
      Constant=(R=0.965000,G=0.298705,B=0.000000,A=0.000000)
      MaterialExpressionEditorX=-592
      MaterialExpressionEditorY=32
      MaterialExpressionGuid=D940F43F4815953F8616EFB789EC2BBF
      Material=PreviewMaterial'/Engine/Transient.PreviewMaterial_6'
   End Object
   MaterialExpression=MaterialExpressionConstant3Vector'MaterialExpressionConstant3Vector_17'
   Pins(0)=EdGraphPin'EdGraphPin_20685'
   NodePosX=-592
   NodePosY=32
   NodeGuid=646CD6E044DD47BB121544958865FF2D
End Object


Just change ObjectPosition to a vector from collection.
[/QUOTE]

Gonna try this out, thanks for the advice.

Or maybe you should try something different than trace?
GPU sprites work best as I can tell, problem is, they are random and their collision is calculated through screen depth. Means, no collision with things player can’t see or that are behind em.

[/QUOTE]

And wow, that looks really great and performs extremely well, I’m gonna burn through the particle emitter tutorials so I can try this out! I was thinking that perhaps the randomness and no collision with objects not on screen might be a problem for my gameplay idea, but I may be able to work around that if this works well enough.

I can send ya the project - 4.8.3.

I think there might be a solution to randomness, but I’m not quite sure.

As to collision you can use standard CPU sprites but then you’d have to have like 100 of emitters like that.

The problem is, depth buffer, as you note, requires visibility, while the whole point of the effect is to show invisible objects.

Something similar would be a small piece of Reflective Shadow Maps:
http://www.vis.uni-stuttgart.de/~dachsbcn/download/rsm.pdf
(or just google for other articles)

You don’t really need all of the layers which are rendered for RSM, like diffuse albedo, normals and etc. All what you need is to render to texture coordinates for each visible fragment. You can render world space or camera space coordinates (higher precision). Later you can sample this “render to texture” texture to get coordinates for each cube. How exactly you can do this in UE4 I’m not sure, I haven’t tried any custom render to texture or custom vertex shaders yet.

One part that I kind of missed, do you want cubes to stay hovering in space after you do ping? I mean that after you do ping you could step a side and look at the from the other point of view or ping is done every time you change position or move camera?

This method seems quite advanced for me, and I’m still confused by it… Are there perhaps simpler explanations and utilization of this?

To answer your question, it is the former example: “after you do ping you could step a side and look at the from the other point of view”.

So I’ve been busy with life the last week and a half, but I’ve finally had some time to put into the engine.

I’ve played with CPU and GPU particles, but unfortunately, it doesn’t look like they’ll pan out. I was able to create a spherical burst of particles that had the correct color-per-distance and things were looking promising. That said, both Z-enyzme and RhytmScript are correct that GPU particles only interact with objects in camera view, which isn’t necessarily a deal breaker. However, the GPU particles required me to reconfigure some material set ups that ultimately created the deal breaker.

For example, using my original method (tracing + instanced static meshes), I would uncheck the “Visible” check box for every mesh in the world. That way, when an invisible object was hit by the trace, you could still “see through” the projection of the object, like so:


(Notice the yellow points behind the red face. This is rendered using instanced static meshes.)

To use the GPU particles, I had to set every mesh in the level to a material that was solid black, un-lit, and fully opaque. It looked good at first, but you could see the outline of the meshes, like so:


Nnotice the smaller cube in the left foreground and larger cube in the background, both in front of the un-materialed walls in the back. This is rendered using GPU particles)

This specific effect may be useful to others (so I’ll go explain in better if anyone is interested), but I unfortunately need the effect from the top picture.

So this led me to try using multiple CPU particles emitters, where each emitter would burst 1000 points in a circle from a single point. Putting that emitter in a blueprint that spawned 100 copies of it at different angle through a for-loop did in fact produce the correct effect and burst (I basically recreated the instanced static mesh implementation using CPU particles). However, after the particles were created and in motion, performance dropped to ~20 fps.

So I might be back to square 1? Maybe square 2. I still need something that will allow me to map 360 deg around the player character with good performance.

I’m going to begin investigating some of the other methods people have mentioned here, but any help, insight, or new ideas are greatly appreciated!

Let me try to explain it in a different way.

  1. Let’s say you have a special material, this material doesn’t render lights or textures, it renders 3D position of each pixel of each surface of 3d object in space. Each axis is stored in separate colors, so xyz is stored in rgb, so you simply output x y z as R G B colors of material.
  2. Using such material you can render your objects into small Render To Texture (RTT), let’s say 256x256 pixels. So you would have some rough representation of the scene stored in RTT. By rendering 6 of those or rendering it into Renter To Cubemap (RTC) you will get everything around the player.
  3. Now we take an array of 256x256 cubes which you want to render in scene. Each cube will read it’s position from previously made (RTT) or single side of (RTC), from just a single pixel of the RTT or RTC texture. For this you need to calculate texture coordinates in shader or prepare them upfront in some modelling application. All vertices of the single cube will have exactly the same UV coordinates, no interpolation.

Array of cubes and render to texture are of the same dimension simply to have one to one mapping between them.

It’s been a while, sorry this thread slipped my mind! So I recommended shadow mapping a while back and so does BoredEngineer. Here is the most intuitive tutorial on shadow mapping that I could find:
http://learnopengl.com/#!Advanced-Lighting/Shadows/Shadow-Mapping

Read up to “Improving shadow maps”, anything further than that doesn’t apply. So what me and BoredEngineer are both suggesting is rendering the scene depth from the sonar ping’s point of view. In the shadow mapping theory they talk about rendering the scene depth from the light’s point of view, but for you its the ping location. Since the sonar ping is omnidirectional, you need to render the scene depth in all directions starting from the ping location. This is usually done with a cube map, which is simply a shadow map for each of these 6 directions: up, down, left, right, forward, backward. Once you have this cube map (or 6 shadow maps), you can extract from that all points that the sonar can reach.

Then you can either use that cube map to:

  • Spawn and place many geometric cubes like BoredEngineer is suggesting, or
  • Do the pointilizing via a post processing effect that samples the cube map

The idea behind the second approach (post processing) is this:

  • When determining the color of a PIXEL, compute which 3D world location correponds to. Can be calculated if you have the player camera’s transformation matrix.
  • Then check the cube map to see whether that 3D world location was visible to the ping or not. If it is visible, you know the distance and can output a color based on the distance. If it wasn’t visible, you output black.

By the time you get this to work you will have quite some important computer graphics experience, but I do hope you go for this as this approach is very, very efficient! :slight_smile: Rendering the scene from the light’s POV will give you the same information as thousands of visiblity ray casts.

I remember reading up on some test that a university was doing with a c++ open sourced engine that actually simulated the mechanics of light, you might wanna google up on that. I’d bet it might hold some form of answer for you.

“ForloopPerTick” and “Add Instance world space” dont exsist anymore :confused:

You can combine postprocess with instanced meshes. I am not sure if its possible to add those instanced meshes with custom depth parameter. But if you can then you could do postprocess that colors those meshes with custom depth to something else than their original material.

ForLoopPerTick has never existed as a standard node in the editor.

Search for a thread made by monokkel where shows how you can create you own. The loops are really just macros that anyone can create in blueprint.

I’m trying to experiment with both of these methods.

I’ve rendered a 256x256 cubemap of the scene depth, as shown below (this example image only shows the left, front, and right views):


Using BoredEngineer’s suggestion:

  1. How do I get a world space position from the texture coordinate of the depth map?

Using Zhi Kang Shao’s suggestion:
0) Let me preface these questions with: I know how to write HLSL/Cg code, but the UE4 Material editor is super confusing to me, so I’m having difficulty understanding this suggestion

  1. From the depth maps, how do I determine the 3D world location that a pixel corresponds to? This has to be done in the Material editor, yes? How do I get the information from Material editor nodes?
  2. How do I check the depth map to see if the given 3D world location was visible or not?

Thanks

The one material graph I’ve seen recently is this:

Someone shared it on slack.

Check this post too:

In both cases you need to find camera vector, which start at the camera origin and passes throw the middle of each texel/pixel. To calculate it you can find camera vectors in the corners of the texture and then interpolate them for each pixel using screen space coordinates. Can’t tell you how to calculate it right now, I think you could use Phytagoras’ theorem for this as you know camera angle (FOV), it should be 90 degrees for cubemaps and as you need only direction you can choose any distance from the camera as lenght of adjacent side of the triangle. Just don’t forget to conver angle to radians.

Is this what you’re trying to do?

@ BrUnO XaVIeR: No, unfortunately that’s not the effect I’m aiming for. My first post of this thread has a gif showing the “sweeping LIDAR” effect I’m trying to achieve. Thanks.


So let me see if I understand this correctly, the post process material will operate on the current rendered view from the camera (i.e. treats the current view of the camera as a render target texture and operates on that texture).

I need to find the camera vector from the camera origin to the middle of every pixel in render target texture. To compute this, I have knowledge of the corners of the pixels from the UV coordinates, correct?

Then, I should be able to find the center of those pixels as (x + (pixelWidth/2), y + (pixelWidth/2)), as shown below:


How do I implement something like pixelWidth/2? Also, I don’t understand what you mean in the second to last sentence “I think you could … camera as length of adjacent side of the triangle”; could you clarify?

Finally, the material graphs you linked to, are these supposed to be used in conjunction with the procedure described above? I’m not I follow how this is all supposed to come together.

@anonymous_user_3148a182 Hey, I kinda misunderstood what you wanted from your question in the point cloud thread. Anyway, Here you go. I’ll let you implement the scanning effect, but the performance is pretty good. I set some stuff invisible by unchecking render in main pass. Render anything you want to see on lidar to custom depth. Uses the render target as the point cloud’s lookup table. If you want to improve performance further, you could use a shorter quad chain there’s a lot of unrendered polys. I just used a million quad chain from the point cloud project, but the render target is only 256x256 there, but I’ll let you fiddle with it.

Edit: C updates the SceneCaptureComponent in that project. Hold it down to update continuously.

Wow that looks pretty.
I’m newbie in Unreal Engine, but trying to study it as best as it possible, so i read much about PP and the Custom Depth function. And i have question to you is it possible with Stencil Value or some other functions to produce not only white cubes on the map with “lidar vision”, but 4-colored palette for objects like walls showing blue color, cubes are green and some other objects red for example?
PS: sorry for my bad English.