[OPEN-SOURCE] Machinery Modelling Toolkit

The way they did it with clutch and brake is just by locking down one track with brakes. So just pressing right and forward in our setup. Depending on where your center mass is, it should rotate around that spot.
As you want a “proper” neutral turn, I’ll try to setup that experimental monstrosity (with animated engine and gear box) to be able to steer using clutch and brake and then make a version that is steered using gear boxes. I could try using two gearboxes for steering first, as that’s what you need for Tiger, but I have suspicion that we need an open differential for it, which I don’t have yet. So let’s make sure first that Modular Drive Train can be used for old school setup first.
Edit: Otherwise we can always set it up as it’s done on A_Tracked_Vehicle, just with alteration that true neutral turn can be enabled only when tank is standing still, otherwise it’s steered by brakes.

I’ll try to tweak Light Tank’s suspension in a similar way, might get a better result out of it. Was watching some videos of Sherman, Tiger and Hellcat driving on soil, looks like they had very soft and bouncy suspension. T-26 drives like a brick compared to them.

Don’t do anything that will change or will be added later… waiste of time :slight_smile:
I know in order to perform a neutral turn in the tiger you set it to neutral and steer the direction you want to turn.

Did you do anything different with the spline as opposed to the old n-tracked bueprint setup? I see you added a socket in the physics wheel.

starting at 1:21 , is a nice video of the tiger turning…

Yes, you need a socket on each physics wheel, this is so that track can “follow” the wheels.

We need this code in constructor:
3f2ee74bb284396ae206bb59d7e29bec7d87bfbb.jpeg

And BuildTrackSpline function looks like this:

The same as copy/paste:


Begin Object Class=K2Node_FunctionEntry Name="K2Node_FunctionEntry_5179"
   Begin Object Class=EdGraphPin Name="EdGraphPin_3438"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_3439"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_3440"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_3441"
   End Object
   Begin Object Name="EdGraphPin_3438"
      PinName="then"
      Direction=EGPD_Output
      PinType=(PinCategory="exec")
      LinkedTo(0)=EdGraphPin'K2Node_CallFunction_24029.EdGraphPin_3442'
   End Object
   Begin Object Name="EdGraphPin_3439"
      PinName="TrackSpline"
      Direction=EGPD_Output
      PinType=(PinCategory="object",PinSubCategoryObject=Class'/Script/Engine.SplineComponent')
      LinkedTo(0)=EdGraphPin'K2Node_Knot_8211.EdGraphPin_2380'
   End Object
   Begin Object Name="EdGraphPin_3440"
      PinName="TrackAnimationDrive"
      Direction=EGPD_Output
      PinType=(PinCategory="object",PinSubCategoryObject=BlueprintGeneratedClass'/Game/BluePrints/Vehicles/Tracked/TrackComponents/TrackAnimationDrive.TrackAnimationDrive_C')
      LinkedTo(0)=EdGraphPin'K2Node_Knot_8208.EdGraphPin_2384'
   End Object
   Begin Object Name="EdGraphPin_3441"
      PinName="TrackMesh"
      Direction=EGPD_Output
      PinType=(PinCategory="object",PinSubCategoryObject=Class'/Script/Engine.InstancedStaticMeshComponent')
      LinkedTo(0)=EdGraphPin'K2Node_Knot_9834.EdGraphPin_2346'
   End Object
   ExtraFlags=201457664
   SignatureName="BuildTrackSpline"
   bIsEditable=True
   Pins(0)=EdGraphPin'EdGraphPin_3438'
   Pins(1)=EdGraphPin'EdGraphPin_3439'
   Pins(2)=EdGraphPin'EdGraphPin_3440'
   Pins(3)=EdGraphPin'EdGraphPin_3441'
   NodePosX=-112
   NodeGuid=82958BD64E44AF79CF1A0CBD075D426D
   CustomProperties UserDefinedPin Name="TrackSpline" IsArray=0 IsReference=0 Category=object SubCategoryObject=/Script/Engine.SplineComponent 
   CustomProperties UserDefinedPin Name="TrackAnimationDrive" IsArray=0 IsReference=0 Category=object SubCategoryObject=/Game/BluePrints/Vehicles/Tracked/TrackComponents/TrackAnimationDrive.TrackAnimationDrive_C 
   CustomProperties UserDefinedPin Name="TrackMesh" IsArray=0 IsReference=0 Category=object SubCategoryObject=/Script/Engine.InstancedStaticMeshComponent 
End Object
Begin Object Class=K2Node_CallFunction Name="K2Node_CallFunction_24029"
   Begin Object Class=EdGraphPin Name="EdGraphPin_3442"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_3443"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_3444"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_3445"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_3446"
   End Object
   Begin Object Name="EdGraphPin_3442"
      PinName="execute"
      PinType=(PinCategory="exec")
      LinkedTo(0)=EdGraphPin'K2Node_FunctionEntry_5179.EdGraphPin_3438'
   End Object
   Begin Object Name="EdGraphPin_3443"
      PinName="then"
      Direction=EGPD_Output
      PinType=(PinCategory="exec")
      LinkedTo(0)=EdGraphPin'K2Node_MacroInstance_405.EdGraphPin_3451'
   End Object
   Begin Object Name="EdGraphPin_3444"
      PinName="self"
      PinFriendlyName=NSLOCTEXT("K2Node", "Target", "Target")
      PinType=(PinCategory="object",PinSubCategoryObject=Class'/Script/Engine.SplineComponent')
      LinkedTo(0)=EdGraphPin'K2Node_Knot_8211.EdGraphPin_2381'
   End Object
   Begin Object Name="EdGraphPin_3445"
      PinName="Points"
      PinType=(PinCategory="struct",PinSubCategoryObject=ScriptStruct'/Script/CoreUObject.Vector',bIsArray=True,bIsReference=True,bIsConst=True)
      LinkedTo(0)=EdGraphPin'K2Node_VariableGet_8283.EdGraphPin_3447'
      bDefaultValueIsIgnored=True
   End Object
   Begin Object Name="EdGraphPin_3446"
      PinName="CoordinateSpace"
      PinType=(PinCategory="byte",PinSubCategoryObject=Enum'/Script/Engine.ESplineCoordinateSpace')
      DefaultValue="Local"
   End Object
   FunctionReference=(MemberParent=Class'/Script/Engine.SplineComponent',MemberName="SetSplinePoints")
   Pins(0)=EdGraphPin'EdGraphPin_3442'
   Pins(1)=EdGraphPin'EdGraphPin_3443'
   Pins(2)=EdGraphPin'EdGraphPin_3444'
   Pins(3)=EdGraphPin'EdGraphPin_3445'
   Pins(4)=EdGraphPin'EdGraphPin_3446'
   NodePosX=608
   NodePosY=-16
   NodeGuid=FDA643F644B353147A9621B0784F5A91
End Object
Begin Object Class=K2Node_VariableGet Name="K2Node_VariableGet_8283"
   Begin Object Class=EdGraphPin Name="EdGraphPin_3447"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_3448"
   End Object
   Begin Object Name="EdGraphPin_3447"
      PinName="TrackSplinePointLocations"
      Direction=EGPD_Output
      PinType=(PinCategory="struct",PinSubCategoryObject=ScriptStruct'/Script/CoreUObject.Vector',bIsArray=True)
      LinkedTo(0)=EdGraphPin'K2Node_CallFunction_24029.EdGraphPin_3445'
   End Object
   Begin Object Name="EdGraphPin_3448"
      PinName="self"
      PinFriendlyName=NSLOCTEXT("K2Node", "Target", "Target")
      PinType=(PinCategory="object",PinSubCategoryObject=BlueprintGeneratedClass'/Game/BluePrints/Vehicles/Tracked/TrackComponents/TrackAnimationDrive.TrackAnimationDrive_C')
      LinkedTo(0)=EdGraphPin'K2Node_Knot_8208.EdGraphPin_2385'
   End Object
   VariableReference=(MemberParent=BlueprintGeneratedClass'/Game/BluePrints/Vehicles/Tracked/TrackComponents/TrackAnimationDrive.TrackAnimationDrive_C',MemberName="TrackSplinePointLocations",MemberGuid=0762AA784399E16D5881B294B00AC3B4)
   SelfContextInfo=NotSelfContext
   Pins(0)=EdGraphPin'EdGraphPin_3447'
   Pins(1)=EdGraphPin'EdGraphPin_3448'
   NodePosX=192
   NodePosY=80
   NodeGuid=F1E916784F0A7D522A2E80A380E434DB
End Object
Begin Object Class=K2Node_VariableGet Name="K2Node_VariableGet_8962"
   Begin Object Class=EdGraphPin Name="EdGraphPin_3449"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_3450"
   End Object
   Begin Object Name="EdGraphPin_3449"
      PinName="TrackSplinePointTangents"
      Direction=EGPD_Output
      PinType=(PinCategory="struct",PinSubCategoryObject=ScriptStruct'/Script/CoreUObject.Vector',bIsArray=True)
      LinkedTo(0)=EdGraphPin'K2Node_MacroInstance_405.EdGraphPin_3452'
   End Object
   Begin Object Name="EdGraphPin_3450"
      PinName="self"
      PinFriendlyName=NSLOCTEXT("K2Node", "Target", "Target")
      PinType=(PinCategory="object",PinSubCategoryObject=BlueprintGeneratedClass'/Game/BluePrints/Vehicles/Tracked/TrackComponents/TrackAnimationDrive.TrackAnimationDrive_C')
      LinkedTo(0)=EdGraphPin'K2Node_Knot_8444.EdGraphPin_2379'
   End Object
   VariableReference=(MemberParent=BlueprintGeneratedClass'/Game/BluePrints/Vehicles/Tracked/TrackComponents/TrackAnimationDrive.TrackAnimationDrive_C',MemberName="TrackSplinePointTangents",MemberGuid=F065BEB7490C5D7BF1000F84AE07057D)
   SelfContextInfo=NotSelfContext
   Pins(0)=EdGraphPin'EdGraphPin_3449'
   Pins(1)=EdGraphPin'EdGraphPin_3450'
   NodePosX=608
   NodePosY=184
   NodeGuid=2122C42E489746ECD527A6B641CBC0D6
End Object
Begin Object Class=K2Node_MacroInstance Name="K2Node_MacroInstance_405"
   Begin Object Class=EdGraphPin Name="EdGraphPin_3451"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_3452"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_3453"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_3454"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_3455"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_3456"
   End Object
   Begin Object Name="EdGraphPin_3451"
      PinName="Exec"
      PinType=(PinCategory="exec")
      LinkedTo(0)=EdGraphPin'K2Node_CallFunction_24029.EdGraphPin_3443'
   End Object
   Begin Object Name="EdGraphPin_3452"
      PinName="Array"
      PinType=(PinCategory="struct",PinSubCategoryObject=ScriptStruct'/Script/CoreUObject.Vector',bIsArray=True)
      LinkedTo(0)=EdGraphPin'K2Node_VariableGet_8962.EdGraphPin_3449'
   End Object
   Begin Object Name="EdGraphPin_3453"
      PinName="LoopBody"
      Direction=EGPD_Output
      PinType=(PinCategory="exec")
      LinkedTo(0)=EdGraphPin'K2Node_CallFunction_25343.EdGraphPin_3457'
   End Object
   Begin Object Name="EdGraphPin_3454"
      PinName="Array Element"
      Direction=EGPD_Output
      PinType=(PinCategory="struct",PinSubCategoryObject=ScriptStruct'/Script/CoreUObject.Vector')
      LinkedTo(0)=EdGraphPin'K2Node_CallFunction_25343.EdGraphPin_3461'
   End Object
   Begin Object Name="EdGraphPin_3455"
      PinName="Array Index"
      Direction=EGPD_Output
      PinType=(PinCategory="int")
      AutogeneratedDefaultValue="0"
      LinkedTo(0)=EdGraphPin'K2Node_CallFunction_25343.EdGraphPin_3460'
   End Object
   Begin Object Name="EdGraphPin_3456"
      PinName="Completed"
      Direction=EGPD_Output
      PinType=(PinCategory="exec")
      LinkedTo(0)=EdGraphPin'K2Node_Knot_11267.EdGraphPin_2298'
   End Object
   MacroGraphReference=(MacroGraph=EdGraph'/Engine/EditorBlueprintResources/StandardMacros.StandardMacros:ForEachLoop',GraphBlueprint=Blueprint'/Engine/EditorBlueprintResources/StandardMacros.StandardMacros',GraphGuid=99DBFD5540A796041F72A5A9DA655026)
   ResolvedWildcardType=(PinCategory="struct",PinSubCategoryObject=ScriptStruct'/Script/CoreUObject.Vector',bIsArray=True)
   Pins(0)=EdGraphPin'EdGraphPin_3451'
   Pins(1)=EdGraphPin'EdGraphPin_3452'
   Pins(2)=EdGraphPin'EdGraphPin_3453'
   Pins(3)=EdGraphPin'EdGraphPin_3454'
   Pins(4)=EdGraphPin'EdGraphPin_3455'
   Pins(5)=EdGraphPin'EdGraphPin_3456'
   NodePosX=1040
   NodeGuid=36DCBC92416646B2BD32F3BB93B2144C
End Object
Begin Object Class=K2Node_Knot Name="K2Node_Knot_8208"
   Begin Object Class=EdGraphPin Name="EdGraphPin_2384"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2385"
   End Object
   Begin Object Name="EdGraphPin_2384"
      PinName="InputPin"
      PinType=(PinCategory="object",PinSubCategoryObject=BlueprintGeneratedClass'/Game/BluePrints/Vehicles/Tracked/TrackComponents/TrackAnimationDrive.TrackAnimationDrive_C')
      LinkedTo(0)=EdGraphPin'K2Node_FunctionEntry_5179.EdGraphPin_3440'
      bDefaultValueIsIgnored=True
   End Object
   Begin Object Name="EdGraphPin_2385"
      PinName="OutputPin"
      Direction=EGPD_Output
      PinType=(PinCategory="object",PinSubCategoryObject=BlueprintGeneratedClass'/Game/BluePrints/Vehicles/Tracked/TrackComponents/TrackAnimationDrive.TrackAnimationDrive_C')
      LinkedTo(0)=EdGraphPin'K2Node_VariableGet_8283.EdGraphPin_3448'
      LinkedTo(1)=EdGraphPin'K2Node_Knot_8444.EdGraphPin_2378'
   End Object
   Pins(0)=EdGraphPin'EdGraphPin_2384'
   Pins(1)=EdGraphPin'EdGraphPin_2385'
   NodePosX=96
   NodePosY=192
   NodeGuid=F82C0A9049CC6DDFFDF99386EAEFD146
End Object
Begin Object Class=K2Node_CallFunction Name="K2Node_CallFunction_25343"
   Begin Object Class=EdGraphPin Name="EdGraphPin_3457"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_3458"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_3459"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_3460"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_3461"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_3462"
   End Object
   Begin Object Name="EdGraphPin_3457"
      PinName="execute"
      PinToolTip="
Exec"
      PinType=(PinCategory="exec")
      LinkedTo(0)=EdGraphPin'K2Node_MacroInstance_405.EdGraphPin_3453'
   End Object
   Begin Object Name="EdGraphPin_3458"
      PinName="then"
      PinToolTip="
Exec"
      Direction=EGPD_Output
      PinType=(PinCategory="exec")
   End Object
   Begin Object Name="EdGraphPin_3459"
      PinName="self"
      PinFriendlyName=NSLOCTEXT("K2Node", "Target", "Target")
      PinToolTip="Target
Spline Component Reference"
      PinType=(PinCategory="object",PinSubCategoryObject=Class'/Script/Engine.SplineComponent')
      LinkedTo(0)=EdGraphPin'K2Node_Knot_8210.EdGraphPin_2383'
   End Object
   Begin Object Name="EdGraphPin_3460"
      PinName="PointIndex"
      PinToolTip="Point Index
Integer"
      PinType=(PinCategory="int")
      DefaultValue="0"
      AutogeneratedDefaultValue="0"
      LinkedTo(0)=EdGraphPin'K2Node_MacroInstance_405.EdGraphPin_3455'
   End Object
   Begin Object Name="EdGraphPin_3461"
      PinName="InTangent"
      PinToolTip="In Tangent
Vector  (by ref)"
      PinType=(PinCategory="struct",PinSubCategoryObject=ScriptStruct'/Script/CoreUObject.Vector',bIsReference=True,bIsConst=True)
      DefaultValue="0, 0, 0"
      AutogeneratedDefaultValue="0, 0, 0"
      LinkedTo(0)=EdGraphPin'K2Node_MacroInstance_405.EdGraphPin_3454'
      bDefaultValueIsIgnored=True
   End Object
   Begin Object Name="EdGraphPin_3462"
      PinName="CoordinateSpace"
      PinToolTip="Coordinate Space
ESplineCoordinateSpace Enum"
      PinType=(PinCategory="byte",PinSubCategoryObject=Enum'/Script/Engine.ESplineCoordinateSpace')
      DefaultValue="Local"
   End Object
   FunctionReference=(MemberParent=Class'/Script/Engine.SplineComponent',MemberName="SetTangentAtSplinePoint")
   Pins(0)=EdGraphPin'EdGraphPin_3457'
   Pins(1)=EdGraphPin'EdGraphPin_3458'
   Pins(2)=EdGraphPin'EdGraphPin_3459'
   Pins(3)=EdGraphPin'EdGraphPin_3460'
   Pins(4)=EdGraphPin'EdGraphPin_3461'
   Pins(5)=EdGraphPin'EdGraphPin_3462'
   NodePosX=1424
   NodePosY=-16
   NodeGuid=FCBDE98B4B16704E94185BB4E8988A7F
End Object
Begin Object Class=K2Node_Knot Name="K2Node_Knot_8210"
   Begin Object Class=EdGraphPin Name="EdGraphPin_2382"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2383"
   End Object
   Begin Object Name="EdGraphPin_2382"
      PinName="InputPin"
      PinType=(PinCategory="object",PinSubCategoryObject=Class'/Script/Engine.SplineComponent')
      LinkedTo(0)=EdGraphPin'K2Node_Knot_8211.EdGraphPin_2381'
      bDefaultValueIsIgnored=True
   End Object
   Begin Object Name="EdGraphPin_2383"
      PinName="OutputPin"
      Direction=EGPD_Output
      PinType=(PinCategory="object",PinSubCategoryObject=Class'/Script/Engine.SplineComponent')
      LinkedTo(0)=EdGraphPin'K2Node_CallFunction_25343.EdGraphPin_3459'
      LinkedTo(1)=EdGraphPin'K2Node_Knot_8445.EdGraphPin_2372'
   End Object
   Pins(0)=EdGraphPin'EdGraphPin_2382'
   Pins(1)=EdGraphPin'EdGraphPin_2383'
   NodePosX=1344
   NodePosY=-48
   NodeGuid=57EFD9414CCF162F02C422A24FFE7E5E
End Object
Begin Object Class=K2Node_Knot Name="K2Node_Knot_8211"
   Begin Object Class=EdGraphPin Name="EdGraphPin_2380"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2381"
   End Object
   Begin Object Name="EdGraphPin_2380"
      PinName="InputPin"
      PinType=(PinCategory="object",PinSubCategoryObject=Class'/Script/Engine.SplineComponent')
      LinkedTo(0)=EdGraphPin'K2Node_FunctionEntry_5179.EdGraphPin_3439'
      bDefaultValueIsIgnored=True
   End Object
   Begin Object Name="EdGraphPin_2381"
      PinName="OutputPin"
      Direction=EGPD_Output
      PinType=(PinCategory="object",PinSubCategoryObject=Class'/Script/Engine.SplineComponent')
      LinkedTo(0)=EdGraphPin'K2Node_Knot_8210.EdGraphPin_2382'
      LinkedTo(1)=EdGraphPin'K2Node_CallFunction_24029.EdGraphPin_3444'
   End Object
   Pins(0)=EdGraphPin'EdGraphPin_2380'
   Pins(1)=EdGraphPin'EdGraphPin_2381'
   NodePosX=400
   NodePosY=-48
   NodeGuid=EF7C8A714DC738314E0D92945E034642
End Object
Begin Object Class=K2Node_MacroInstance Name="K2Node_MacroInstance_423"
   Begin Object Class=EdGraphPin Name="EdGraphPin_3463"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_3464"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_3465"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_3466"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_3467"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_3468"
   End Object
   Begin Object Name="EdGraphPin_3463"
      PinName="execute"
      PinType=(PinCategory="exec")
      LinkedTo(0)=EdGraphPin'K2Node_Knot_11267.EdGraphPin_2299'
   End Object
   Begin Object Name="EdGraphPin_3464"
      PinName="FirstIndex"
      PinType=(PinCategory="int")
      DefaultValue="0"
   End Object
   Begin Object Name="EdGraphPin_3465"
      PinName="LastIndex"
      PinType=(PinCategory="int")
      DefaultValue="0"
      LinkedTo(0)=EdGraphPin'K2Node_CallFunction_25908.EdGraphPin_3524'
   End Object
   Begin Object Name="EdGraphPin_3466"
      PinName="LoopBody"
      Direction=EGPD_Output
      PinType=(PinCategory="exec")
      LinkedTo(0)=EdGraphPin'K2Node_CallFunction_28061.EdGraphPin_3528'
   End Object
   Begin Object Name="EdGraphPin_3467"
      PinName="Index"
      Direction=EGPD_Output
      PinType=(PinCategory="int")
      LinkedTo(0)=EdGraphPin'K2Node_CallFunction_10675.EdGraphPin_3478'
   End Object
   Begin Object Name="EdGraphPin_3468"
      PinName="Completed"
      Direction=EGPD_Output
      PinType=(PinCategory="exec")
   End Object
   MacroGraphReference=(MacroGraph=EdGraph'/Engine/EditorBlueprintResources/StandardMacros.StandardMacros:ForLoop',GraphBlueprint=Blueprint'/Engine/EditorBlueprintResources/StandardMacros.StandardMacros',GraphGuid=55C904AF4B45FE1761FB55A8DB9FB801)
   Pins(0)=EdGraphPin'EdGraphPin_3463'
   Pins(1)=EdGraphPin'EdGraphPin_3464'
   Pins(2)=EdGraphPin'EdGraphPin_3465'
   Pins(3)=EdGraphPin'EdGraphPin_3466'
   Pins(4)=EdGraphPin'EdGraphPin_3467'
   Pins(5)=EdGraphPin'EdGraphPin_3468'
   NodePosX=2288
   NodePosY=224
   NodeGuid=C1C4BE034CCA467D892BBFAEC86A77C0
End Object
Begin Object Class=K2Node_CallFunction Name="K2Node_CallFunction_10672"
   Begin Object Class=EdGraphPin Name="EdGraphPin_3469"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_3470"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_3471"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_3472"
   End Object
   Begin Object Name="EdGraphPin_3469"
      PinName="self"
      PinFriendlyName=NSLOCTEXT("K2Node", "Target", "Target")
      PinType=(PinCategory="object",PinSubCategoryObject=Class'/Script/Engine.KismetMathLibrary')
      DefaultObject=Default__KismetMathLibrary
      bHidden=True
   End Object
   Begin Object Name="EdGraphPin_3470"
      PinName="A"
      PinType=(PinCategory="float")
      DefaultValue="0.0"
      AutogeneratedDefaultValue="0.0"
      LinkedTo(0)=EdGraphPin'K2Node_CallFunction_30950.EdGraphPin_3542'
   End Object
   Begin Object Name="EdGraphPin_3471"
      PinName="B"
      PinType=(PinCategory="float")
      DefaultValue="0.0"
      AutogeneratedDefaultValue="1.000000"
      LinkedTo(0)=EdGraphPin'K2Node_CallFunction_25909.EdGraphPin_3527'
   End Object
   Begin Object Name="EdGraphPin_3472"
      PinName="ReturnValue"
      Direction=EGPD_Output
      PinType=(PinCategory="float")
      AutogeneratedDefaultValue="0.0"
      LinkedTo(0)=EdGraphPin'K2Node_CallFunction_10675.EdGraphPin_3479'
   End Object
   bIsPureFunc=True
   FunctionReference=(MemberParent=Class'/Script/Engine.KismetMathLibrary',MemberName="Divide_FloatFloat")
   Pins(0)=EdGraphPin'EdGraphPin_3469'
   Pins(1)=EdGraphPin'EdGraphPin_3470'
   Pins(2)=EdGraphPin'EdGraphPin_3471'
   Pins(3)=EdGraphPin'EdGraphPin_3472'
   NodePosX=2368
   NodePosY=400
   NodeGuid=2D54951F4BAF1A1ED026268A6DCB4AA1
End Object
Begin Object Class=K2Node_CallFunction Name="K2Node_CallFunction_10674"
   Begin Object Class=EdGraphPin Name="EdGraphPin_3473"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_3474"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_3475"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_3476"
   End Object
   Begin Object Name="EdGraphPin_3473"
      PinName="self"
      PinFriendlyName=NSLOCTEXT("K2Node", "Target", "Target")
      PinToolTip="Target
Spline Component Reference"
      PinType=(PinCategory="object",PinSubCategoryObject=Class'/Script/Engine.SplineComponent')
      LinkedTo(0)=EdGraphPin'K2Node_Knot_8447.EdGraphPin_2365'
   End Object
   Begin Object Name="EdGraphPin_3474"
      PinName="Distance"
      PinToolTip="Distance
Float"
      PinType=(PinCategory="float")
      DefaultValue="0.0"
      AutogeneratedDefaultValue="0.0"
      LinkedTo(0)=EdGraphPin'K2Node_Knot_13441.EdGraphPin_2283'
   End Object
   Begin Object Name="EdGraphPin_3475"
      PinName="CoordinateSpace"
      PinToolTip="Coordinate Space
ESplineCoordinateSpace Enum"
      PinType=(PinCategory="byte",PinSubCategoryObject=Enum'/Script/Engine.ESplineCoordinateSpace')
      DefaultValue="Local"
   End Object
   Begin Object Name="EdGraphPin_3476"
      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_28061.EdGraphPin_3538'
   End Object
   bIsPureFunc=True
   bIsConstFunc=True
   FunctionReference=(MemberParent=Class'/Script/Engine.SplineComponent',MemberName="GetLocationAtDistanceAlongSpline")
   Pins(0)=EdGraphPin'EdGraphPin_3473'
   Pins(1)=EdGraphPin'EdGraphPin_3474'
   Pins(2)=EdGraphPin'EdGraphPin_3475'
   Pins(3)=EdGraphPin'EdGraphPin_3476'
   NodePosX=2848
   NodePosY=496
   NodeGuid=35DF17F947B9436A712553B769A30C58
End Object
Begin Object Class=K2Node_CallFunction Name="K2Node_CallFunction_10675"
   Begin Object Class=EdGraphPin Name="EdGraphPin_3477"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_3478"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_3479"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_3480"
   End Object
   Begin Object Name="EdGraphPin_3477"
      PinName="self"
      PinFriendlyName=NSLOCTEXT("K2Node", "Target", "Target")
      PinType=(PinCategory="object",PinSubCategoryObject=Class'/Script/Engine.KismetMathLibrary')
      DefaultObject=Default__KismetMathLibrary
      bHidden=True
   End Object
   Begin Object Name="EdGraphPin_3478"
      PinName="A"
      PinType=(PinCategory="int")
      DefaultValue="0"
      AutogeneratedDefaultValue="0"
      LinkedTo(0)=EdGraphPin'K2Node_MacroInstance_423.EdGraphPin_3467'
   End Object
   Begin Object Name="EdGraphPin_3479"
      PinName="B"
      PinType=(PinCategory="float")
      DefaultValue="0.0"
      AutogeneratedDefaultValue="0.0"
      LinkedTo(0)=EdGraphPin'K2Node_CallFunction_10672.EdGraphPin_3472'
   End Object
   Begin Object Name="EdGraphPin_3480"
      PinName="ReturnValue"
      Direction=EGPD_Output
      PinType=(PinCategory="float")
      AutogeneratedDefaultValue="0.0"
      LinkedTo(0)=EdGraphPin'K2Node_Knot_13441.EdGraphPin_2282'
   End Object
   bIsPureFunc=True
   FunctionReference=(MemberParent=Class'/Script/Engine.KismetMathLibrary',MemberName="Multiply_IntFloat")
   Pins(0)=EdGraphPin'EdGraphPin_3477'
   Pins(1)=EdGraphPin'EdGraphPin_3478'
   Pins(2)=EdGraphPin'EdGraphPin_3479'
   Pins(3)=EdGraphPin'EdGraphPin_3480'
   NodePosX=2544
   NodePosY=384
   NodeGuid=E9D129B14B50855E20E0ED8BB300A006
End Object
Begin Object Class=K2Node_CallFunction Name="K2Node_CallFunction_21855"
   Begin Object Class=EdGraphPin Name="EdGraphPin_3481"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_3482"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_3483"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_3484"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_3490"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_3491"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_3492"
   End Object
   Begin Object Name="EdGraphPin_3481"
      PinName="self"
      PinFriendlyName=NSLOCTEXT("K2Node", "Target", "Target")
      PinToolTip="Target
Spline Component Reference"
      PinType=(PinCategory="object",PinSubCategoryObject=Class'/Script/Engine.SplineComponent')
      LinkedTo(0)=EdGraphPin'K2Node_Knot_8448.EdGraphPin_2363'
   End Object
   Begin Object Name="EdGraphPin_3482"
      PinName="Distance"
      PinToolTip="Distance
Float"
      PinType=(PinCategory="float")
      DefaultValue="0.0"
      AutogeneratedDefaultValue="0.0"
      LinkedTo(0)=EdGraphPin'K2Node_Knot_13442.EdGraphPin_2236'
   End Object
   Begin Object Name="EdGraphPin_3483"
      PinName="CoordinateSpace"
      PinToolTip="Coordinate Space
ESplineCoordinateSpace Enum"
      PinType=(PinCategory="byte",PinSubCategoryObject=Enum'/Script/Engine.ESplineCoordinateSpace')
      DefaultValue="Local"
   End Object
   Begin Object Name="EdGraphPin_3484"
      PinName="ReturnValue"
      PinToolTip="Return Value
Rotator "
      Direction=EGPD_Output
      PinType=(PinCategory="struct",PinSubCategoryObject=ScriptStruct'/Script/CoreUObject.Rotator')
      AutogeneratedDefaultValue="0, 0, 0"
      SubPins(0)=EdGraphPin'K2Node_CallFunction_21855.EdGraphPin_3490'
      SubPins(1)=EdGraphPin'K2Node_CallFunction_21855.EdGraphPin_3491'
      SubPins(2)=EdGraphPin'K2Node_CallFunction_21855.EdGraphPin_3492'
      bHidden=True
   End Object
   Begin Object Name="EdGraphPin_3490"
      PinName="ReturnValue_Roll"
      PinFriendlyName="Return Value X (Roll)"
      PinToolTip="Return Value X (Roll)
Float"
      Direction=EGPD_Output
      PinType=(PinCategory="float")
      AutogeneratedDefaultValue="0.0"
      LinkedTo(0)=EdGraphPin'K2Node_CallFunction_15409.EdGraphPin_3516'
      ParentPin=EdGraphPin'K2Node_CallFunction_21855.EdGraphPin_3484'
   End Object
   Begin Object Name="EdGraphPin_3491"
      PinName="ReturnValue_Pitch"
      PinFriendlyName="Return Value Y (Pitch)"
      PinToolTip="Return Value Y (Pitch)
Float"
      Direction=EGPD_Output
      PinType=(PinCategory="float")
      AutogeneratedDefaultValue="0.0"
      LinkedTo(0)=EdGraphPin'K2Node_CallFunction_13189.EdGraphPin_3495'
      ParentPin=EdGraphPin'K2Node_CallFunction_21855.EdGraphPin_3484'
   End Object
   Begin Object Name="EdGraphPin_3492"
      PinName="ReturnValue_Yaw"
      PinFriendlyName="Return Value Z (Yaw)"
      PinToolTip="Return Value Z (Yaw)
Float"
      Direction=EGPD_Output
      PinType=(PinCategory="float")
      AutogeneratedDefaultValue="0.0"
      LinkedTo(0)=EdGraphPin'K2Node_CallFunction_13189.EdGraphPin_3496'
      ParentPin=EdGraphPin'K2Node_CallFunction_21855.EdGraphPin_3484'
   End Object
   bIsPureFunc=True
   bIsConstFunc=True
   FunctionReference=(MemberParent=Class'/Script/Engine.SplineComponent',MemberName="GetRotationAtDistanceAlongSpline")
   Pins(0)=EdGraphPin'EdGraphPin_3481'
   Pins(1)=EdGraphPin'EdGraphPin_3482'
   Pins(2)=EdGraphPin'EdGraphPin_3483'
   Pins(3)=EdGraphPin'EdGraphPin_3484'
   Pins(4)=EdGraphPin'EdGraphPin_3490'
   Pins(5)=EdGraphPin'EdGraphPin_3491'
   Pins(6)=EdGraphPin'EdGraphPin_3492'
   NodePosX=2848
   NodePosY=656
   NodeGuid=095D12B34C04C3A7E26DBF9CC54A96ED
End Object
Begin Object Class=K2Node_CallFunction Name="K2Node_CallFunction_13189"
   Begin Object Class=EdGraphPin Name="EdGraphPin_3493"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_3494"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_3495"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_3496"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_3497"
   End Object
   Begin Object Name="EdGraphPin_3493"
      PinName="self"
      PinFriendlyName=NSLOCTEXT("K2Node", "Target", "Target")
      PinType=(PinCategory="object",PinSubCategoryObject=Class'/Script/Engine.KismetMathLibrary')
      DefaultObject=Default__KismetMathLibrary
      bHidden=True
   End Object
   Begin Object Name="EdGraphPin_3494"
      PinName="Roll"
      PinFriendlyName="X (Roll)"
      PinType=(PinCategory="float")
      DefaultValue="0.0"
      AutogeneratedDefaultValue="0.0"
      LinkedTo(0)=EdGraphPin'K2Node_CallFunction_15409.EdGraphPin_3518'
   End Object
   Begin Object Name="EdGraphPin_3495"
      PinName="Pitch"
      PinFriendlyName="Y (Pitch)"
      PinType=(PinCategory="float")
      DefaultValue="0.0"
      AutogeneratedDefaultValue="0.0"
      LinkedTo(0)=EdGraphPin'K2Node_CallFunction_21855.EdGraphPin_3491'
   End Object
   Begin Object Name="EdGraphPin_3496"
      PinName="Yaw"
      PinFriendlyName="Z (Yaw)"
      PinType=(PinCategory="float")
      DefaultValue="0.0"
      AutogeneratedDefaultValue="0.0"
      LinkedTo(0)=EdGraphPin'K2Node_CallFunction_21855.EdGraphPin_3492'
   End Object
   Begin Object Name="EdGraphPin_3497"
      PinName="ReturnValue"
      Direction=EGPD_Output
      PinType=(PinCategory="struct",PinSubCategoryObject=ScriptStruct'/Script/CoreUObject.Rotator')
      AutogeneratedDefaultValue="0, 0, 0"
      LinkedTo(0)=EdGraphPin'K2Node_CallFunction_28061.EdGraphPin_3539'
   End Object
   bIsPureFunc=True
   FunctionReference=(MemberParent=Class'/Script/Engine.KismetMathLibrary',MemberName="MakeRotator")
   Pins(0)=EdGraphPin'EdGraphPin_3493'
   Pins(1)=EdGraphPin'EdGraphPin_3494'
   Pins(2)=EdGraphPin'EdGraphPin_3495'
   Pins(3)=EdGraphPin'EdGraphPin_3496'
   Pins(4)=EdGraphPin'EdGraphPin_3497'
   NodePosX=3632
   NodePosY=720
   NodeGuid=AA03DC8845E25F3C54AB5A8B208D3397
End Object
Begin Object Class=K2Node_CallFunction Name="K2Node_CallFunction_14299"
   Begin Object Class=EdGraphPin Name="EdGraphPin_3498"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_3499"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_3500"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_3501"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_3507"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_3508"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_3509"
   End Object
   Begin Object Name="EdGraphPin_3498"
      PinName="self"
      PinFriendlyName=NSLOCTEXT("K2Node", "Target", "Target")
      PinToolTip="Target
Spline Component Reference"
      PinType=(PinCategory="object",PinSubCategoryObject=Class'/Script/Engine.SplineComponent')
      LinkedTo(0)=EdGraphPin'K2Node_Knot_8449.EdGraphPin_2357'
   End Object
   Begin Object Name="EdGraphPin_3499"
      PinName="Distance"
      PinToolTip="Distance
Float"
      PinType=(PinCategory="float")
      DefaultValue="0.0"
      AutogeneratedDefaultValue="0.0"
      LinkedTo(0)=EdGraphPin'K2Node_Knot_13442.EdGraphPin_2236'
   End Object
   Begin Object Name="EdGraphPin_3500"
      PinName="CoordinateSpace"
      PinToolTip="Coordinate Space
ESplineCoordinateSpace Enum"
      PinType=(PinCategory="byte",PinSubCategoryObject=Enum'/Script/Engine.ESplineCoordinateSpace')
      DefaultValue="Local"
   End Object
   Begin Object Name="EdGraphPin_3501"
      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"
      SubPins(0)=EdGraphPin'K2Node_CallFunction_14299.EdGraphPin_3507'
      SubPins(1)=EdGraphPin'K2Node_CallFunction_14299.EdGraphPin_3508'
      SubPins(2)=EdGraphPin'K2Node_CallFunction_14299.EdGraphPin_3509'
      bHidden=True
   End Object
   Begin Object Name="EdGraphPin_3507"
      PinName="ReturnValue_X"
      PinFriendlyName="Return Value X"
      PinToolTip="Return Value X
Float"
      Direction=EGPD_Output
      PinType=(PinCategory="float")
      DefaultValue="0.0"
      AutogeneratedDefaultValue="0.0"
      ParentPin=EdGraphPin'K2Node_CallFunction_14299.EdGraphPin_3501'
   End Object
   Begin Object Name="EdGraphPin_3508"
      PinName="ReturnValue_Y"
      PinFriendlyName="Return Value Y"
      PinToolTip="Return Value Y
Float"
      Direction=EGPD_Output
      PinType=(PinCategory="float")
      AutogeneratedDefaultValue="0.0"
      LinkedTo(0)=EdGraphPin'K2Node_CallFunction_15408.EdGraphPin_3511'
      ParentPin=EdGraphPin'K2Node_CallFunction_14299.EdGraphPin_3501'
   End Object
   Begin Object Name="EdGraphPin_3509"
      PinName="ReturnValue_Z"
      PinFriendlyName="Return Value Z"
      PinToolTip="Return Value Z
Float"
      Direction=EGPD_Output
      PinType=(PinCategory="float")
      DefaultValue="0.0"
      AutogeneratedDefaultValue="0.0"
      ParentPin=EdGraphPin'K2Node_CallFunction_14299.EdGraphPin_3501'
   End Object
   bIsPureFunc=True
   bIsConstFunc=True
   FunctionReference=(MemberParent=Class'/Script/Engine.SplineComponent',MemberName="GetRightVectorAtDistanceAlongSpline")
   Pins(0)=EdGraphPin'EdGraphPin_3498'
   Pins(1)=EdGraphPin'EdGraphPin_3499'
   Pins(2)=EdGraphPin'EdGraphPin_3500'
   Pins(3)=EdGraphPin'EdGraphPin_3501'
   Pins(4)=EdGraphPin'EdGraphPin_3507'
   Pins(5)=EdGraphPin'EdGraphPin_3508'
   Pins(6)=EdGraphPin'EdGraphPin_3509'
   NodePosX=2848
   NodePosY=816
   NodeGuid=CACC2299447FDDC755074191765592BA
End Object
Begin Object Class=K2Node_CallFunction Name="K2Node_CallFunction_15408"
   Begin Object Class=EdGraphPin Name="EdGraphPin_3510"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_3511"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_3512"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_3513"
   End Object
   Begin Object Name="EdGraphPin_3510"
      PinName="self"
      PinFriendlyName=NSLOCTEXT("K2Node", "Target", "Target")
      PinType=(PinCategory="object",PinSubCategoryObject=Class'/Script/Engine.KismetMathLibrary')
      DefaultObject=Default__KismetMathLibrary
      bHidden=True
   End Object
   Begin Object Name="EdGraphPin_3511"
      PinName="A"
      PinType=(PinCategory="float")
      DefaultValue="0.0"
      AutogeneratedDefaultValue="0.0"
      LinkedTo(0)=EdGraphPin'K2Node_CallFunction_14299.EdGraphPin_3508'
   End Object
   Begin Object Name="EdGraphPin_3512"
      PinName="B"
      PinType=(PinCategory="float")
      DefaultValue="0"
      AutogeneratedDefaultValue="0.0"
   End Object
   Begin Object Name="EdGraphPin_3513"
      PinName="ReturnValue"
      Direction=EGPD_Output
      PinType=(PinCategory="bool")
      AutogeneratedDefaultValue="false"
      LinkedTo(0)=EdGraphPin'K2Node_CallFunction_15409.EdGraphPin_3517'
   End Object
   bIsPureFunc=True
   FunctionReference=(MemberParent=Class'/Script/Engine.KismetMathLibrary',MemberName="Less_FloatFloat")
   Pins(0)=EdGraphPin'EdGraphPin_3510'
   Pins(1)=EdGraphPin'EdGraphPin_3511'
   Pins(2)=EdGraphPin'EdGraphPin_3512'
   Pins(3)=EdGraphPin'EdGraphPin_3513'
   NodePosX=3264
   NodePosY=896
   NodeGuid=195C64DD429161AA18F7B3AFDBE30D41
End Object
Begin Object Class=K2Node_CallFunction Name="K2Node_CallFunction_15409"
   Begin Object Class=EdGraphPin Name="EdGraphPin_3514"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_3515"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_3516"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_3517"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_3518"
   End Object
   Begin Object Name="EdGraphPin_3514"
      PinName="self"
      PinFriendlyName=NSLOCTEXT("K2Node", "Target", "Target")
      PinToolTip="Target
Kismet Math Library Reference"
      PinType=(PinCategory="object",PinSubCategoryObject=Class'/Script/Engine.KismetMathLibrary')
      DefaultObject=Default__KismetMathLibrary
      bHidden=True
   End Object
   Begin Object Name="EdGraphPin_3515"
      PinName="A"
      PinToolTip="A
Float"
      PinType=(PinCategory="float")
      DefaultValue="180"
      AutogeneratedDefaultValue="0.0"
   End Object
   Begin Object Name="EdGraphPin_3516"
      PinName="B"
      PinToolTip="B
Float"
      PinType=(PinCategory="float")
      DefaultValue="0.0"
      AutogeneratedDefaultValue="0.0"
      LinkedTo(0)=EdGraphPin'K2Node_CallFunction_21855.EdGraphPin_3490'
   End Object
   Begin Object Name="EdGraphPin_3517"
      PinName="bPickA"
      PinToolTip="Pick A
Boolean"
      PinType=(PinCategory="bool")
      DefaultValue="false"
      AutogeneratedDefaultValue="false"
      LinkedTo(0)=EdGraphPin'K2Node_CallFunction_15408.EdGraphPin_3513'
   End Object
   Begin Object Name="EdGraphPin_3518"
      PinName="ReturnValue"
      PinToolTip="Return Value
Float"
      Direction=EGPD_Output
      PinType=(PinCategory="float")
      AutogeneratedDefaultValue="0.0"
      LinkedTo(0)=EdGraphPin'K2Node_CallFunction_13189.EdGraphPin_3494'
   End Object
   bIsPureFunc=True
   FunctionReference=(MemberParent=Class'/Script/Engine.KismetMathLibrary',MemberName="SelectFloat")
   Pins(0)=EdGraphPin'EdGraphPin_3514'
   Pins(1)=EdGraphPin'EdGraphPin_3515'
   Pins(2)=EdGraphPin'EdGraphPin_3516'
   Pins(3)=EdGraphPin'EdGraphPin_3517'
   Pins(4)=EdGraphPin'EdGraphPin_3518'
   NodePosX=3392
   NodePosY=640
   NodeGuid=FE482E724A77531B890580AD3B9A0EAD
End Object
Begin Object Class=K2Node_VariableGet Name="K2Node_VariableGet_9462"
   Begin Object Class=EdGraphPin Name="EdGraphPin_3519"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_3520"
   End Object
   Begin Object Name="EdGraphPin_3519"
      PinName="TreadsOnSide"
      Direction=EGPD_Output
      PinType=(PinCategory="int")
      AutogeneratedDefaultValue="0"
      LinkedTo(0)=EdGraphPin'K2Node_CallFunction_25908.EdGraphPin_3522'
      LinkedTo(1)=EdGraphPin'K2Node_CallFunction_25909.EdGraphPin_3526'
   End Object
   Begin Object Name="EdGraphPin_3520"
      PinName="self"
      PinFriendlyName=NSLOCTEXT("K2Node", "Target", "Target")
      PinType=(PinCategory="object",PinSubCategoryObject=BlueprintGeneratedClass'/Game/BluePrints/Vehicles/Tracked/TrackComponents/TrackAnimationDrive.TrackAnimationDrive_C')
      LinkedTo(0)=EdGraphPin'K2Node_Knot_8450.EdGraphPin_2355'
   End Object
   VariableReference=(MemberParent=BlueprintGeneratedClass'/Game/BluePrints/Vehicles/Tracked/TrackComponents/TrackAnimationDrive.TrackAnimationDrive_C',MemberName="TreadsOnSide",MemberGuid=94735CD543A2F7FC76400989357FEFC8)
   SelfContextInfo=NotSelfContext
   Pins(0)=EdGraphPin'EdGraphPin_3519'
   Pins(1)=EdGraphPin'EdGraphPin_3520'
   NodePosX=1648
   NodePosY=464
   NodeGuid=3FEEC3034936EAD1C8418AA840F9AFFF
End Object
Begin Object Class=K2Node_Knot Name="K2Node_Knot_8444"
   Begin Object Class=EdGraphPin Name="EdGraphPin_2378"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2379"
   End Object
   Begin Object Name="EdGraphPin_2378"
      PinName="InputPin"
      PinType=(PinCategory="object",PinSubCategoryObject=BlueprintGeneratedClass'/Game/BluePrints/Vehicles/Tracked/TrackComponents/TrackAnimationDrive.TrackAnimationDrive_C')
      LinkedTo(0)=EdGraphPin'K2Node_Knot_8208.EdGraphPin_2385'
      bDefaultValueIsIgnored=True
   End Object
   Begin Object Name="EdGraphPin_2379"
      PinName="OutputPin"
      Direction=EGPD_Output
      PinType=(PinCategory="object",PinSubCategoryObject=BlueprintGeneratedClass'/Game/BluePrints/Vehicles/Tracked/TrackComponents/TrackAnimationDrive.TrackAnimationDrive_C')
      LinkedTo(0)=EdGraphPin'K2Node_VariableGet_8962.EdGraphPin_3450'
      LinkedTo(1)=EdGraphPin'K2Node_Knot_8450.EdGraphPin_2354'
   End Object
   Pins(0)=EdGraphPin'EdGraphPin_2378'
   Pins(1)=EdGraphPin'EdGraphPin_2379'
   NodePosX=416
   NodePosY=192
   NodeGuid=8ABE2B7E433A07AB475596B21E428752
End Object
Begin Object Class=K2Node_Knot Name="K2Node_Knot_8445"
   Begin Object Class=EdGraphPin Name="EdGraphPin_2372"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2373"
   End Object
   Begin Object Name="EdGraphPin_2372"
      PinName="InputPin"
      PinType=(PinCategory="object",PinSubCategoryObject=Class'/Script/Engine.SplineComponent')
      LinkedTo(0)=EdGraphPin'K2Node_Knot_8210.EdGraphPin_2383'
      bDefaultValueIsIgnored=True
   End Object
   Begin Object Name="EdGraphPin_2373"
      PinName="OutputPin"
      Direction=EGPD_Output
      PinType=(PinCategory="object",PinSubCategoryObject=Class'/Script/Engine.SplineComponent')
      LinkedTo(0)=EdGraphPin'K2Node_Knot_8446.EdGraphPin_2370'
   End Object
   Pins(0)=EdGraphPin'EdGraphPin_2372'
   Pins(1)=EdGraphPin'EdGraphPin_2373'
   NodePosX=1744
   NodePosY=-48
   NodeGuid=B4DC9EA94B40AB2478B7078AA9B9223C
End Object
Begin Object Class=K2Node_Knot Name="K2Node_Knot_8446"
   Begin Object Class=EdGraphPin Name="EdGraphPin_2370"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2371"
   End Object
   Begin Object Name="EdGraphPin_2370"
      PinName="InputPin"
      PinType=(PinCategory="object",PinSubCategoryObject=Class'/Script/Engine.SplineComponent')
      LinkedTo(0)=EdGraphPin'K2Node_Knot_8445.EdGraphPin_2373'
      bDefaultValueIsIgnored=True
   End Object
   Begin Object Name="EdGraphPin_2371"
      PinName="OutputPin"
      Direction=EGPD_Output
      PinType=(PinCategory="object",PinSubCategoryObject=Class'/Script/Engine.SplineComponent')
      LinkedTo(0)=EdGraphPin'K2Node_Knot_8447.EdGraphPin_2364'
      LinkedTo(1)=EdGraphPin'K2Node_CallFunction_30950.EdGraphPin_3541'
   End Object
   Pins(0)=EdGraphPin'EdGraphPin_2370'
   Pins(1)=EdGraphPin'EdGraphPin_2371'
   NodePosX=1936
   NodePosY=416
   NodeGuid=2CBCB26E4B6D10F7446BDABFA6E85F6E
End Object
Begin Object Class=K2Node_Knot Name="K2Node_Knot_8447"
   Begin Object Class=EdGraphPin Name="EdGraphPin_2364"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2365"
   End Object
   Begin Object Name="EdGraphPin_2364"
      PinName="InputPin"
      PinType=(PinCategory="object",PinSubCategoryObject=Class'/Script/Engine.SplineComponent')
      LinkedTo(0)=EdGraphPin'K2Node_Knot_8446.EdGraphPin_2371'
      bDefaultValueIsIgnored=True
   End Object
   Begin Object Name="EdGraphPin_2365"
      PinName="OutputPin"
      Direction=EGPD_Output
      PinType=(PinCategory="object",PinSubCategoryObject=Class'/Script/Engine.SplineComponent')
      LinkedTo(0)=EdGraphPin'K2Node_Knot_8448.EdGraphPin_2362'
      LinkedTo(1)=EdGraphPin'K2Node_CallFunction_10674.EdGraphPin_3473'
   End Object
   Pins(0)=EdGraphPin'EdGraphPin_2364'
   Pins(1)=EdGraphPin'EdGraphPin_2365'
   NodePosX=2032
   NodePosY=544
   NodeGuid=E4E8C0274FF9E352DA3FE09FAC763CD2
End Object
Begin Object Class=K2Node_Knot Name="K2Node_Knot_8448"
   Begin Object Class=EdGraphPin Name="EdGraphPin_2362"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2363"
   End Object
   Begin Object Name="EdGraphPin_2362"
      PinName="InputPin"
      PinType=(PinCategory="object",PinSubCategoryObject=Class'/Script/Engine.SplineComponent')
      LinkedTo(0)=EdGraphPin'K2Node_Knot_8447.EdGraphPin_2365'
      bDefaultValueIsIgnored=True
   End Object
   Begin Object Name="EdGraphPin_2363"
      PinName="OutputPin"
      Direction=EGPD_Output
      PinType=(PinCategory="object",PinSubCategoryObject=Class'/Script/Engine.SplineComponent')
      LinkedTo(0)=EdGraphPin'K2Node_CallFunction_21855.EdGraphPin_3481'
      LinkedTo(1)=EdGraphPin'K2Node_Knot_8449.EdGraphPin_2356'
   End Object
   Pins(0)=EdGraphPin'EdGraphPin_2362'
   Pins(1)=EdGraphPin'EdGraphPin_2363'
   NodePosX=2336
   NodePosY=704
   NodeGuid=9B0A60BD4892B06763627699ED862182
End Object
Begin Object Class=K2Node_Knot Name="K2Node_Knot_8449"
   Begin Object Class=EdGraphPin Name="EdGraphPin_2356"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2357"
   End Object
   Begin Object Name="EdGraphPin_2356"
      PinName="InputPin"
      PinType=(PinCategory="object",PinSubCategoryObject=Class'/Script/Engine.SplineComponent')
      LinkedTo(0)=EdGraphPin'K2Node_Knot_8448.EdGraphPin_2363'
      bDefaultValueIsIgnored=True
   End Object
   Begin Object Name="EdGraphPin_2357"
      PinName="OutputPin"
      Direction=EGPD_Output
      PinType=(PinCategory="object",PinSubCategoryObject=Class'/Script/Engine.SplineComponent')
      LinkedTo(0)=EdGraphPin'K2Node_CallFunction_14299.EdGraphPin_3498'
   End Object
   Pins(0)=EdGraphPin'EdGraphPin_2356'
   Pins(1)=EdGraphPin'EdGraphPin_2357'
   NodePosX=2528
   NodePosY=864
   NodeGuid=E2F373CF4B3F56180ADFA7B1C0B53ABB
End Object
Begin Object Class=K2Node_Knot Name="K2Node_Knot_8450"
   Begin Object Class=EdGraphPin Name="EdGraphPin_2354"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2355"
   End Object
   Begin Object Name="EdGraphPin_2354"
      PinName="InputPin"
      PinType=(PinCategory="object",PinSubCategoryObject=BlueprintGeneratedClass'/Game/BluePrints/Vehicles/Tracked/TrackComponents/TrackAnimationDrive.TrackAnimationDrive_C')
      LinkedTo(0)=EdGraphPin'K2Node_Knot_8444.EdGraphPin_2379'
      bDefaultValueIsIgnored=True
   End Object
   Begin Object Name="EdGraphPin_2355"
      PinName="OutputPin"
      Direction=EGPD_Output
      PinType=(PinCategory="object",PinSubCategoryObject=BlueprintGeneratedClass'/Game/BluePrints/Vehicles/Tracked/TrackComponents/TrackAnimationDrive.TrackAnimationDrive_C')
      LinkedTo(0)=EdGraphPin'K2Node_VariableGet_9462.EdGraphPin_3520'
   End Object
   Pins(0)=EdGraphPin'EdGraphPin_2354'
   Pins(1)=EdGraphPin'EdGraphPin_2355'
   NodePosX=784
   NodePosY=472
   NodeGuid=D6D2050341A1E0ADA3BF13A506C03CCD
End Object
Begin Object Class=K2Node_CallFunction Name="K2Node_CallFunction_25908"
   Begin Object Class=EdGraphPin Name="EdGraphPin_3521"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_3522"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_3523"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_3524"
   End Object
   Begin Object Name="EdGraphPin_3521"
      PinName="self"
      PinFriendlyName=NSLOCTEXT("K2Node", "Target", "Target")
      PinToolTip="Target
Kismet Math Library Reference"
      PinType=(PinCategory="object",PinSubCategoryObject=Class'/Script/Engine.KismetMathLibrary')
      DefaultObject=Default__KismetMathLibrary
      bHidden=True
   End Object
   Begin Object Name="EdGraphPin_3522"
      PinName="A"
      PinToolTip="A
Integer"
      PinType=(PinCategory="int")
      DefaultValue="0"
      AutogeneratedDefaultValue="0"
      LinkedTo(0)=EdGraphPin'K2Node_VariableGet_9462.EdGraphPin_3519'
   End Object
   Begin Object Name="EdGraphPin_3523"
      PinName="B"
      PinToolTip="B
Integer"
      PinType=(PinCategory="int")
      DefaultValue="1"
      AutogeneratedDefaultValue="1"
   End Object
   Begin Object Name="EdGraphPin_3524"
      PinName="ReturnValue"
      PinToolTip="Return Value
Integer"
      Direction=EGPD_Output
      PinType=(PinCategory="int")
      AutogeneratedDefaultValue="0"
      LinkedTo(0)=EdGraphPin'K2Node_MacroInstance_423.EdGraphPin_3465'
   End Object
   bIsPureFunc=True
   FunctionReference=(MemberParent=Class'/Script/Engine.KismetMathLibrary',MemberName="Subtract_IntInt")
   Pins(0)=EdGraphPin'EdGraphPin_3521'
   Pins(1)=EdGraphPin'EdGraphPin_3522'
   Pins(2)=EdGraphPin'EdGraphPin_3523'
   Pins(3)=EdGraphPin'EdGraphPin_3524'
   NodePosX=1984
   NodePosY=288
   NodeGuid=D8FD9BA645080763846A9596E04EF180
End Object
Begin Object Class=K2Node_CallFunction Name="K2Node_CallFunction_25909"
   Begin Object Class=EdGraphPin Name="EdGraphPin_3525"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_3526"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_3527"
   End Object
   Begin Object Name="EdGraphPin_3525"
      PinName="self"
      PinFriendlyName=NSLOCTEXT("K2Node", "Target", "Target")
      PinType=(PinCategory="object",PinSubCategoryObject=Class'/Script/Engine.KismetMathLibrary')
      DefaultObject=Default__KismetMathLibrary
      bHidden=True
   End Object
   Begin Object Name="EdGraphPin_3526"
      PinName="InInt"
      PinType=(PinCategory="int")
      DefaultValue="0"
      AutogeneratedDefaultValue="0"
      LinkedTo(0)=EdGraphPin'K2Node_VariableGet_9462.EdGraphPin_3519'
   End Object
   Begin Object Name="EdGraphPin_3527"
      PinName="ReturnValue"
      Direction=EGPD_Output
      PinType=(PinCategory="float")
      AutogeneratedDefaultValue="0.0"
      LinkedTo(0)=EdGraphPin'K2Node_CallFunction_10672.EdGraphPin_3471'
   End Object
   bIsPureFunc=True
   FunctionReference=(MemberParent=Class'/Script/Engine.KismetMathLibrary',MemberName="Conv_IntToFloat")
   Pins(0)=EdGraphPin'EdGraphPin_3525'
   Pins(1)=EdGraphPin'EdGraphPin_3526'
   Pins(2)=EdGraphPin'EdGraphPin_3527'
   NodePosX=2176
   NodePosY=448
   NodeGuid=199797024515715C3AA4A4A10CC75BA9
End Object
Begin Object Class=K2Node_CallFunction Name="K2Node_CallFunction_28061"
   Begin Object Class=EdGraphPin Name="EdGraphPin_3528"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_3529"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_3530"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_3531"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_3532"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_3538"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_3539"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_3540"
   End Object
   Begin Object Name="EdGraphPin_3528"
      PinName="execute"
      PinToolTip="
Exec"
      PinType=(PinCategory="exec")
      LinkedTo(0)=EdGraphPin'K2Node_MacroInstance_423.EdGraphPin_3466'
   End Object
   Begin Object Name="EdGraphPin_3529"
      PinName="then"
      PinToolTip="
Exec"
      Direction=EGPD_Output
      PinType=(PinCategory="exec")
   End Object
   Begin Object Name="EdGraphPin_3530"
      PinName="self"
      PinFriendlyName=NSLOCTEXT("K2Node", "Target", "Target")
      PinToolTip="Target
Instanced Static Mesh Component Reference"
      PinType=(PinCategory="object",PinSubCategoryObject=Class'/Script/Engine.InstancedStaticMeshComponent')
      LinkedTo(0)=EdGraphPin'K2Node_Knot_9833.EdGraphPin_2349'
   End Object
   Begin Object Name="EdGraphPin_3531"
      PinName="InstanceTransform"
      PinToolTip="Instance Transform
Transform  (by ref)"
      PinType=(PinCategory="struct",PinSubCategoryObject=ScriptStruct'/Script/CoreUObject.Transform',bIsReference=True,bIsConst=True)
      SubPins(0)=EdGraphPin'K2Node_CallFunction_28061.EdGraphPin_3538'
      SubPins(1)=EdGraphPin'K2Node_CallFunction_28061.EdGraphPin_3539'
      SubPins(2)=EdGraphPin'K2Node_CallFunction_28061.EdGraphPin_3540'
      bHidden=True
      bDefaultValueIsIgnored=True
   End Object
   Begin Object Name="EdGraphPin_3532"
      PinName="ReturnValue"
      PinToolTip="Return Value
Integer"
      Direction=EGPD_Output
      PinType=(PinCategory="int")
      DefaultValue="0"
      AutogeneratedDefaultValue="0"
   End Object
   Begin Object Name="EdGraphPin_3538"
      PinName="InstanceTransform_Location"
      PinFriendlyName="Instance Transform Location"
      PinToolTip="Instance Transform Location
Vector "
      PinType=(PinCategory="struct",PinSubCategoryObject=ScriptStruct'/Script/CoreUObject.Vector')
      DefaultValue="0, 0, 0"
      AutogeneratedDefaultValue="0, 0, 0"
      LinkedTo(0)=EdGraphPin'K2Node_CallFunction_10674.EdGraphPin_3476'
      ParentPin=EdGraphPin'K2Node_CallFunction_28061.EdGraphPin_3531'
   End Object
   Begin Object Name="EdGraphPin_3539"
      PinName="InstanceTransform_Rotation"
      PinFriendlyName="Instance Transform Rotation"
      PinToolTip="Instance Transform Rotation
Rotator "
      PinType=(PinCategory="struct",PinSubCategoryObject=ScriptStruct'/Script/CoreUObject.Rotator')
      DefaultValue="0, 0, 0"
      AutogeneratedDefaultValue="0, 0, 0"
      LinkedTo(0)=EdGraphPin'K2Node_CallFunction_13189.EdGraphPin_3497'
      ParentPin=EdGraphPin'K2Node_CallFunction_28061.EdGraphPin_3531'
   End Object
   Begin Object Name="EdGraphPin_3540"
      PinName="InstanceTransform_Scale"
      PinFriendlyName="Instance Transform Scale"
      PinToolTip="Instance Transform Scale
Vector "
      PinType=(PinCategory="struct",PinSubCategoryObject=ScriptStruct'/Script/CoreUObject.Vector')
      DefaultValue="1,1,1"
      AutogeneratedDefaultValue="1,1,1"
      ParentPin=EdGraphPin'K2Node_CallFunction_28061.EdGraphPin_3531'
   End Object
   FunctionReference=(MemberParent=Class'/Script/Engine.InstancedStaticMeshComponent',MemberName="AddInstance")
   Pins(0)=EdGraphPin'EdGraphPin_3528'
   Pins(1)=EdGraphPin'EdGraphPin_3529'
   Pins(2)=EdGraphPin'EdGraphPin_3530'
   Pins(3)=EdGraphPin'EdGraphPin_3531'
   Pins(4)=EdGraphPin'EdGraphPin_3538'
   Pins(5)=EdGraphPin'EdGraphPin_3539'
   Pins(6)=EdGraphPin'EdGraphPin_3540'
   Pins(7)=EdGraphPin'EdGraphPin_3532'
   NodePosX=3936
   NodePosY=208
   NodeGuid=99253F1E40BA05647724DB8397E8F6FD
End Object
Begin Object Class=K2Node_Knot Name="K2Node_Knot_9833"
   Begin Object Class=EdGraphPin Name="EdGraphPin_2348"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2349"
   End Object
   Begin Object Name="EdGraphPin_2348"
      PinName="InputPin"
      PinType=(PinCategory="object",PinSubCategoryObject=Class'/Script/Engine.InstancedStaticMeshComponent')
      LinkedTo(0)=EdGraphPin'K2Node_Knot_9834.EdGraphPin_2347'
      bDefaultValueIsIgnored=True
   End Object
   Begin Object Name="EdGraphPin_2349"
      PinName="OutputPin"
      Direction=EGPD_Output
      PinType=(PinCategory="object",PinSubCategoryObject=Class'/Script/Engine.InstancedStaticMeshComponent')
      LinkedTo(0)=EdGraphPin'K2Node_CallFunction_28061.EdGraphPin_3530'
   End Object
   Pins(0)=EdGraphPin'EdGraphPin_2348'
   Pins(1)=EdGraphPin'EdGraphPin_2349'
   NodePosX=3536
   NodePosY=-80
   NodeGuid=DF96123546C844E1F69ECD8D951BBF22
End Object
Begin Object Class=K2Node_Knot Name="K2Node_Knot_9834"
   Begin Object Class=EdGraphPin Name="EdGraphPin_2346"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2347"
   End Object
   Begin Object Name="EdGraphPin_2346"
      PinName="InputPin"
      PinType=(PinCategory="object",PinSubCategoryObject=Class'/Script/Engine.InstancedStaticMeshComponent')
      LinkedTo(0)=EdGraphPin'K2Node_FunctionEntry_5179.EdGraphPin_3441'
      bDefaultValueIsIgnored=True
   End Object
   Begin Object Name="EdGraphPin_2347"
      PinName="OutputPin"
      Direction=EGPD_Output
      PinType=(PinCategory="object",PinSubCategoryObject=Class'/Script/Engine.InstancedStaticMeshComponent')
      LinkedTo(0)=EdGraphPin'K2Node_Knot_9833.EdGraphPin_2348'
   End Object
   Pins(0)=EdGraphPin'EdGraphPin_2346'
   Pins(1)=EdGraphPin'EdGraphPin_2347'
   NodePosX=144
   NodePosY=-80
   NodeGuid=7D2FC7FE4E290E47355742803DE812AC
End Object
Begin Object Class=K2Node_CallFunction Name="K2Node_CallFunction_30950"
   Begin Object Class=EdGraphPin Name="EdGraphPin_3541"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_3542"
   End Object
   Begin Object Name="EdGraphPin_3541"
      PinName="self"
      PinFriendlyName=NSLOCTEXT("K2Node", "Target", "Target")
      PinType=(PinCategory="object",PinSubCategoryObject=Class'/Script/Engine.SplineComponent')
      LinkedTo(0)=EdGraphPin'K2Node_Knot_8446.EdGraphPin_2371'
   End Object
   Begin Object Name="EdGraphPin_3542"
      PinName="ReturnValue"
      Direction=EGPD_Output
      PinType=(PinCategory="float")
      AutogeneratedDefaultValue="0.0"
      LinkedTo(0)=EdGraphPin'K2Node_CallFunction_10672.EdGraphPin_3470'
   End Object
   bIsPureFunc=True
   bIsConstFunc=True
   FunctionReference=(MemberParent=Class'/Script/Engine.SplineComponent',MemberName="GetSplineLength")
   Pins(0)=EdGraphPin'EdGraphPin_3541'
   Pins(1)=EdGraphPin'EdGraphPin_3542'
   NodePosX=2064
   NodePosY=368
   NodeGuid=EA88E672434265B46C1345931736B9A7
End Object
Begin Object Class=K2Node_Knot Name="K2Node_Knot_11267"
   Begin Object Class=EdGraphPin Name="EdGraphPin_2298"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2299"
   End Object
   Begin Object Name="EdGraphPin_2298"
      PinName="InputPin"
      PinType=(PinCategory="exec")
      LinkedTo(0)=EdGraphPin'K2Node_MacroInstance_405.EdGraphPin_3456'
      bDefaultValueIsIgnored=True
   End Object
   Begin Object Name="EdGraphPin_2299"
      PinName="OutputPin"
      Direction=EGPD_Output
      PinType=(PinCategory="exec")
      LinkedTo(0)=EdGraphPin'K2Node_MacroInstance_423.EdGraphPin_3463'
   End Object
   Pins(0)=EdGraphPin'EdGraphPin_2298'
   Pins(1)=EdGraphPin'EdGraphPin_2299'
   NodePosX=1392
   NodePosY=256
   NodeGuid=818911D3482E7986BDDBD795F68943B4
End Object
Begin Object Class=K2Node_Knot Name="K2Node_Knot_13441"
   Begin Object Class=EdGraphPin Name="EdGraphPin_2282"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2283"
   End Object
   Begin Object Name="EdGraphPin_2282"
      PinName="InputPin"
      PinType=(PinCategory="float")
      LinkedTo(0)=EdGraphPin'K2Node_CallFunction_10675.EdGraphPin_3480'
      bDefaultValueIsIgnored=True
   End Object
   Begin Object Name="EdGraphPin_2283"
      PinName="OutputPin"
      Direction=EGPD_Output
      PinType=(PinCategory="float")
      LinkedTo(0)=EdGraphPin'K2Node_CallFunction_10674.EdGraphPin_3474'
      LinkedTo(1)=EdGraphPin'K2Node_Knot_13442.EdGraphPin_2235'
   End Object
   Pins(0)=EdGraphPin'EdGraphPin_2282'
   Pins(1)=EdGraphPin'EdGraphPin_2283'
   NodePosX=2688
   NodePosY=569
   NodeGuid=5C5FAC9647118B0340384C9A09150C74
End Object
Begin Object Class=K2Node_Knot Name="K2Node_Knot_13442"
   Begin Object Class=EdGraphPin Name="EdGraphPin_2235"
   End Object
   Begin Object Class=EdGraphPin Name="EdGraphPin_2236"
   End Object
   Begin Object Name="EdGraphPin_2235"
      PinName="InputPin"
      PinType=(PinCategory="float")
      LinkedTo(0)=EdGraphPin'K2Node_Knot_13441.EdGraphPin_2283'
      bDefaultValueIsIgnored=True
   End Object
   Begin Object Name="EdGraphPin_2236"
      PinName="OutputPin"
      Direction=EGPD_Output
      PinType=(PinCategory="float")
      LinkedTo(0)=EdGraphPin'K2Node_CallFunction_21855.EdGraphPin_3482'
      LinkedTo(1)=EdGraphPin'K2Node_CallFunction_14299.EdGraphPin_3499'
   End Object
   Pins(0)=EdGraphPin'EdGraphPin_2235'
   Pins(1)=EdGraphPin'EdGraphPin_2236'
   NodePosX=2736
   NodePosY=729
   NodeGuid=11214ABB4F68D91E3FC7C6804AF3E324
End Object


All this is a bit of glue code between components to create an actual mesh of the tracks. Animation itself is completely handled by TrackAnimationDrive components and so it has to be configured by providing names of components:

  • just as before we have array of spline point locations and tangents
  • total number of treads
  • Animated Spline Points is array that set a relationship between which spline control points should be driven by movement of which physical objects. The socket here just simplifies an offset of the track in relation to the center of the roadwheel.

I added the Build Track Spline function… added the spline coordinates and instanced track mesh.

The tracks show up fine… but I’m having trouble getting them to move.

The tracklinks do not rotate over the splinepath… and they also do not move up/down with the corresponding wheel Tread socket

Edit : never Mind… I linked to the incorrect instanced track link mesh… and I named the Socket “Thread” in stead of “Tread” :smiley:

Works now :smiley:

Nice! :smiley:

On my side it’s not too good, something is broken in clutch logic and adding steering clutches doesn’t really work. I’ll check if gearboxes work but need to fix clutch anyway.

It’s alive!

Got steering clutches working! There were couple of really stupid bugs that I’ve missed but now everything is in order. Added new component for Modular Drive Train - Steering Controller, it will minimize the amount of wiring that have to be done in the Pawn, all what you need to do is connect input events to a couple of Steering Controller input functions and the rest of the logic is done inside of the controller.

@OldRaven How is your progress? Ready to try Modular Drive Train? I’m still not sure how steering gearboxes on Tiger should work. You need some way to synchronize speed when you switch gear. One could do it with synchro or some sort of differential or manually with force :smiley:

I’ll make a copy of the T-26 with Modular Drive Train to make sure that I can set it up and tune from scratch.

Excellent!

I’m going to France tomorrow and will be back in about 2-3 weeks.
After that I will continue.

In the mean time I’m working on finishing high to low res bakes of the wheels, sprocket and track links so i can visually upgrade everthing. And with a good landscape should make it more interesting for other people to look at :wink:

here’s an unfinished sprocket… need to add wear on the teeth… but it is to give you an idea on what I’m working on.
Got a good 3D model of the Interior of the tiger, I need to enhance it … but it gives me a good start for the the crew positions… will start with the driver since we are working on the driving part anyway :smiley:

When I’m in france I will have time to go over all the steps I did to get the tiger in the new setup so I can start on a video tutorial when I get back.

Looks nice! Are you using Substance for textures?
I’m leaving for vacation in the middle of the August, but before that I’ll try to clean up things here and there and add proper rolling friction. This is where deformable landscape comes into play, it’s just much easier to visualize that tanks velocity drops as you drive from concrete to sand or rocks. Most likely I’ll add an array of physics materials names and coefficient of rolling friction for each material. This will go into Anistropic Friction Component.

Did this with Substance painter… since the latest release it also does good normal baking from high poly to a low poly object… so i generated all the normal, AO, curvature etc maps in Substance Painter. Saves time… I usually did the normal baking in Modo

Update

Added Rolling Resistance/Friction force as a part of Anisotropic Friction Component functionality. In Settings->ProjectSettings->Physics->PhysicalSurface we can define a number of the EPhysicalSurface records that can be later used in physics materials to make it very simple to understand what kind of physics material we are dealing with and how should we react to it. For example, by spawning different particle effects when something hits them or changing decals for the tank tracks:

Type of the Physical Surface can be read on collision hit events or on raycheck test. For landscapes, you can set physical materials (bound to one of the EPhysical Surface types) in information layer assets.
Now we can define a set of Rolling Resistance/Friction coefficient for each EPhysical Surface in Anisotropic Friction component:

This allows to tune how fast our vehicle should be moving on different surfaces, like tarmak, concrete, dirt, snow or any other type of surface that you want to have in your game.

Landscape deformation now have a different amount of displacement depending on the paint layer, each paint layer can have a different physical material assigned to it and in combination with binding to EPhysical Surface you can have different particles spawned or physics behavior on different materials. Here you can see that deformation from tracks is deeper on sand than on rocks:
54dc55774e4ffaf693d04d747aeea60f3bf3381b.jpeg

Made small correction to the math behind Rolling Resistance/Friction force. Now you can use realistic coefficients from wikipedia: Rolling resistance - Wikipedia
Light Tank is now configured to have 0.04 coefficient on sand, 0.02 on rocks and 0.01 on concrete, which is a realistic estimate from an old manual on tank design. Certainly it all can be tweaked and has a large dependency on tank mass. So for example if you have a 60 ton heavy Tiger and 5.4 ton heavy Panzer I tank they speed can be drastically different when driven off road or on the cobblestones.

Update

Just a small update:

  • Added new method “MMT Set Inertia Tensor” to MMT function library that allows to set custom inertia tensor on component that simulate physics
  • Added sample blueprint to Simple Example levels to demonstrate how Set Inertia Tensor method works

This function will serve it’s purpose in a series of experiments on physics constraint based suspension to make it more stable. The idea is rather simple, to have a high moment of inertia on the axis which is suppose to be locked by physics constraint. The other usage is to solve cases when collision mesh needs to have a shape necessary for proper collision but it’s moment of inertia on each axis can be sub-optimal for the function of the mesh in the system of other objects.

Nice! I see I have plenty of things to do when I get back from france :slight_smile:

https://giant.gfycat.com/PoshAmbitiousErne.gif

I moved my Sherman over from the N-wheeled tracked vehicle system and it works very well. This is really a great system and very enjoyable to work with.

The physics contraint suspension solution fits the VVS suspension of the Sherman nicely.

https://giant.gfycat.com/UnconsciousOrderlyIslandwhistler.gif

The only thing thats still missing is the upper arm of the suspension that slides over the lower arm as far as I understand the construction. My idea was to not have any physics working on it, but instead just rotate by code towards a socket position on the lower arm. Or do you have a better idea on how to handle that?

Sherman VVS suspension for reference:

I think it’s better to animate it using code, physics can be heavy on performance and can glitch out.
Looks like front wheel is bumping into obstacles, have set a custom physics material on it? With a 0 restitution and very small friction it should slide over. Another option is to shape collision a bit, like what T-26 Light Tank is using.
Overall, the “obstacle course” in the level is a bit of on extreme side, so far in games that I’ve seen, people have a bit smoother obstacles and landscape.

ok, I’m back… is it safe to upgrade now? :wink:

nice work on the m4 Xazas!

Yesterday I’ve added c++ implementation of friction component and made a Light Tank variant that uses them. Performance is about 2x better and I see some further optimization options here and there, so it should be working faster. Example vehicle is called LightTankCPP, setup is pretty much the same, just some functions have slightly different name.

Hi,
I know that this is not MMT question, but since there are lots of posts of tank; perhaps this question will not be too much of diversion :p.

How do I flip the rear wheel rotation of a tank? This is an 8 wheels tank, the first two rotate as they are, but the last two flip their rotations. After a long day, I still cannot figure out the way, except for one: Probably I can flip the tire in 3dsmax and they will rotate accordingly? But I am not sure and I think it doesn’t work.

TIA.

Are you using vehicle template? Check that bones are oriented properly in 3dsMax.