From 72992b6ab888f473ddd9945ca9976b11e394455c Mon Sep 17 00:00:00 2001 From: Jeff Campbell Date: Sat, 21 Dec 2019 09:42:02 +0100 Subject: [PATCH] Added copy of source Bezier3D content --- Unity/Assets/Bezier3D-master.meta | 8 + Unity/Assets/Bezier3D-master/.gitignore | 15 + Unity/Assets/Bezier3D-master/Examples.meta | 9 + .../Bezier3D-master/Examples/Example.unity | 9083 +++++++++++++++++ .../Examples/Example.unity.meta | 8 + Unity/Assets/Bezier3D-master/Examples/Red.mat | 76 + .../Bezier3D-master/Examples/Red.mat.meta | 9 + .../Bezier3D-master/Examples/SplineTrain.cs | 56 + .../Examples/SplineTrain.cs.meta | 12 + Unity/Assets/Bezier3D-master/README.md | 13 + Unity/Assets/Bezier3D-master/Scripts.meta | 9 + .../Bezier3D-master/Scripts/Editor.meta | 9 + Unity/Assets/JCMG Curves.meta | 8 + Unity/Assets/JCMG Curves/Licenses.meta | 8 + Unity/Assets/JCMG Curves/Licenses/LICENSE.md | 9 + .../JCMG Curves/Licenses/LICENSE.md.meta | 7 + Unity/Assets/JCMG Curves/Scripts.meta | 8 + .../JCMG Curves/Scripts/Bezier3DCurve.cs | 165 + .../JCMG Curves/Scripts/Bezier3DCurve.cs.meta | 12 + .../JCMG Curves/Scripts/Bezier3DSpline.cs | 588 ++ .../Scripts/Bezier3DSpline.cs.meta | 12 + Unity/Assets/JCMG Curves/Scripts/Editor.meta | 8 + .../Scripts/Editor/Bezier3DSplineEditor.cs | 615 ++ .../Editor/Bezier3DSplineEditor.cs.meta | 12 + .../Scripts/Editor/Bezier3DSplinePreview.cs | 52 + .../Editor/Bezier3DSplinePreview.cs.meta | 12 + .../Scripts/ExtendedAnimationCurves.cs | 208 + .../Scripts/ExtendedAnimationCurves.cs.meta | 12 + 28 files changed, 11043 insertions(+) create mode 100644 Unity/Assets/Bezier3D-master.meta create mode 100644 Unity/Assets/Bezier3D-master/.gitignore create mode 100644 Unity/Assets/Bezier3D-master/Examples.meta create mode 100644 Unity/Assets/Bezier3D-master/Examples/Example.unity create mode 100644 Unity/Assets/Bezier3D-master/Examples/Example.unity.meta create mode 100644 Unity/Assets/Bezier3D-master/Examples/Red.mat create mode 100644 Unity/Assets/Bezier3D-master/Examples/Red.mat.meta create mode 100644 Unity/Assets/Bezier3D-master/Examples/SplineTrain.cs create mode 100644 Unity/Assets/Bezier3D-master/Examples/SplineTrain.cs.meta create mode 100644 Unity/Assets/Bezier3D-master/README.md create mode 100644 Unity/Assets/Bezier3D-master/Scripts.meta create mode 100644 Unity/Assets/Bezier3D-master/Scripts/Editor.meta create mode 100644 Unity/Assets/JCMG Curves.meta create mode 100644 Unity/Assets/JCMG Curves/Licenses.meta create mode 100644 Unity/Assets/JCMG Curves/Licenses/LICENSE.md create mode 100644 Unity/Assets/JCMG Curves/Licenses/LICENSE.md.meta create mode 100644 Unity/Assets/JCMG Curves/Scripts.meta create mode 100644 Unity/Assets/JCMG Curves/Scripts/Bezier3DCurve.cs create mode 100644 Unity/Assets/JCMG Curves/Scripts/Bezier3DCurve.cs.meta create mode 100644 Unity/Assets/JCMG Curves/Scripts/Bezier3DSpline.cs create mode 100644 Unity/Assets/JCMG Curves/Scripts/Bezier3DSpline.cs.meta create mode 100644 Unity/Assets/JCMG Curves/Scripts/Editor.meta create mode 100644 Unity/Assets/JCMG Curves/Scripts/Editor/Bezier3DSplineEditor.cs create mode 100644 Unity/Assets/JCMG Curves/Scripts/Editor/Bezier3DSplineEditor.cs.meta create mode 100644 Unity/Assets/JCMG Curves/Scripts/Editor/Bezier3DSplinePreview.cs create mode 100644 Unity/Assets/JCMG Curves/Scripts/Editor/Bezier3DSplinePreview.cs.meta create mode 100644 Unity/Assets/JCMG Curves/Scripts/ExtendedAnimationCurves.cs create mode 100644 Unity/Assets/JCMG Curves/Scripts/ExtendedAnimationCurves.cs.meta diff --git a/Unity/Assets/Bezier3D-master.meta b/Unity/Assets/Bezier3D-master.meta new file mode 100644 index 0000000..155030e --- /dev/null +++ b/Unity/Assets/Bezier3D-master.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 620d20fc345515344a7e6606a3f08259 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity/Assets/Bezier3D-master/.gitignore b/Unity/Assets/Bezier3D-master/.gitignore new file mode 100644 index 0000000..8f163ec --- /dev/null +++ b/Unity/Assets/Bezier3D-master/.gitignore @@ -0,0 +1,15 @@ + +\.vs/ + +Library/ + +Temp/ + +*.sln + +*.csproj + +Bezier3D\.userprefs + +README.md.meta +LICENSE.md.meta \ No newline at end of file diff --git a/Unity/Assets/Bezier3D-master/Examples.meta b/Unity/Assets/Bezier3D-master/Examples.meta new file mode 100644 index 0000000..aa207f2 --- /dev/null +++ b/Unity/Assets/Bezier3D-master/Examples.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: f4b4c690ac78d8c4d80793894b1f9429 +folderAsset: yes +timeCreated: 1504774200 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity/Assets/Bezier3D-master/Examples/Example.unity b/Unity/Assets/Bezier3D-master/Examples/Example.unity new file mode 100644 index 0000000..280565c --- /dev/null +++ b/Unity/Assets/Bezier3D-master/Examples/Example.unity @@ -0,0 +1,9083 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 8 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0, g: 0, b: 0, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 3 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1} +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 11 + m_GIWorkflowMode: 0 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_TemporalCoherenceThreshold: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_LightmapEditorSettings: + serializedVersion: 9 + m_Resolution: 2 + m_BakeResolution: 40 + m_TextureWidth: 1024 + m_TextureHeight: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 0 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVRBounces: 2 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVRFilteringMode: 1 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_LightingDataAsset: {fileID: 0} + m_UseShadowmask: 1 +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &999915738 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 999915743} + - component: {fileID: 999915742} + - component: {fileID: 999915741} + - component: {fileID: 999915740} + - component: {fileID: 999915739} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &999915739 +AudioListener: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 999915738} + m_Enabled: 1 +--- !u!124 &999915740 +Behaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 999915738} + m_Enabled: 1 +--- !u!92 &999915741 +Behaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 999915738} + m_Enabled: 1 +--- !u!20 &999915742 +Camera: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 999915738} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 2 + m_BackGroundColor: {r: 0, g: 0, b: 0, a: 0} + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &999915743 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 999915738} + m_LocalRotation: {x: 0.00000037252897, y: -0.000000372529, z: 1.2434497e-13, w: 1} + m_LocalPosition: {x: -0, y: -0, z: -2} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1041742804 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1041742809} + - component: {fileID: 1041742805} + - component: {fileID: 1041742810} + m_Layer: 0 + m_Name: Orb + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1041742805 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1041742804} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e990ee1fd69e3a040a8ec8a4d9349c6b, type: 3} + m_Name: + m_EditorClassIdentifier: + distance: 1 + spline: {fileID: 1728551163} + trainType: 1 + speed: 1 + startPos: 0 +--- !u!4 &1041742809 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1041742804} + m_LocalRotation: {x: -0.7071068, y: 0, z: 0, w: 0.7071067} + m_LocalPosition: {x: -1, y: 0, z: 0} + m_LocalScale: {x: 0.5, y: 0.5, z: 0.5} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!96 &1041742810 +TrailRenderer: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1041742804} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 0 + m_ReflectionProbeUsage: 0 + m_Materials: + - {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_Time: 1 + m_Parameters: + serializedVersion: 2 + widthMultiplier: 0.2 + widthCurve: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 1 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.9999987 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 0 + colorGradient: + serializedVersion: 2 + key0: {r: 1, g: 0, b: 0, a: 1} + key1: {r: 1, g: 0, b: 0, a: 1} + key2: {r: 0, g: 0, b: 0, a: 0} + key3: {r: 0, g: 0, b: 0, a: 0} + key4: {r: 0, g: 0, b: 0, a: 0} + key5: {r: 0, g: 0, b: 0, a: 0} + key6: {r: 0, g: 0, b: 0, a: 0} + key7: {r: 0, g: 0, b: 0, a: 0} + ctime0: 0 + ctime1: 65535 + ctime2: 0 + ctime3: 0 + ctime4: 0 + ctime5: 0 + ctime6: 0 + ctime7: 0 + atime0: 0 + atime1: 65535 + atime2: 0 + atime3: 0 + atime4: 0 + atime5: 0 + atime6: 0 + atime7: 0 + m_Mode: 0 + m_NumColorKeys: 2 + m_NumAlphaKeys: 2 + numCornerVertices: 0 + numCapVertices: 20 + alignment: 0 + textureMode: 0 + generateLightingData: 0 + m_MinVertexDistance: 0.03 + m_Autodestruct: 0 +--- !u!1 &1204376544 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1204376546} + - component: {fileID: 1204376545} + m_Layer: 0 + m_Name: BezierSpline (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1204376545 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1204376544} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 50f6cb5b297175b42a8ae8a04b789fa4, type: 3} + m_Name: + m_EditorClassIdentifier: + _cacheDensity: 60 + _closed: 1 + _totalLength: 9.355766 + curves: + - _a: {x: 6.312413, y: 0, z: -0.6549282} + _b: {x: 0.03299575, y: -0, z: 1.9988917} + _c: {x: 0.04619198, y: 0, z: 2.0169873} + _d: {x: 3.4310026, y: 0, z: -0.58893967} + _B: {x: 6.345409, y: 0, z: 1.3439635} + _C: {x: 3.4771945, y: 0, z: 1.4280477} + _length: 4.671039 + _cache: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: 0.16946131 + outSlope: 0.16946131 + tangentMode: 0 + - serializedVersion: 2 + time: 0.098350875 + value: 0.016666668 + inSlope: 0.17216861 + outSlope: 0.17216861 + tangentMode: 0 + - serializedVersion: 2 + time: 0.19365656 + value: 0.033333335 + inSlope: 0.17754263 + outSlope: 0.17754263 + tangentMode: 0 + - serializedVersion: 2 + time: 0.28614157 + value: 0.05 + inSlope: 0.182814 + outSlope: 0.182814 + tangentMode: 0 + - serializedVersion: 2 + time: 0.37602827 + value: 0.06666667 + inSlope: 0.1879398 + outSlope: 0.1879398 + tangentMode: 0 + - serializedVersion: 2 + time: 0.46353528 + value: 0.083333336 + inSlope: 0.1928758 + outSlope: 0.1928758 + tangentMode: 0 + - serializedVersion: 2 + time: 0.54887813 + value: 0.1 + inSlope: 0.1975829 + outSlope: 0.1975829 + tangentMode: 0 + - serializedVersion: 2 + time: 0.63226354 + value: 0.11666667 + inSlope: 0.20202371 + outSlope: 0.20202371 + tangentMode: 0 + - serializedVersion: 2 + time: 0.71389395 + value: 0.13333334 + inSlope: 0.20616299 + outSlope: 0.20616299 + tangentMode: 0 + - serializedVersion: 2 + time: 0.793963 + value: 0.15 + inSlope: 0.20997608 + outSlope: 0.20997608 + tangentMode: 0 + - serializedVersion: 2 + time: 0.87265414 + value: 0.16666667 + inSlope: 0.21344644 + outSlope: 0.21344644 + tangentMode: 0 + - serializedVersion: 2 + time: 0.9501395 + value: 0.18333334 + inSlope: 0.21656209 + outSlope: 0.21656209 + tangentMode: 0 + - serializedVersion: 2 + time: 1.0265816 + value: 0.2 + inSlope: 0.21931721 + outSlope: 0.21931721 + tangentMode: 0 + - serializedVersion: 2 + time: 1.1021316 + value: 0.21666667 + inSlope: 0.22172163 + outSlope: 0.22172163 + tangentMode: 0 + - serializedVersion: 2 + time: 1.1769241 + value: 0.23333333 + inSlope: 0.2237885 + outSlope: 0.2237885 + tangentMode: 0 + - serializedVersion: 2 + time: 1.2510844 + value: 0.25 + inSlope: 0.22553495 + outSlope: 0.22553495 + tangentMode: 0 + - serializedVersion: 2 + time: 1.3247228 + value: 0.26666668 + inSlope: 0.22698405 + outSlope: 0.22698405 + tangentMode: 0 + - serializedVersion: 2 + time: 1.3979388 + value: 0.28333333 + inSlope: 0.2281628 + outSlope: 0.2281628 + tangentMode: 0 + - serializedVersion: 2 + time: 1.470818 + value: 0.3 + inSlope: 0.22910434 + outSlope: 0.22910434 + tangentMode: 0 + - serializedVersion: 2 + time: 1.5434334 + value: 0.31666666 + inSlope: 0.22983941 + outSlope: 0.22983941 + tangentMode: 0 + - serializedVersion: 2 + time: 1.6158471 + value: 0.33333334 + inSlope: 0.23039903 + outSlope: 0.23039903 + tangentMode: 0 + - serializedVersion: 2 + time: 1.6881101 + value: 0.35 + inSlope: 0.23081467 + outSlope: 0.23081467 + tangentMode: 0 + - serializedVersion: 2 + time: 1.7602632 + value: 0.36666667 + inSlope: 0.23111257 + outSlope: 0.23111257 + tangentMode: 0 + - serializedVersion: 2 + time: 1.83234 + value: 0.38333333 + inSlope: 0.23131827 + outSlope: 0.23131827 + tangentMode: 0 + - serializedVersion: 2 + time: 1.9043648 + value: 0.4 + inSlope: 0.23145956 + outSlope: 0.23145956 + tangentMode: 0 + - serializedVersion: 2 + time: 1.9763536 + value: 0.41666666 + inSlope: 0.23155385 + outSlope: 0.23155385 + tangentMode: 0 + - serializedVersion: 2 + time: 2.0483198 + value: 0.43333334 + inSlope: 0.2316202 + outSlope: 0.2316202 + tangentMode: 0 + - serializedVersion: 2 + time: 2.1202674 + value: 0.45 + inSlope: 0.23167318 + outSlope: 0.23167318 + tangentMode: 0 + - serializedVersion: 2 + time: 2.1922007 + value: 0.46666667 + inSlope: 0.23172347 + outSlope: 0.23172347 + tangentMode: 0 + - serializedVersion: 2 + time: 2.264117 + value: 0.48333332 + inSlope: 0.23178071 + outSlope: 0.23178071 + tangentMode: 0 + - serializedVersion: 2 + time: 2.3360147 + value: 0.5 + inSlope: 0.23184451 + outSlope: 0.23184451 + tangentMode: 0 + - serializedVersion: 2 + time: 2.4078915 + value: 0.51666665 + inSlope: 0.23191588 + outSlope: 0.23191588 + tangentMode: 0 + - serializedVersion: 2 + time: 2.4797451 + value: 0.53333336 + inSlope: 0.23199593 + outSlope: 0.23199593 + tangentMode: 0 + - serializedVersion: 2 + time: 2.5515723 + value: 0.55 + inSlope: 0.2320787 + outSlope: 0.2320787 + tangentMode: 0 + - serializedVersion: 2 + time: 2.6233745 + value: 0.56666666 + inSlope: 0.23215191 + outSlope: 0.23215191 + tangentMode: 0 + - serializedVersion: 2 + time: 2.6951563 + value: 0.5833333 + inSlope: 0.2322036 + outSlope: 0.2322036 + tangentMode: 0 + - serializedVersion: 2 + time: 2.7669268 + value: 0.6 + inSlope: 0.23221825 + outSlope: 0.23221825 + tangentMode: 0 + - serializedVersion: 2 + time: 2.8386996 + value: 0.6166667 + inSlope: 0.23217504 + outSlope: 0.23217504 + tangentMode: 0 + - serializedVersion: 2 + time: 2.9104965 + value: 0.6333333 + inSlope: 0.23205137 + outSlope: 0.23205137 + tangentMode: 0 + - serializedVersion: 2 + time: 2.9823458 + value: 0.65 + inSlope: 0.23182175 + outSlope: 0.23182175 + tangentMode: 0 + - serializedVersion: 2 + time: 3.0542853 + value: 0.6666667 + inSlope: 0.23145574 + outSlope: 0.23145574 + tangentMode: 0 + - serializedVersion: 2 + time: 3.126362 + value: 0.68333334 + inSlope: 0.23092416 + outSlope: 0.23092416 + tangentMode: 0 + - serializedVersion: 2 + time: 3.198633 + value: 0.7 + inSlope: 0.2301945 + outSlope: 0.2301945 + tangentMode: 0 + - serializedVersion: 2 + time: 3.2711675 + value: 0.71666664 + inSlope: 0.229233 + outSlope: 0.229233 + tangentMode: 0 + - serializedVersion: 2 + time: 3.3440464 + value: 0.73333335 + inSlope: 0.22800756 + outSlope: 0.22800756 + tangentMode: 0 + - serializedVersion: 2 + time: 3.417363 + value: 0.75 + inSlope: 0.2264872 + outSlope: 0.2264872 + tangentMode: 0 + - serializedVersion: 2 + time: 3.4912236 + value: 0.76666665 + inSlope: 0.22464475 + outSlope: 0.22464475 + tangentMode: 0 + - serializedVersion: 2 + time: 3.5657485 + value: 0.78333336 + inSlope: 0.22245626 + outSlope: 0.22245626 + tangentMode: 0 + - serializedVersion: 2 + time: 3.6410701 + value: 0.8 + inSlope: 0.21990505 + outSlope: 0.21990505 + tangentMode: 0 + - serializedVersion: 2 + time: 3.7173347 + value: 0.81666666 + inSlope: 0.21698141 + outSlope: 0.21698141 + tangentMode: 0 + - serializedVersion: 2 + time: 3.7947009 + value: 0.8333333 + inSlope: 0.21368353 + outSlope: 0.21368353 + tangentMode: 0 + - serializedVersion: 2 + time: 3.8733392 + value: 0.85 + inSlope: 0.21001828 + outSlope: 0.21001828 + tangentMode: 0 + - serializedVersion: 2 + time: 3.9534307 + value: 0.8666667 + inSlope: 0.20600104 + outSlope: 0.20600104 + tangentMode: 0 + - serializedVersion: 2 + time: 4.035167 + value: 0.8833333 + inSlope: 0.20165536 + outSlope: 0.20165536 + tangentMode: 0 + - serializedVersion: 2 + time: 4.1187496 + value: 0.9 + inSlope: 0.19701257 + outSlope: 0.19701257 + tangentMode: 0 + - serializedVersion: 2 + time: 4.204386 + value: 0.9166667 + inSlope: 0.19210994 + outSlope: 0.19210994 + tangentMode: 0 + - serializedVersion: 2 + time: 4.292291 + value: 0.93333334 + inSlope: 0.18698916 + outSlope: 0.18698916 + tangentMode: 0 + - serializedVersion: 2 + time: 4.382684 + value: 0.95 + inSlope: 0.18169463 + outSlope: 0.18169463 + tangentMode: 0 + - serializedVersion: 2 + time: 4.475789 + value: 0.96666664 + inSlope: 0.176272 + outSlope: 0.176272 + tangentMode: 0 + - serializedVersion: 2 + time: 4.5718317 + value: 0.98333335 + inSlope: 0.17076628 + outSlope: 0.17076628 + tangentMode: 0 + - serializedVersion: 2 + time: 4.671039 + value: 1 + inSlope: 0.16799806 + outSlope: 0.16799806 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + _tangentCache: + xV: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0.01650475 + inSlope: -2.9155285 + outSlope: -2.9155285 + tangentMode: 0 + - serializedVersion: 2 + time: 0.016666668 + value: -0.032087397 + inSlope: -2.956987 + outSlope: -2.956987 + tangentMode: 0 + - serializedVersion: 2 + time: 0.033333335 + value: -0.082061484 + inSlope: -3.032863 + outSlope: -3.032863 + tangentMode: 0 + - serializedVersion: 2 + time: 0.050000004 + value: -0.13318284 + inSlope: -3.0934286 + outSlope: -3.0934286 + tangentMode: 0 + - serializedVersion: 2 + time: 0.06666667 + value: -0.18517578 + inSlope: -3.1363578 + outSlope: -3.1363578 + tangentMode: 0 + - serializedVersion: 2 + time: 0.083333336 + value: -0.23772809 + inSlope: -3.1596506 + outSlope: -3.1596506 + tangentMode: 0 + - serializedVersion: 2 + time: 0.10000001 + value: -0.29049748 + inSlope: -3.1617875 + outSlope: -3.1617875 + tangentMode: 0 + - serializedVersion: 2 + time: 0.116666675 + value: -0.34312102 + inSlope: -3.141845 + outSlope: -3.141845 + tangentMode: 0 + - serializedVersion: 2 + time: 0.13333334 + value: -0.39522564 + inSlope: -3.0995672 + outSlope: -3.0995672 + tangentMode: 0 + - serializedVersion: 2 + time: 0.15 + value: -0.44643992 + inSlope: -3.0354168 + outSlope: -3.0354168 + tangentMode: 0 + - serializedVersion: 2 + time: 0.16666667 + value: -0.4964062 + inSlope: -2.9505534 + outSlope: -2.9505534 + tangentMode: 0 + - serializedVersion: 2 + time: 0.18333334 + value: -0.5447917 + inSlope: -2.8467455 + outSlope: -2.8467455 + tangentMode: 0 + - serializedVersion: 2 + time: 0.20000002 + value: -0.59129775 + inSlope: -2.726275 + outSlope: -2.726275 + tangentMode: 0 + - serializedVersion: 2 + time: 0.21666668 + value: -0.63566756 + inSlope: -2.5917866 + outSlope: -2.5917866 + tangentMode: 0 + - serializedVersion: 2 + time: 0.23333335 + value: -0.6776906 + inSlope: -2.4460988 + outSlope: -2.4460988 + tangentMode: 0 + - serializedVersion: 2 + time: 0.25 + value: -0.71720415 + inSlope: -2.2920728 + outSlope: -2.2920728 + tangentMode: 0 + - serializedVersion: 2 + time: 0.26666668 + value: -0.75409305 + inSlope: -2.132442 + outSlope: -2.132442 + tangentMode: 0 + - serializedVersion: 2 + time: 0.28333336 + value: -0.7882856 + inSlope: -1.9696963 + outSlope: -1.9696963 + tangentMode: 0 + - serializedVersion: 2 + time: 0.3 + value: -0.8197496 + inSlope: -1.8060191 + outSlope: -1.8060191 + tangentMode: 0 + - serializedVersion: 2 + time: 0.3166667 + value: -0.84848624 + inSlope: -1.6432089 + outSlope: -1.6432089 + tangentMode: 0 + - serializedVersion: 2 + time: 0.33333334 + value: -0.8745232 + inSlope: -1.482668 + outSlope: -1.482668 + tangentMode: 0 + - serializedVersion: 2 + time: 0.35000002 + value: -0.8979085 + inSlope: -1.3254082 + outSlope: -1.3254082 + tangentMode: 0 + - serializedVersion: 2 + time: 0.36666667 + value: -0.9187035 + inSlope: -1.1720682 + outSlope: -1.1720682 + tangentMode: 0 + - serializedVersion: 2 + time: 0.38333336 + value: -0.93697745 + inSlope: -1.0229543 + outSlope: -1.0229543 + tangentMode: 0 + - serializedVersion: 2 + time: 0.40000004 + value: -0.952802 + inSlope: -0.8780819 + outSlope: -0.8780819 + tangentMode: 0 + - serializedVersion: 2 + time: 0.4166667 + value: -0.96624684 + inSlope: -0.7372178 + outSlope: -0.7372178 + tangentMode: 0 + - serializedVersion: 2 + time: 0.43333337 + value: -0.9773759 + inSlope: -0.5999279 + outSlope: -0.5999279 + tangentMode: 0 + - serializedVersion: 2 + time: 0.45000002 + value: -0.98624444 + inSlope: -0.46560836 + outSlope: -0.46560836 + tangentMode: 0 + - serializedVersion: 2 + time: 0.4666667 + value: -0.9928962 + inSlope: -0.33353445 + outSlope: -0.33353445 + tangentMode: 0 + - serializedVersion: 2 + time: 0.48333335 + value: -0.99736226 + inSlope: -0.20290038 + outSlope: -0.20290038 + tangentMode: 0 + - serializedVersion: 2 + time: 0.5 + value: -0.99965954 + inSlope: -0.07282919 + outSlope: -0.07282919 + tangentMode: 0 + - serializedVersion: 2 + time: 0.5166667 + value: -0.9997899 + inSlope: 0.05758531 + outSlope: 0.05758531 + tangentMode: 0 + - serializedVersion: 2 + time: 0.53333336 + value: -0.99774003 + inSlope: 0.1892497 + outSlope: 0.1892497 + tangentMode: 0 + - serializedVersion: 2 + time: 0.55 + value: -0.9934816 + inSlope: 0.32304308 + outSlope: 0.32304308 + tangentMode: 0 + - serializedVersion: 2 + time: 0.5666667 + value: -0.9869719 + inSlope: 0.45979294 + outSlope: 0.45979294 + tangentMode: 0 + - serializedVersion: 2 + time: 0.5833334 + value: -0.97815514 + inSlope: 0.6002414 + outSlope: 0.6002414 + tangentMode: 0 + - serializedVersion: 2 + time: 0.6 + value: -0.9669639 + inSlope: 0.74498963 + outSlope: 0.74498963 + tangentMode: 0 + - serializedVersion: 2 + time: 0.6166667 + value: -0.9533222 + inSlope: 0.8944854 + outSlope: 0.8944854 + tangentMode: 0 + - serializedVersion: 2 + time: 0.6333334 + value: -0.9371477 + inSlope: 1.0489469 + outSlope: 1.0489469 + tangentMode: 0 + - serializedVersion: 2 + time: 0.65000004 + value: -0.91835725 + inSlope: 1.2083309 + outSlope: 1.2083309 + tangentMode: 0 + - serializedVersion: 2 + time: 0.6666667 + value: -0.89687 + inSlope: 1.3722919 + outSlope: 1.3722919 + tangentMode: 0 + - serializedVersion: 2 + time: 0.6833334 + value: -0.87261415 + inSlope: 1.5400965 + outSlope: 1.5400965 + tangentMode: 0 + - serializedVersion: 2 + time: 0.70000005 + value: -0.84553343 + inSlope: 1.7106197 + outSlope: 1.7106197 + tangentMode: 0 + - serializedVersion: 2 + time: 0.7166667 + value: -0.81559354 + inSlope: 1.8823206 + outSlope: 1.8823206 + tangentMode: 0 + - serializedVersion: 2 + time: 0.73333335 + value: -0.78278947 + inSlope: 2.0532112 + outSlope: 2.0532112 + tangentMode: 0 + - serializedVersion: 2 + time: 0.75000006 + value: -0.7471531 + inSlope: 2.2209067 + outSlope: 2.2209067 + tangentMode: 0 + - serializedVersion: 2 + time: 0.7666667 + value: -0.7087592 + inSlope: 2.382698 + outSlope: 2.382698 + tangentMode: 0 + - serializedVersion: 2 + time: 0.78333336 + value: -0.6677299 + inSlope: 2.5356402 + outSlope: 2.5356402 + tangentMode: 0 + - serializedVersion: 2 + time: 0.8000001 + value: -0.6242378 + inSlope: 2.6766815 + outSlope: 2.6766815 + tangentMode: 0 + - serializedVersion: 2 + time: 0.8166667 + value: -0.5785071 + inSlope: 2.8028378 + outSlope: 2.8028378 + tangentMode: 0 + - serializedVersion: 2 + time: 0.8333334 + value: -0.53080994 + inSlope: 2.911378 + outSlope: 2.911378 + tangentMode: 0 + - serializedVersion: 2 + time: 0.85 + value: -0.4814613 + inSlope: 2.99999 + outSlope: 2.99999 + tangentMode: 0 + - serializedVersion: 2 + time: 0.86666673 + value: -0.43081018 + inSlope: 3.0669317 + outSlope: 3.0669317 + tangentMode: 0 + - serializedVersion: 2 + time: 0.8833334 + value: -0.37923014 + inSlope: 3.1111517 + outSlope: 3.1111517 + tangentMode: 0 + - serializedVersion: 2 + time: 0.90000004 + value: -0.32710522 + inSlope: 3.1323385 + outSlope: 3.1323385 + tangentMode: 0 + - serializedVersion: 2 + time: 0.9166667 + value: -0.27481896 + inSlope: 3.1309311 + outSlope: 3.1309311 + tangentMode: 0 + - serializedVersion: 2 + time: 0.9333334 + value: -0.22274077 + inSlope: 3.1080642 + outSlope: 3.1080642 + tangentMode: 0 + - serializedVersion: 2 + time: 0.95000005 + value: -0.17121673 + inSlope: 3.0654466 + outSlope: 3.0654466 + tangentMode: 0 + - serializedVersion: 2 + time: 0.9666667 + value: -0.12055931 + inSlope: 3.0052433 + outSlope: 3.0052433 + tangentMode: 0 + - serializedVersion: 2 + time: 0.9833334 + value: -0.07104187 + inSlope: 2.9299185 + outSlope: 2.9299185 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: -0.022895446 + inSlope: 2.8887982 + outSlope: 2.8887982 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + yV: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.016666668 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.033333335 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.050000004 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.06666667 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.083333336 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.10000001 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.116666675 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.13333334 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.15 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.16666667 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.18333334 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.20000002 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.21666668 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.23333335 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.25 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.26666668 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.28333336 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.3 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.3166667 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.33333334 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.35000002 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.36666667 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.38333336 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.40000004 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.4166667 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.43333337 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.45000002 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.4666667 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.48333335 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.5 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.5166667 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.53333336 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.55 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.5666667 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.5833334 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.6 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.6166667 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.6333334 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.65000004 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.6666667 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.6833334 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.70000005 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.7166667 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.73333335 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.75000006 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.7666667 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.78333336 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.8000001 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.8166667 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.8333334 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.85 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.86666673 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.8833334 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.90000004 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.9166667 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.9333334 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.95000005 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.9666667 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.9833334 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + zV: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0.9998638 + inSlope: -0.022723673 + outSlope: -0.022723673 + tangentMode: 0 + - serializedVersion: 2 + time: 0.016666668 + value: 0.9994851 + inSlope: -0.09709775 + outSlope: -0.09709775 + tangentMode: 0 + - serializedVersion: 2 + time: 0.033333335 + value: 0.9966272 + inSlope: -0.25180754 + outSlope: -0.25180754 + tangentMode: 0 + - serializedVersion: 2 + time: 0.050000004 + value: 0.9910915 + inSlope: -0.41765392 + outSlope: -0.41765392 + tangentMode: 0 + - serializedVersion: 2 + time: 0.06666667 + value: 0.9827054 + inSlope: -0.5927915 + outSlope: -0.5927915 + tangentMode: 0 + - serializedVersion: 2 + time: 0.083333336 + value: 0.9713318 + inSlope: -0.77489007 + outSlope: -0.77489007 + tangentMode: 0 + - serializedVersion: 2 + time: 0.10000001 + value: 0.95687574 + inSlope: -0.96121955 + outSlope: -0.96121955 + tangentMode: 0 + - serializedVersion: 2 + time: 0.116666675 + value: 0.9392911 + inSlope: -1.1487491 + outSlope: -1.1487491 + tangentMode: 0 + - serializedVersion: 2 + time: 0.13333334 + value: 0.9185841 + inSlope: -1.3343258 + outSlope: -1.3343258 + tangentMode: 0 + - serializedVersion: 2 + time: 0.15 + value: 0.8948136 + inSlope: -1.5148116 + outSlope: -1.5148116 + tangentMode: 0 + - serializedVersion: 2 + time: 0.16666667 + value: 0.8680904 + inSlope: -1.6872652 + outSlope: -1.6872652 + tangentMode: 0 + - serializedVersion: 2 + time: 0.18333334 + value: 0.8385714 + inSlope: -1.8491106 + outSlope: -1.8491106 + tangentMode: 0 + - serializedVersion: 2 + time: 0.20000002 + value: 0.80645335 + inSlope: -1.9982522 + outSlope: -1.9982522 + tangentMode: 0 + - serializedVersion: 2 + time: 0.21666668 + value: 0.771963 + inSlope: -2.1331878 + outSlope: -2.1331878 + tangentMode: 0 + - serializedVersion: 2 + time: 0.23333335 + value: 0.7353471 + inSlope: -2.2529995 + outSlope: -2.2529995 + tangentMode: 0 + - serializedVersion: 2 + time: 0.25 + value: 0.69686306 + inSlope: -2.3573866 + outSlope: -2.3573866 + tangentMode: 0 + - serializedVersion: 2 + time: 0.26666668 + value: 0.65676755 + inSlope: -2.4466035 + outSlope: -2.4466035 + tangentMode: 0 + - serializedVersion: 2 + time: 0.28333336 + value: 0.61530954 + inSlope: -2.5213642 + outSlope: -2.5213642 + tangentMode: 0 + - serializedVersion: 2 + time: 0.3 + value: 0.5727221 + inSlope: -2.5827637 + outSlope: -2.5827637 + tangentMode: 0 + - serializedVersion: 2 + time: 0.3166667 + value: 0.5292174 + inSlope: -2.6321557 + outSlope: -2.6321557 + tangentMode: 0 + - serializedVersion: 2 + time: 0.33333334 + value: 0.48498356 + inSlope: -2.67106 + outSlope: -2.67106 + tangentMode: 0 + - serializedVersion: 2 + time: 0.35000002 + value: 0.4401821 + inSlope: -2.7010696 + outSlope: -2.7010696 + tangentMode: 0 + - serializedVersion: 2 + time: 0.36666667 + value: 0.39494792 + inSlope: -2.7237644 + outSlope: -2.7237644 + tangentMode: 0 + - serializedVersion: 2 + time: 0.38333336 + value: 0.34938994 + inSlope: -2.740661 + outSlope: -2.740661 + tangentMode: 0 + - serializedVersion: 2 + time: 0.40000004 + value: 0.30359247 + inSlope: -2.7531571 + outSlope: -2.7531571 + tangentMode: 0 + - serializedVersion: 2 + time: 0.4166667 + value: 0.25761804 + inSlope: -2.7624912 + outSlope: -2.7624912 + tangentMode: 0 + - serializedVersion: 2 + time: 0.43333337 + value: 0.21150944 + inSlope: -2.7697325 + outSlope: -2.7697325 + tangentMode: 0 + - serializedVersion: 2 + time: 0.45000002 + value: 0.16529363 + inSlope: -2.7757611 + outSlope: -2.7757611 + tangentMode: 0 + - serializedVersion: 2 + time: 0.4666667 + value: 0.11898407 + inSlope: -2.7812724 + outSlope: -2.7812724 + tangentMode: 0 + - serializedVersion: 2 + time: 0.48333335 + value: 0.07258456 + inSlope: -2.7867532 + outSlope: -2.7867532 + tangentMode: 0 + - serializedVersion: 2 + time: 0.5 + value: 0.026092395 + inSlope: -2.7924843 + outSlope: -2.7924843 + tangentMode: 0 + - serializedVersion: 2 + time: 0.5166667 + value: -0.020498328 + inSlope: -2.7985516 + outSlope: -2.7985516 + tangentMode: 0 + - serializedVersion: 2 + time: 0.53333336 + value: -0.06719273 + inSlope: -2.8048344 + outSlope: -2.8048344 + tangentMode: 0 + - serializedVersion: 2 + time: 0.55 + value: -0.11399272 + inSlope: -2.811001 + outSlope: -2.811001 + tangentMode: 0 + - serializedVersion: 2 + time: 0.5666667 + value: -0.16089284 + inSlope: -2.8165126 + outSlope: -2.8165126 + tangentMode: 0 + - serializedVersion: 2 + time: 0.5833334 + value: -0.20787655 + inSlope: -2.820622 + outSlope: -2.820622 + tangentMode: 0 + - serializedVersion: 2 + time: 0.6 + value: -0.25491348 + inSlope: -2.8223639 + outSlope: -2.8223639 + tangentMode: 0 + - serializedVersion: 2 + time: 0.6166667 + value: -0.30195525 + inSlope: -2.8205771 + outSlope: -2.8205771 + tangentMode: 0 + - serializedVersion: 2 + time: 0.6333334 + value: -0.3489328 + inSlope: -2.813911 + outSlope: -2.813911 + tangentMode: 0 + - serializedVersion: 2 + time: 0.65000004 + value: -0.39575237 + inSlope: -2.800845 + outSlope: -2.800845 + tangentMode: 0 + - serializedVersion: 2 + time: 0.6666667 + value: -0.4422942 + inSlope: -2.77973 + outSlope: -2.77973 + tangentMode: 0 + - serializedVersion: 2 + time: 0.6833334 + value: -0.48841012 + inSlope: -2.748846 + outSlope: -2.748846 + tangentMode: 0 + - serializedVersion: 2 + time: 0.70000005 + value: -0.5339225 + inSlope: -2.7064605 + outSlope: -2.7064605 + tangentMode: 0 + - serializedVersion: 2 + time: 0.7166667 + value: -0.5786254 + inSlope: -2.650926 + outSlope: -2.650926 + tangentMode: 0 + - serializedVersion: 2 + time: 0.73333335 + value: -0.6222866 + inSlope: -2.5807962 + outSlope: -2.5807962 + tangentMode: 0 + - serializedVersion: 2 + time: 0.75000006 + value: -0.664652 + inSlope: -2.4949136 + outSlope: -2.4949136 + tangentMode: 0 + - serializedVersion: 2 + time: 0.7666667 + value: -0.7054505 + inSlope: -2.3925543 + outSlope: -2.3925543 + tangentMode: 0 + - serializedVersion: 2 + time: 0.78333336 + value: -0.7444037 + inSlope: -2.2735155 + outSlope: -2.2735155 + tangentMode: 0 + - serializedVersion: 2 + time: 0.8000001 + value: -0.7812344 + inSlope: -2.138207 + outSlope: -2.138207 + tangentMode: 0 + - serializedVersion: 2 + time: 0.8166667 + value: -0.81567734 + inSlope: -1.9876976 + outSlope: -1.9876976 + tangentMode: 0 + - serializedVersion: 2 + time: 0.8333334 + value: -0.8474909 + inSlope: -1.8237019 + outSlope: -1.8237019 + tangentMode: 0 + - serializedVersion: 2 + time: 0.85 + value: -0.87646735 + inSlope: -1.6485488 + outSlope: -1.6485488 + tangentMode: 0 + - serializedVersion: 2 + time: 0.86666673 + value: -0.9024426 + inSlope: -1.4650517 + outSlope: -1.4650517 + tangentMode: 0 + - serializedVersion: 2 + time: 0.8833334 + value: -0.92530245 + inSlope: -1.2763608 + outSlope: -1.2763608 + tangentMode: 0 + - serializedVersion: 2 + time: 0.90000004 + value: -0.9449879 + inSlope: -1.0858076 + outSlope: -1.0858076 + tangentMode: 0 + - serializedVersion: 2 + time: 0.9166667 + value: -0.961496 + inSlope: -0.89669406 + outSlope: -0.89669406 + tangentMode: 0 + - serializedVersion: 2 + time: 0.9333334 + value: -0.9748777 + inSlope: -0.7121222 + outSlope: -0.7121222 + tangentMode: 0 + - serializedVersion: 2 + time: 0.95000005 + value: -0.9852334 + inSlope: -0.53485084 + outSlope: -0.53485084 + tangentMode: 0 + - serializedVersion: 2 + time: 0.9666667 + value: -0.99270606 + inSlope: -0.36719602 + outSlope: -0.36719602 + tangentMode: 0 + - serializedVersion: 2 + time: 0.9833334 + value: -0.9974733 + inSlope: -0.21095568 + outSlope: -0.21095568 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: -0.9997379 + inSlope: -0.13587774 + outSlope: -0.13587774 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + - _a: {x: 3.4310026, y: 0, z: -0.58893967} + _b: {x: -0.04619198, y: -0, z: -2.0169873} + _c: {x: -0.04619198, y: 0, z: -2.0169873} + _d: {x: 6.312413, y: 0, z: -0.6549282} + _B: {x: 3.3848107, y: 0, z: -2.605927} + _C: {x: 6.266221, y: 0, z: -2.6719155} + _length: 4.6847277 + _cache: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: 0.1679719 + outSlope: 0.1679719 + tangentMode: 0 + - serializedVersion: 2 + time: 0.09922295 + value: 0.016666668 + inSlope: 0.17071134 + outSlope: 0.17071134 + tangentMode: 0 + - serializedVersion: 2 + time: 0.19531168 + value: 0.033333335 + inSlope: 0.1761561 + outSlope: 0.1761561 + tangentMode: 0 + - serializedVersion: 2 + time: 0.2884937 + value: 0.05 + inSlope: 0.18151024 + outSlope: 0.18151024 + tangentMode: 0 + - serializedVersion: 2 + time: 0.37899518 + value: 0.06666667 + inSlope: 0.18672976 + outSlope: 0.18672976 + tangentMode: 0 + - serializedVersion: 2 + time: 0.46703863 + value: 0.083333336 + inSlope: 0.19177082 + outSlope: 0.19177082 + tangentMode: 0 + - serializedVersion: 2 + time: 0.5528426 + value: 0.1 + inSlope: 0.19658935 + outSlope: 0.19658935 + tangentMode: 0 + - serializedVersion: 2 + time: 0.636621 + value: 0.11666667 + inSlope: 0.20114529 + outSlope: 0.20114529 + tangentMode: 0 + - serializedVersion: 2 + time: 0.7185803 + value: 0.13333334 + inSlope: 0.20540431 + outSlope: 0.20540431 + tangentMode: 0 + - serializedVersion: 2 + time: 0.7989188 + value: 0.15 + inSlope: 0.20933795 + outSlope: 0.20933795 + tangentMode: 0 + - serializedVersion: 2 + time: 0.8778253 + value: 0.16666667 + inSlope: 0.2129224 + outSlope: 0.2129224 + tangentMode: 0 + - serializedVersion: 2 + time: 0.95548034 + value: 0.18333334 + inSlope: 0.21614453 + outSlope: 0.21614453 + tangentMode: 0 + - serializedVersion: 2 + time: 1.0320507 + value: 0.2 + inSlope: 0.21900162 + outSlope: 0.21900162 + tangentMode: 0 + - serializedVersion: 2 + time: 1.1076919 + value: 0.21666667 + inSlope: 0.22149426 + outSlope: 0.22149426 + tangentMode: 0 + - serializedVersion: 2 + time: 1.1825478 + value: 0.23333333 + inSlope: 0.2236338 + outSlope: 0.2236338 + tangentMode: 0 + - serializedVersion: 2 + time: 1.256748 + value: 0.25 + inSlope: 0.22543967 + outSlope: 0.22543967 + tangentMode: 0 + - serializedVersion: 2 + time: 1.330409 + value: 0.26666668 + inSlope: 0.22693554 + outSlope: 0.22693554 + tangentMode: 0 + - serializedVersion: 2 + time: 1.4036338 + value: 0.28333333 + inSlope: 0.22814909 + outSlope: 0.22814909 + tangentMode: 0 + - serializedVersion: 2 + time: 1.4765131 + value: 0.3 + inSlope: 0.22910848 + outSlope: 0.22910848 + tangentMode: 0 + - serializedVersion: 2 + time: 1.5491258 + value: 0.31666666 + inSlope: 0.22984773 + outSlope: 0.22984773 + tangentMode: 0 + - serializedVersion: 2 + time: 1.621537 + value: 0.33333334 + inSlope: 0.23039901 + outSlope: 0.23039901 + tangentMode: 0 + - serializedVersion: 2 + time: 1.6938025 + value: 0.35 + inSlope: 0.23079178 + outSlope: 0.23079178 + tangentMode: 0 + - serializedVersion: 2 + time: 1.7659674 + value: 0.36666667 + inSlope: 0.2310589 + outSlope: 0.2310589 + tangentMode: 0 + - serializedVersion: 2 + time: 1.8380659 + value: 0.38333333 + inSlope: 0.23122738 + outSlope: 0.23122738 + tangentMode: 0 + - serializedVersion: 2 + time: 1.9101256 + value: 0.4 + inSlope: 0.23132148 + outSlope: 0.23132148 + tangentMode: 0 + - serializedVersion: 2 + time: 1.9821655 + value: 0.41666666 + inSlope: 0.23136474 + outSlope: 0.23136474 + tangentMode: 0 + - serializedVersion: 2 + time: 2.0541983 + value: 0.43333334 + inSlope: 0.23137277 + outSlope: 0.23137277 + tangentMode: 0 + - serializedVersion: 2 + time: 2.126233 + value: 0.45 + inSlope: 0.23136264 + outSlope: 0.23136264 + tangentMode: 0 + - serializedVersion: 2 + time: 2.1982722 + value: 0.46666667 + inSlope: 0.23134694 + outSlope: 0.23134694 + tangentMode: 0 + - serializedVersion: 2 + time: 2.2703168 + value: 0.48333332 + inSlope: 0.2313343 + outSlope: 0.2313343 + tangentMode: 0 + - serializedVersion: 2 + time: 2.3423638 + value: 0.5 + inSlope: 0.2313301 + outSlope: 0.2313301 + tangentMode: 0 + - serializedVersion: 2 + time: 2.414411 + value: 0.51666665 + inSlope: 0.23133451 + outSlope: 0.23133451 + tangentMode: 0 + - serializedVersion: 2 + time: 2.4864554 + value: 0.53333336 + inSlope: 0.23134753 + outSlope: 0.23134753 + tangentMode: 0 + - serializedVersion: 2 + time: 2.5584946 + value: 0.55 + inSlope: 0.23136319 + outSlope: 0.23136319 + tangentMode: 0 + - serializedVersion: 2 + time: 2.630529 + value: 0.56666666 + inSlope: 0.231372 + outSlope: 0.231372 + tangentMode: 0 + - serializedVersion: 2 + time: 2.7025626 + value: 0.5833333 + inSlope: 0.23136285 + outSlope: 0.23136285 + tangentMode: 0 + - serializedVersion: 2 + time: 2.774603 + value: 0.6 + inSlope: 0.23132151 + outSlope: 0.23132151 + tangentMode: 0 + - serializedVersion: 2 + time: 2.8466623 + value: 0.6166667 + inSlope: 0.23122776 + outSlope: 0.23122776 + tangentMode: 0 + - serializedVersion: 2 + time: 2.9187608 + value: 0.6333333 + inSlope: 0.23106003 + outSlope: 0.23106003 + tangentMode: 0 + - serializedVersion: 2 + time: 2.9909248 + value: 0.65 + inSlope: 0.23079312 + outSlope: 0.23079312 + tangentMode: 0 + - serializedVersion: 2 + time: 3.0631905 + value: 0.6666667 + inSlope: 0.23039845 + outSlope: 0.23039845 + tangentMode: 0 + - serializedVersion: 2 + time: 3.135602 + value: 0.68333334 + inSlope: 0.22984676 + outSlope: 0.22984676 + tangentMode: 0 + - serializedVersion: 2 + time: 3.2082148 + value: 0.7 + inSlope: 0.2291081 + outSlope: 0.2291081 + tangentMode: 0 + - serializedVersion: 2 + time: 3.281094 + value: 0.71666664 + inSlope: 0.22814855 + outSlope: 0.22814855 + tangentMode: 0 + - serializedVersion: 2 + time: 3.3543193 + value: 0.73333335 + inSlope: 0.2269361 + outSlope: 0.2269361 + tangentMode: 0 + - serializedVersion: 2 + time: 3.4279797 + value: 0.75 + inSlope: 0.22544083 + outSlope: 0.22544083 + tangentMode: 0 + - serializedVersion: 2 + time: 3.5021796 + value: 0.76666665 + inSlope: 0.22363454 + outSlope: 0.22363454 + tangentMode: 0 + - serializedVersion: 2 + time: 3.5770354 + value: 0.78333336 + inSlope: 0.22149324 + outSlope: 0.22149324 + tangentMode: 0 + - serializedVersion: 2 + time: 3.6526775 + value: 0.8 + inSlope: 0.21900088 + outSlope: 0.21900088 + tangentMode: 0 + - serializedVersion: 2 + time: 3.7292473 + value: 0.81666666 + inSlope: 0.21614577 + outSlope: 0.21614577 + tangentMode: 0 + - serializedVersion: 2 + time: 3.806902 + value: 0.8333333 + inSlope: 0.21292156 + outSlope: 0.21292156 + tangentMode: 0 + - serializedVersion: 2 + time: 3.8858097 + value: 0.85 + inSlope: 0.20933686 + outSlope: 0.20933686 + tangentMode: 0 + - serializedVersion: 2 + time: 3.966148 + value: 0.8666667 + inSlope: 0.20540506 + outSlope: 0.20540506 + tangentMode: 0 + - serializedVersion: 2 + time: 4.0481067 + value: 0.8833333 + inSlope: 0.2011463 + outSlope: 0.2011463 + tangentMode: 0 + - serializedVersion: 2 + time: 4.1318846 + value: 0.9 + inSlope: 0.19658902 + outSlope: 0.19658902 + tangentMode: 0 + - serializedVersion: 2 + time: 4.2176895 + value: 0.9166667 + inSlope: 0.19177017 + outSlope: 0.19177017 + tangentMode: 0 + - serializedVersion: 2 + time: 4.3057327 + value: 0.93333334 + inSlope: 0.18673001 + outSlope: 0.18673001 + tangentMode: 0 + - serializedVersion: 2 + time: 4.396234 + value: 0.95 + inSlope: 0.18151015 + outSlope: 0.18151015 + tangentMode: 0 + - serializedVersion: 2 + time: 4.489416 + value: 0.96666664 + inSlope: 0.17615603 + outSlope: 0.17615603 + tangentMode: 0 + - serializedVersion: 2 + time: 4.585505 + value: 0.98333335 + inSlope: 0.17071159 + outSlope: 0.17071159 + tangentMode: 0 + - serializedVersion: 2 + time: 4.6847277 + value: 1 + inSlope: 0.16797222 + outSlope: 0.16797222 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + _tangentCache: + xV: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: -0.022895446 + inSlope: 2.903848 + outSlope: 2.903848 + tangentMode: 0 + - serializedVersion: 2 + time: 0.016666668 + value: 0.02550202 + inSlope: 2.9474373 + outSlope: 2.9474373 + tangentMode: 0 + - serializedVersion: 2 + time: 0.033333335 + value: 0.07535246 + inSlope: 3.0278187 + outSlope: 3.0278187 + tangentMode: 0 + - serializedVersion: 2 + time: 0.050000004 + value: 0.12642932 + inSlope: 3.0933173 + outSlope: 3.0933173 + tangentMode: 0 + - serializedVersion: 2 + time: 0.06666667 + value: 0.17846304 + inSlope: 3.1414566 + outSlope: 3.1414566 + tangentMode: 0 + - serializedVersion: 2 + time: 0.083333336 + value: 0.23114453 + inSlope: 3.170063 + outSlope: 3.170063 + tangentMode: 0 + - serializedVersion: 2 + time: 0.10000001 + value: 0.28413182 + inSlope: 3.1774163 + outSlope: 3.1774163 + tangentMode: 0 + - serializedVersion: 2 + time: 0.116666675 + value: 0.33705842 + inSlope: 3.1623676 + outSlope: 3.1623676 + tangentMode: 0 + - serializedVersion: 2 + time: 0.13333334 + value: 0.38954407 + inSlope: 3.1244535 + outSlope: 3.1244535 + tangentMode: 0 + - serializedVersion: 2 + time: 0.15 + value: 0.44120687 + inSlope: 3.0639546 + outSlope: 3.0639546 + tangentMode: 0 + - serializedVersion: 2 + time: 0.16666667 + value: 0.49167588 + inSlope: 2.981878 + outSlope: 2.981878 + tangentMode: 0 + - serializedVersion: 2 + time: 0.18333334 + value: 0.5406028 + inSlope: 2.879902 + outSlope: 2.879902 + tangentMode: 0 + - serializedVersion: 2 + time: 0.20000002 + value: 0.58767265 + inSlope: 2.7602673 + outSlope: 2.7602673 + tangentMode: 0 + - serializedVersion: 2 + time: 0.21666668 + value: 0.63261175 + inSlope: 2.6256342 + outSlope: 2.6256342 + tangentMode: 0 + - serializedVersion: 2 + time: 0.23333335 + value: 0.6751938 + inSlope: 2.478899 + outSlope: 2.478899 + tangentMode: 0 + - serializedVersion: 2 + time: 0.25 + value: 0.7152417 + inSlope: 2.3230205 + outSlope: 2.3230205 + tangentMode: 0 + - serializedVersion: 2 + time: 0.26666668 + value: 0.7526278 + inSlope: 2.1608787 + outSlope: 2.1608787 + tangentMode: 0 + - serializedVersion: 2 + time: 0.28333336 + value: 0.787271 + inSlope: 1.9951291 + outSlope: 1.9951291 + tangentMode: 0 + - serializedVersion: 2 + time: 0.3 + value: 0.8191321 + inSlope: 1.8281009 + outSlope: 1.8281009 + tangentMode: 0 + - serializedVersion: 2 + time: 0.3166667 + value: 0.8482077 + inSlope: 1.6617358 + outSlope: 1.6617358 + tangentMode: 0 + - serializedVersion: 2 + time: 0.33333334 + value: 0.8745233 + inSlope: 1.4975758 + outSlope: 1.4975758 + tangentMode: 0 + - serializedVersion: 2 + time: 0.35000002 + value: 0.8981269 + inSlope: 1.3367522 + outSlope: 1.3367522 + tangentMode: 0 + - serializedVersion: 2 + time: 0.36666667 + value: 0.9190817 + inSlope: 1.1799915 + outSlope: 1.1799915 + tangentMode: 0 + - serializedVersion: 2 + time: 0.38333336 + value: 0.93745995 + inSlope: 1.0276768 + outSlope: 1.0276768 + tangentMode: 0 + - serializedVersion: 2 + time: 0.40000004 + value: 0.9533376 + inSlope: 0.8798808 + outSlope: 0.8798808 + tangentMode: 0 + - serializedVersion: 2 + time: 0.4166667 + value: 0.9667893 + inSlope: 0.736397 + outSlope: 0.736397 + tangentMode: 0 + - serializedVersion: 2 + time: 0.43333337 + value: 0.9778842 + inSlope: 0.59681654 + outSlope: 0.59681654 + tangentMode: 0 + - serializedVersion: 2 + time: 0.45000002 + value: 0.9866832 + inSlope: 0.46056217 + outSlope: 0.46056217 + tangentMode: 0 + - serializedVersion: 2 + time: 0.4666667 + value: 0.99323624 + inSlope: 0.32690936 + outSlope: 0.32690936 + tangentMode: 0 + - serializedVersion: 2 + time: 0.48333335 + value: 0.9975802 + inSlope: 0.19504684 + outSlope: 0.19504684 + tangentMode: 0 + - serializedVersion: 2 + time: 0.5 + value: 0.9997378 + inSlope: 0.06410664 + outSlope: 0.06410664 + tangentMode: 0 + - serializedVersion: 2 + time: 0.5166667 + value: 0.99971706 + inSlope: -0.066824615 + outSlope: -0.066824615 + tangentMode: 0 + - serializedVersion: 2 + time: 0.53333336 + value: 0.9975103 + inSlope: -0.19866604 + outSlope: -0.19866604 + tangentMode: 0 + - serializedVersion: 2 + time: 0.55 + value: 0.99309486 + inSlope: -0.3323056 + outSlope: -0.3323056 + tangentMode: 0 + - serializedVersion: 2 + time: 0.5666667 + value: 0.98643345 + inSlope: -0.4685781 + outSlope: -0.4685781 + tangentMode: 0 + - serializedVersion: 2 + time: 0.5833334 + value: 0.9774756 + inSlope: -0.6082308 + outSlope: -0.6082308 + tangentMode: 0 + - serializedVersion: 2 + time: 0.6 + value: 0.9661591 + inSlope: -0.7518954 + outSlope: -0.7518954 + tangentMode: 0 + - serializedVersion: 2 + time: 0.6166667 + value: 0.9524124 + inSlope: -0.9000322 + outSlope: -0.9000322 + tangentMode: 0 + - serializedVersion: 2 + time: 0.6333334 + value: 0.936158 + inSlope: -1.0528969 + outSlope: -1.0528969 + tangentMode: 0 + - serializedVersion: 2 + time: 0.65000004 + value: 0.91731584 + inSlope: -1.2104893 + outSlope: -1.2104893 + tangentMode: 0 + - serializedVersion: 2 + time: 0.6666667 + value: 0.8958084 + inSlope: -1.3725029 + outSlope: -1.3725029 + tangentMode: 0 + - serializedVersion: 2 + time: 0.6833334 + value: 0.8715657 + inSlope: -1.5382833 + outSlope: -1.5382833 + tangentMode: 0 + - serializedVersion: 2 + time: 0.70000005 + value: 0.84453225 + inSlope: -1.7067788 + outSlope: -1.7067788 + tangentMode: 0 + - serializedVersion: 2 + time: 0.7166667 + value: 0.8146731 + inSlope: -1.8765199 + outSlope: -1.8765199 + tangentMode: 0 + - serializedVersion: 2 + time: 0.73333335 + value: 0.78198165 + inSlope: -2.0456278 + outSlope: -2.0456278 + tangentMode: 0 + - serializedVersion: 2 + time: 0.75000006 + value: 0.7464855 + inSlope: -2.211823 + outSlope: -2.211823 + tangentMode: 0 + - serializedVersion: 2 + time: 0.7666667 + value: 0.70825416 + inSlope: -2.3724823 + outSlope: -2.3724823 + tangentMode: 0 + - serializedVersion: 2 + time: 0.78333336 + value: 0.6674028 + inSlope: -2.5247414 + outSlope: -2.5247414 + tangentMode: 0 + - serializedVersion: 2 + time: 0.8000001 + value: 0.62409604 + inSlope: -2.6656218 + outSlope: -2.6656218 + tangentMode: 0 + - serializedVersion: 2 + time: 0.8166667 + value: 0.57854867 + inSlope: -2.792175 + outSlope: -2.792175 + tangentMode: 0 + - serializedVersion: 2 + time: 0.8333334 + value: 0.5310236 + inSlope: -2.9016666 + outSlope: -2.9016666 + tangentMode: 0 + - serializedVersion: 2 + time: 0.85 + value: 0.48182654 + inSlope: -2.9917593 + outSlope: -2.9917593 + tangentMode: 0 + - serializedVersion: 2 + time: 0.86666673 + value: 0.43129823 + inSlope: -3.060642 + outSlope: -3.060642 + tangentMode: 0 + - serializedVersion: 2 + time: 0.8833334 + value: 0.37980506 + inSlope: -3.1071687 + outSlope: -3.1071687 + tangentMode: 0 + - serializedVersion: 2 + time: 0.90000004 + value: 0.32772604 + inSlope: -3.1309123 + outSlope: -3.1309123 + tangentMode: 0 + - serializedVersion: 2 + time: 0.9166667 + value: 0.2754414 + inSlope: -3.132184 + outSlope: -3.132184 + tangentMode: 0 + - serializedVersion: 2 + time: 0.9333334 + value: 0.22331981 + inSlope: -3.1119914 + outSlope: -3.1119914 + tangentMode: 0 + - serializedVersion: 2 + time: 0.95000005 + value: 0.17170827 + inSlope: -3.071931 + outSlope: -3.071931 + tangentMode: 0 + - serializedVersion: 2 + time: 0.9666667 + value: 0.120922215 + inSlope: -3.0140707 + outSlope: -3.0140707 + tangentMode: 0 + - serializedVersion: 2 + time: 0.9833334 + value: 0.071239166 + inSlope: -2.940802 + outSlope: -2.940802 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 0.022895563 + inSlope: -2.9006293 + outSlope: -2.9006293 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + yV: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.016666668 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.033333335 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.050000004 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.06666667 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.083333336 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.10000001 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.116666675 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.13333334 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.15 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.16666667 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.18333334 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.20000002 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.21666668 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.23333335 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.25 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.26666668 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.28333336 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.3 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.3166667 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.33333334 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.35000002 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.36666667 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.38333336 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.40000004 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.4166667 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.43333337 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.45000002 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.4666667 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.48333335 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.5 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.5166667 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.53333336 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.55 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.5666667 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.5833334 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.6 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.6166667 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.6333334 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.65000004 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.6666667 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.6833334 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.70000005 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.7166667 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.73333335 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.75000006 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.7666667 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.78333336 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.8000001 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.8166667 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.8333334 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.85 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.86666673 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.8833334 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.90000004 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.9166667 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.9333334 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.95000005 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.9666667 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 0.9833334 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 0 + inSlope: 0 + outSlope: 0 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + zV: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: -0.9997379 + inSlope: 0.003787279 + outSlope: 0.003787279 + tangentMode: 0 + - serializedVersion: 2 + time: 0.016666668 + value: -0.9996748 + inSlope: 0.07743 + outSlope: 0.07743 + tangentMode: 0 + - serializedVersion: 2 + time: 0.033333335 + value: -0.9971569 + inSlope: 0.2309775 + outSlope: 0.2309775 + tangentMode: 0 + - serializedVersion: 2 + time: 0.050000004 + value: -0.99197555 + inSlope: 0.3963071 + outSlope: 0.3963071 + tangentMode: 0 + - serializedVersion: 2 + time: 0.06666667 + value: -0.9839467 + inSlope: 0.5716843 + outSlope: 0.5716843 + tangentMode: 0 + - serializedVersion: 2 + time: 0.083333336 + value: -0.9729194 + inSlope: 0.754845 + outSlope: 0.754845 + tangentMode: 0 + - serializedVersion: 2 + time: 0.10000001 + value: -0.9587852 + inSlope: 0.94306993 + outSlope: 0.94306993 + tangentMode: 0 + - serializedVersion: 2 + time: 0.116666675 + value: -0.94148374 + inSlope: 1.1333193 + outSlope: 1.1333193 + tangentMode: 0 + - serializedVersion: 2 + time: 0.13333334 + value: -0.9210079 + inSlope: 1.3223488 + outSlope: 1.3223488 + tangentMode: 0 + - serializedVersion: 2 + time: 0.15 + value: -0.89740545 + inSlope: 1.5068866 + outSlope: 1.5068866 + tangentMode: 0 + - serializedVersion: 2 + time: 0.16666667 + value: -0.8707783 + inSlope: 1.6838266 + outSlope: 1.6838266 + tangentMode: 0 + - serializedVersion: 2 + time: 0.18333334 + value: -0.8412779 + inSlope: 1.8503838 + outSlope: 1.8503838 + tangentMode: 0 + - serializedVersion: 2 + time: 0.20000002 + value: -0.80909884 + inSlope: 2.0042639 + outSlope: 2.0042639 + tangentMode: 0 + - serializedVersion: 2 + time: 0.21666668 + value: -0.7744691 + inSlope: 2.143756 + outSlope: 2.143756 + tangentMode: 0 + - serializedVersion: 2 + time: 0.23333335 + value: -0.7376403 + inSlope: 2.267757 + outSlope: 2.267757 + tangentMode: 0 + - serializedVersion: 2 + time: 0.25 + value: -0.6988772 + inSlope: 2.375824 + outSlope: 2.375824 + tangentMode: 0 + - serializedVersion: 2 + time: 0.26666668 + value: -0.6584462 + inSlope: 2.4681025 + outSlope: 2.4681025 + tangentMode: 0 + - serializedVersion: 2 + time: 0.28333336 + value: -0.61660707 + inSlope: 2.5452394 + outSlope: 2.5452394 + tangentMode: 0 + - serializedVersion: 2 + time: 0.3 + value: -0.5736049 + inSlope: 2.6082964 + outSlope: 2.6082964 + tangentMode: 0 + - serializedVersion: 2 + time: 0.3166667 + value: -0.52966386 + inSlope: 2.658638 + outSlope: 2.658638 + tangentMode: 0 + - serializedVersion: 2 + time: 0.33333334 + value: -0.48498362 + inSlope: 2.697824 + outSlope: 2.697824 + tangentMode: 0 + - serializedVersion: 2 + time: 0.35000002 + value: -0.4397364 + inSlope: 2.7274973 + outSlope: 2.7274973 + tangentMode: 0 + - serializedVersion: 2 + time: 0.36666667 + value: -0.39406705 + inSlope: 2.749299 + outSlope: 2.749299 + tangentMode: 0 + - serializedVersion: 2 + time: 0.38333336 + value: -0.3480931 + inSlope: 2.7648249 + outSlope: 2.7648249 + tangentMode: 0 + - serializedVersion: 2 + time: 0.40000004 + value: -0.30190614 + inSlope: 2.775543 + outSlope: 2.775543 + tangentMode: 0 + - serializedVersion: 2 + time: 0.4166667 + value: -0.255575 + inSlope: 2.782762 + outSlope: 2.782762 + tangentMode: 0 + - serializedVersion: 2 + time: 0.43333337 + value: -0.20914741 + inSlope: 2.7876263 + outSlope: 2.7876263 + tangentMode: 0 + - serializedVersion: 2 + time: 0.45000002 + value: -0.16265413 + inSlope: 2.791072 + outSlope: 2.791072 + tangentMode: 0 + - serializedVersion: 2 + time: 0.4666667 + value: -0.11611169 + inSlope: 2.7938468 + outSlope: 2.7938468 + tangentMode: 0 + - serializedVersion: 2 + time: 0.48333335 + value: -0.06952591 + inSlope: 2.7964892 + outSlope: 2.7964892 + tangentMode: 0 + - serializedVersion: 2 + time: 0.5 + value: -0.022895468 + inSlope: 2.7993264 + outSlope: 2.7993264 + tangentMode: 0 + - serializedVersion: 2 + time: 0.5166667 + value: 0.023785053 + inSlope: 2.8024855 + outSlope: 2.8024855 + tangentMode: 0 + - serializedVersion: 2 + time: 0.53333336 + value: 0.070520796 + inSlope: 2.8058834 + outSlope: 2.8058834 + tangentMode: 0 + - serializedVersion: 2 + time: 0.55 + value: 0.11731441 + inSlope: 2.80923 + outSlope: 2.80923 + tangentMode: 0 + - serializedVersion: 2 + time: 0.5666667 + value: 0.16416188 + inSlope: 2.812024 + outSlope: 2.812024 + tangentMode: 0 + - serializedVersion: 2 + time: 0.5833334 + value: 0.21104863 + inSlope: 2.8135562 + outSlope: 2.8135562 + tangentMode: 0 + - serializedVersion: 2 + time: 0.6 + value: 0.257947 + inSlope: 2.812912 + outSlope: 2.812912 + tangentMode: 0 + - serializedVersion: 2 + time: 0.6166667 + value: 0.30481228 + inSlope: 2.808975 + outSlope: 2.808975 + tangentMode: 0 + - serializedVersion: 2 + time: 0.6333334 + value: 0.35157958 + inSlope: 2.8004375 + outSlope: 2.8004375 + tangentMode: 0 + - serializedVersion: 2 + time: 0.65000004 + value: 0.39816028 + inSlope: 2.78583 + outSlope: 2.78583 + tangentMode: 0 + - serializedVersion: 2 + time: 0.6666667 + value: 0.44444048 + inSlope: 2.7635517 + outSlope: 2.7635517 + tangentMode: 0 + - serializedVersion: 2 + time: 0.6833334 + value: 0.49027875 + inSlope: 2.731924 + outSlope: 2.731924 + tangentMode: 0 + - serializedVersion: 2 + time: 0.70000005 + value: 0.5355047 + inSlope: 2.6892488 + outSlope: 2.6892488 + tangentMode: 0 + - serializedVersion: 2 + time: 0.7166667 + value: 0.5799203 + inSlope: 2.633903 + outSlope: 2.633903 + tangentMode: 0 + - serializedVersion: 2 + time: 0.73333335 + value: 0.6233014 + inSlope: 2.5644383 + outSlope: 2.5644383 + tangentMode: 0 + - serializedVersion: 2 + time: 0.75000006 + value: 0.66540164 + inSlope: 2.4796839 + outSlope: 2.4796839 + tangentMode: 0 + - serializedVersion: 2 + time: 0.7666667 + value: 0.7059576 + inSlope: 2.3788588 + outSlope: 2.3788588 + tangentMode: 0 + - serializedVersion: 2 + time: 0.78333336 + value: 0.74469686 + inSlope: 2.261701 + outSlope: 2.261701 + tangentMode: 0 + - serializedVersion: 2 + time: 0.8000001 + value: 0.7813477 + inSlope: 2.1285257 + outSlope: 2.1285257 + tangentMode: 0 + - serializedVersion: 2 + time: 0.8166667 + value: 0.8156478 + inSlope: 1.980284 + outSlope: 1.980284 + tangentMode: 0 + - serializedVersion: 2 + time: 0.8333334 + value: 0.8473571 + inSlope: 1.8185663 + outSlope: 1.8185663 + tangentMode: 0 + - serializedVersion: 2 + time: 0.85 + value: 0.8762666 + inSlope: 1.645568 + outSlope: 1.645568 + tangentMode: 0 + - serializedVersion: 2 + time: 0.86666673 + value: 0.9022094 + inSlope: 1.4639983 + outSlope: 1.4639983 + tangentMode: 0 + - serializedVersion: 2 + time: 0.8833334 + value: 0.9250666 + inSlope: 1.2769043 + outSlope: 1.2769043 + tangentMode: 0 + - serializedVersion: 2 + time: 0.90000004 + value: 0.94477284 + inSlope: 1.0875401 + outSlope: 1.0875401 + tangentMode: 0 + - serializedVersion: 2 + time: 0.9166667 + value: 0.9613179 + inSlope: 0.89917064 + outSlope: 0.89917064 + tangentMode: 0 + - serializedVersion: 2 + time: 0.9333334 + value: 0.9747452 + inSlope: 0.7148956 + outSlope: 0.7148956 + tangentMode: 0 + - serializedVersion: 2 + time: 0.95000005 + value: 0.9851478 + inSlope: 0.53750265 + outSlope: 0.53750265 + tangentMode: 0 + - serializedVersion: 2 + time: 0.9666667 + value: 0.99266195 + inSlope: 0.36934358 + outSlope: 0.36934358 + tangentMode: 0 + - serializedVersion: 2 + time: 0.9833334 + value: 0.99745923 + inSlope: 0.2122789 + outSlope: 0.2122789 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 0.9997379 + inSlope: 0.13672176 + outSlope: 0.13672176 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + autoKnot: + - 0.7 + - 0.7 + orientations: + - rotation: {x: 0, y: 0, z: 0, w: 1} + hasValue: 0 + - rotation: {x: 0, y: 0, z: 0, w: 1} + hasValue: 0 + tangentCache: [] +--- !u!4 &1204376546 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1204376544} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -0.51, y: 0, z: 5.51} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1302579424 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1302579426} + - component: {fileID: 1302579425} + m_Layer: 0 + m_Name: BezierSpline (2) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1302579425 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1302579424} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 50f6cb5b297175b42a8ae8a04b789fa4, type: 3} + m_Name: + m_EditorClassIdentifier: + _cacheDensity: 30 + _closed: 0 + _totalLength: 33.56189 + curves: + - _a: {x: -1.0879056, y: 0.20194113, z: 3.1882617} + _b: {x: 0.46033585, y: -0.2225479, z: -1.4757413} + _c: {x: -2.1927583, y: 0.10027468, z: 1.6408391} + _d: {x: 0.30705142, y: -0.47244644, z: -1.2836809} + _B: {x: -0.6275698, y: -0.020606771, z: 1.7125205} + _C: {x: -1.8857069, y: -0.37217176, z: 0.35715818} + _length: 5.0092387 + _cache: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: 0.21598512 + outSlope: 0.21598512 + tangentMode: 0 + - serializedVersion: 2 + time: 0.15433162 + value: 0.033333335 + inSlope: 0.21809009 + outSlope: 0.21809009 + tangentMode: 0 + - serializedVersion: 2 + time: 0.30571258 + value: 0.06666667 + inSlope: 0.22171043 + outSlope: 0.22171043 + tangentMode: 0 + - serializedVersion: 2 + time: 0.4550382 + value: 0.1 + inSlope: 0.22423579 + outSlope: 0.22423579 + tangentMode: 0 + - serializedVersion: 2 + time: 0.6030247 + value: 0.13333334 + inSlope: 0.22585091 + outSlope: 0.22585091 + tangentMode: 0 + - serializedVersion: 2 + time: 0.7502203 + value: 0.16666667 + inSlope: 0.22676408 + outSlope: 0.22676408 + tangentMode: 0 + - serializedVersion: 2 + time: 0.8970165 + value: 0.2 + inSlope: 0.22717825 + outSlope: 0.22717825 + tangentMode: 0 + - serializedVersion: 2 + time: 1.0436757 + value: 0.23333333 + inSlope: 0.22727308 + outSlope: 0.22727308 + tangentMode: 0 + - serializedVersion: 2 + time: 1.1903495 + value: 0.26666668 + inSlope: 0.2271936 + outSlope: 0.2271936 + tangentMode: 0 + - serializedVersion: 2 + time: 1.3371112 + value: 0.3 + inSlope: 0.22704339 + outSlope: 0.22704339 + tangentMode: 0 + - serializedVersion: 2 + time: 1.4839791 + value: 0.33333334 + inSlope: 0.22688633 + outSlope: 0.22688633 + tangentMode: 0 + - serializedVersion: 2 + time: 1.6309441 + value: 0.36666667 + inSlope: 0.22674108 + outSlope: 0.22674108 + tangentMode: 0 + - serializedVersion: 2 + time: 1.7780002 + value: 0.4 + inSlope: 0.22658482 + outSlope: 0.22658482 + tangentMode: 0 + - serializedVersion: 2 + time: 1.925168 + value: 0.43333334 + inSlope: 0.22635415 + outSlope: 0.22635415 + tangentMode: 0 + - serializedVersion: 2 + time: 2.072524 + value: 0.46666667 + inSlope: 0.22594476 + outSlope: 0.22594476 + tangentMode: 0 + - serializedVersion: 2 + time: 2.2202258 + value: 0.5 + inSlope: 0.2252143 + outSlope: 0.2252143 + tangentMode: 0 + - serializedVersion: 2 + time: 2.3685398 + value: 0.53333336 + inSlope: 0.22398853 + outSlope: 0.22398853 + tangentMode: 0 + - serializedVersion: 2 + time: 2.5178635 + value: 0.56666666 + inSlope: 0.22207487 + outSlope: 0.22207487 + tangentMode: 0 + - serializedVersion: 2 + time: 2.668747 + value: 0.6 + inSlope: 0.21927914 + outSlope: 0.21927914 + tangentMode: 0 + - serializedVersion: 2 + time: 2.821907 + value: 0.6333333 + inSlope: 0.21543139 + outSlope: 0.21543139 + tangentMode: 0 + - serializedVersion: 2 + time: 2.978236 + value: 0.6666667 + inSlope: 0.2104153 + outSlope: 0.2104153 + tangentMode: 0 + - serializedVersion: 2 + time: 3.1387973 + value: 0.7 + inSlope: 0.20419262 + outSlope: 0.20419262 + tangentMode: 0 + - serializedVersion: 2 + time: 3.3048162 + value: 0.73333335 + inSlope: 0.19681796 + outSlope: 0.19681796 + tangentMode: 0 + - serializedVersion: 2 + time: 3.477657 + value: 0.76666665 + inSlope: 0.18843782 + outSlope: 0.18843782 + tangentMode: 0 + - serializedVersion: 2 + time: 3.6587968 + value: 0.8 + inSlope: 0.17927232 + outSlope: 0.17927232 + tangentMode: 0 + - serializedVersion: 2 + time: 3.8497918 + value: 0.8333333 + inSlope: 0.16958366 + outSlope: 0.16958366 + tangentMode: 0 + - serializedVersion: 2 + time: 4.0522504 + value: 0.8666667 + inSlope: 0.15964243 + outSlope: 0.15964243 + tangentMode: 0 + - serializedVersion: 2 + time: 4.267802 + value: 0.9 + inSlope: 0.14969796 + outSlope: 0.14969796 + tangentMode: 0 + - serializedVersion: 2 + time: 4.498078 + value: 0.93333334 + inSlope: 0.13995835 + outSlope: 0.13995835 + tangentMode: 0 + - serializedVersion: 2 + time: 4.7446938 + value: 0.96666664 + inSlope: 0.13058272 + outSlope: 0.13058272 + tangentMode: 0 + - serializedVersion: 2 + time: 5.0092387 + value: 1 + inSlope: 0.12600262 + outSlope: 0.12600262 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + _tangentCache: + xV: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0.29474518 + inSlope: -1.9372312 + outSlope: -1.9372312 + tangentMode: 0 + - serializedVersion: 2 + time: 0.033333335 + value: 0.2301708 + inSlope: -1.8834503 + outSlope: -1.8834503 + tangentMode: 0 + - serializedVersion: 2 + time: 0.06666667 + value: 0.16918182 + inSlope: -1.7529981 + outSlope: -1.7529981 + tangentMode: 0 + - serializedVersion: 2 + time: 0.10000001 + value: 0.11330424 + inSlope: -1.5822086 + outSlope: -1.5822086 + tangentMode: 0 + - serializedVersion: 2 + time: 0.13333334 + value: 0.06370124 + inSlope: -1.38206 + outSlope: -1.38206 + tangentMode: 0 + - serializedVersion: 2 + time: 0.16666667 + value: 0.021166911 + inSlope: -1.1628666 + outSlope: -1.1628666 + tangentMode: 0 + - serializedVersion: 2 + time: 0.20000002 + value: -0.013823204 + inSlope: -0.93298995 + outSlope: -0.93298995 + tangentMode: 0 + - serializedVersion: 2 + time: 0.23333335 + value: -0.041032426 + inSlope: -0.6983359 + outSlope: -0.6983359 + tangentMode: 0 + - serializedVersion: 2 + time: 0.26666668 + value: -0.060378928 + inSlope: -0.4624501 + outSlope: -0.4624501 + tangentMode: 0 + - serializedVersion: 2 + time: 0.3 + value: -0.07186243 + inSlope: -0.22696938 + outSlope: -0.22696938 + tangentMode: 0 + - serializedVersion: 2 + time: 0.33333334 + value: -0.07551022 + inSlope: 0.0077624246 + outSlope: 0.0077624246 + tangentMode: 0 + - serializedVersion: 2 + time: 0.36666667 + value: -0.071344934 + inSlope: 0.2420367 + outSlope: 0.2420367 + tangentMode: 0 + - serializedVersion: 2 + time: 0.40000004 + value: -0.05937443 + inSlope: 0.47612113 + outSlope: 0.47612113 + tangentMode: 0 + - serializedVersion: 2 + time: 0.43333337 + value: -0.039603516 + inSlope: 0.7096141 + outSlope: 0.7096141 + tangentMode: 0 + - serializedVersion: 2 + time: 0.4666667 + value: -0.012066827 + inSlope: 0.9408128 + outSlope: 0.9408128 + tangentMode: 0 + - serializedVersion: 2 + time: 0.5 + value: 0.023117298 + inSlope: 1.1661491 + outSlope: 1.1661491 + tangentMode: 0 + - serializedVersion: 2 + time: 0.53333336 + value: 0.06567645 + inSlope: 1.3798039 + outSlope: 1.3798039 + tangentMode: 0 + - serializedVersion: 2 + time: 0.5666667 + value: 0.1151043 + inSlope: 1.5736786 + outSlope: 1.5736786 + tangentMode: 0 + - serializedVersion: 2 + time: 0.6 + value: 0.17058834 + inSlope: 1.7379534 + outSlope: 1.7379534 + tangentMode: 0 + - serializedVersion: 2 + time: 0.6333334 + value: 0.23096786 + inSlope: 1.862354 + outSlope: 1.862354 + tangentMode: 0 + - serializedVersion: 2 + time: 0.6666667 + value: 0.29474527 + inSlope: 1.9380354 + outSlope: 1.9380354 + tangentMode: 0 + - serializedVersion: 2 + time: 0.70000005 + value: 0.36017022 + inSlope: 1.9596703 + outSlope: 1.9596703 + tangentMode: 0 + - serializedVersion: 2 + time: 0.73333335 + value: 0.42538995 + inSlope: 1.9270265 + outSlope: 1.9270265 + tangentMode: 0 + - serializedVersion: 2 + time: 0.7666667 + value: 0.48863864 + inSlope: 1.8453887 + outSlope: 1.8453887 + tangentMode: 0 + - serializedVersion: 2 + time: 0.8000001 + value: 0.54841596 + inSlope: 1.7246201 + outSlope: 1.7246201 + tangentMode: 0 + - serializedVersion: 2 + time: 0.8333334 + value: 0.6036133 + inSlope: 1.5771785 + outSlope: 1.5771785 + tangentMode: 0 + - serializedVersion: 2 + time: 0.86666673 + value: 0.6535612 + inSlope: 1.4158165 + outSlope: 1.4158165 + tangentMode: 0 + - serializedVersion: 2 + time: 0.90000004 + value: 0.6980011 + inSlope: 1.2517173 + outSlope: 1.2517173 + tangentMode: 0 + - serializedVersion: 2 + time: 0.9333334 + value: 0.737009 + inSlope: 1.0934329 + outSlope: 1.0934329 + tangentMode: 0 + - serializedVersion: 2 + time: 0.9666667 + value: 0.7708966 + inSlope: 0.9466213 + outSlope: 0.9466213 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 0.800117 + inSlope: 0.8766129 + outSlope: 0.8766129 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + yV: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: -0.14249364 + inSlope: -0.2575618 + outSlope: -0.2575618 + tangentMode: 0 + - serializedVersion: 2 + time: 0.033333335 + value: -0.15107903 + inSlope: -0.23937017 + outSlope: -0.23937017 + tangentMode: 0 + - serializedVersion: 2 + time: 0.06666667 + value: -0.15845165 + inSlope: -0.20285276 + outSlope: -0.20285276 + tangentMode: 0 + - serializedVersion: 2 + time: 0.10000001 + value: -0.16460255 + inSlope: -0.16708687 + outSlope: -0.16708687 + tangentMode: 0 + - serializedVersion: 2 + time: 0.13333334 + value: -0.16959077 + inSlope: -0.13375463 + outSlope: -0.13375463 + tangentMode: 0 + - serializedVersion: 2 + time: 0.16666667 + value: -0.17351952 + inSlope: -0.10381131 + outSlope: -0.10381131 + tangentMode: 0 + - serializedVersion: 2 + time: 0.20000002 + value: -0.17651153 + inSlope: -0.07753639 + outSlope: -0.07753639 + tangentMode: 0 + - serializedVersion: 2 + time: 0.23333335 + value: -0.17868862 + inSlope: -0.05468019 + outSlope: -0.05468019 + tangentMode: 0 + - serializedVersion: 2 + time: 0.26666668 + value: -0.18015687 + inSlope: -0.03462464 + outSlope: -0.03462464 + tangentMode: 0 + - serializedVersion: 2 + time: 0.3 + value: -0.18099692 + inSlope: -0.016530233 + outSlope: -0.016530233 + tangentMode: 0 + - serializedVersion: 2 + time: 0.33333334 + value: -0.18125889 + inSlope: 0.0005596876 + outSlope: 0.0005596876 + tangentMode: 0 + - serializedVersion: 2 + time: 0.36666667 + value: -0.18095961 + inSlope: 0.017649148 + outSlope: 0.017649148 + tangentMode: 0 + - serializedVersion: 2 + time: 0.40000004 + value: -0.18008228 + inSlope: 0.035730593 + outSlope: 0.035730593 + tangentMode: 0 + - serializedVersion: 2 + time: 0.43333337 + value: -0.17857757 + inSlope: 0.05573698 + outSlope: 0.05573698 + tangentMode: 0 + - serializedVersion: 2 + time: 0.4666667 + value: -0.17636648 + inSlope: 0.07846762 + outSlope: 0.07846762 + tangentMode: 0 + - serializedVersion: 2 + time: 0.5 + value: -0.1733464 + inSlope: 0.104488805 + outSlope: 0.104488805 + tangentMode: 0 + - serializedVersion: 2 + time: 0.53333336 + value: -0.16940056 + inSlope: 0.13399702 + outSlope: 0.13399702 + tangentMode: 0 + - serializedVersion: 2 + time: 0.5666667 + value: -0.16441326 + inSlope: 0.16666646 + outSlope: 0.16666646 + tangentMode: 0 + - serializedVersion: 2 + time: 0.6 + value: -0.15828946 + inSlope: 0.20152844 + outSlope: 0.20152844 + tangentMode: 0 + - serializedVersion: 2 + time: 0.6333334 + value: -0.15097803 + inSlope: 0.23693743 + outSlope: 0.23693743 + tangentMode: 0 + - serializedVersion: 2 + time: 0.6666667 + value: -0.14249364 + inSlope: 0.27069747 + outSlope: 0.27069747 + tangentMode: 0 + - serializedVersion: 2 + time: 0.70000005 + value: -0.13293153 + inSlope: 0.3003707 + outSlope: 0.3003707 + tangentMode: 0 + - serializedVersion: 2 + time: 0.73333335 + value: -0.122468926 + inSlope: 0.32371908 + outSlope: 0.32371908 + tangentMode: 0 + - serializedVersion: 2 + time: 0.7666667 + value: -0.11135026 + inSlope: 0.33914304 + outSlope: 0.33914304 + tangentMode: 0 + - serializedVersion: 2 + time: 0.8000001 + value: -0.09985937 + inSlope: 0.3459728 + outSlope: 0.3459728 + tangentMode: 0 + - serializedVersion: 2 + time: 0.8333334 + value: -0.08828541 + inSlope: 0.34451556 + outSlope: 0.34451556 + tangentMode: 0 + - serializedVersion: 2 + time: 0.86666673 + value: -0.07689167 + inSlope: 0.33586937 + outSlope: 0.33586937 + tangentMode: 0 + - serializedVersion: 2 + time: 0.90000004 + value: -0.06589412 + inSlope: 0.32160336 + outSlope: 0.32160336 + tangentMode: 0 + - serializedVersion: 2 + time: 0.9333334 + value: -0.055451445 + inSlope: 0.30342686 + outSlope: 0.30342686 + tangentMode: 0 + - serializedVersion: 2 + time: 0.9666667 + value: -0.045665663 + inSlope: 0.28293246 + outSlope: 0.28293246 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: -0.0365893 + inSlope: 0.27229118 + outSlope: 0.27229118 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + zV: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: -0.9448919 + inSlope: -0.4937857 + outSlope: -0.4937857 + tangentMode: 0 + - serializedVersion: 2 + time: 0.033333335 + value: -0.96135145 + inSlope: -0.41808662 + outSlope: -0.41808662 + tangentMode: 0 + - serializedVersion: 2 + time: 0.06666667 + value: -0.9727644 + inSlope: -0.2771875 + outSlope: -0.2771875 + tangentMode: 0 + - serializedVersion: 2 + time: 0.10000001 + value: -0.9798306 + inSlope: -0.16033886 + outSlope: -0.16033886 + tangentMode: 0 + - serializedVersion: 2 + time: 0.13333334 + value: -0.98345363 + inSlope: -0.07158459 + outSlope: -0.07158459 + tangentMode: 0 + - serializedVersion: 2 + time: 0.16666667 + value: -0.9846029 + inSlope: -0.01121879 + outSlope: -0.01121879 + tangentMode: 0 + - serializedVersion: 2 + time: 0.20000002 + value: -0.98420155 + inSlope: 0.023299456 + outSlope: 0.023299456 + tangentMode: 0 + - serializedVersion: 2 + time: 0.23333335 + value: -0.98304963 + inSlope: 0.036277775 + outSlope: 0.036277775 + tangentMode: 0 + - serializedVersion: 2 + time: 0.26666668 + value: -0.98178303 + inSlope: 0.032925013 + outSlope: 0.032925013 + tangentMode: 0 + - serializedVersion: 2 + time: 0.3 + value: -0.98085463 + inSlope: 0.018762054 + outSlope: 0.018762054 + tangentMode: 0 + - serializedVersion: 2 + time: 0.33333334 + value: -0.9805322 + inSlope: -0.0006714463 + outSlope: -0.0006714463 + tangentMode: 0 + - serializedVersion: 2 + time: 0.36666667 + value: -0.9808994 + inSlope: -0.019885886 + outSlope: -0.019885886 + tangentMode: 0 + - serializedVersion: 2 + time: 0.40000004 + value: -0.98185796 + inSlope: -0.033436406 + outSlope: -0.033436406 + tangentMode: 0 + - serializedVersion: 2 + time: 0.43333337 + value: -0.9831285 + inSlope: -0.03588975 + outSlope: -0.03588975 + tangentMode: 0 + - serializedVersion: 2 + time: 0.4666667 + value: -0.9842506 + inSlope: -0.021916337 + outSlope: -0.021916337 + tangentMode: 0 + - serializedVersion: 2 + time: 0.5 + value: -0.9845896 + inSlope: 0.013410131 + outSlope: 0.013410131 + tangentMode: 0 + - serializedVersion: 2 + time: 0.53333336 + value: -0.9833566 + inSlope: 0.07405305 + outSlope: 0.07405305 + tangentMode: 0 + - serializedVersion: 2 + time: 0.5666667 + value: -0.9796527 + inSlope: 0.16217178 + outSlope: 0.16217178 + tangentMode: 0 + - serializedVersion: 2 + time: 0.6 + value: -0.97254515 + inSlope: 0.27714992 + outSlope: 0.27714992 + tangentMode: 0 + - serializedVersion: 2 + time: 0.6333334 + value: -0.96117604 + inSlope: 0.41479835 + outSlope: 0.41479835 + tangentMode: 0 + - serializedVersion: 2 + time: 0.6666667 + value: -0.9448919 + inSlope: 0.56713605 + outSlope: 0.56713605 + tangentMode: 0 + - serializedVersion: 2 + time: 0.70000005 + value: -0.92336696 + inSlope: 0.72309864 + outSlope: 0.72309864 + tangentMode: 0 + - serializedVersion: 2 + time: 0.73333335 + value: -0.89668536 + inSlope: 0.8702302 + outSlope: 0.8702302 + tangentMode: 0 + - serializedVersion: 2 + time: 0.7666667 + value: -0.8653516 + inSlope: 0.99695396 + outSlope: 0.99695396 + tangentMode: 0 + - serializedVersion: 2 + time: 0.8000001 + value: -0.8302217 + inSlope: 1.0946624 + outSlope: 1.0946624 + tangentMode: 0 + - serializedVersion: 2 + time: 0.8333334 + value: -0.79237413 + inSlope: 1.1589575 + outSlope: 1.1589575 + tangentMode: 0 + - serializedVersion: 2 + time: 0.86666673 + value: -0.7529579 + inSlope: 1.1897342 + outSlope: 1.1897342 + tangentMode: 0 + - serializedVersion: 2 + time: 0.90000004 + value: -0.71305853 + inSlope: 1.1903028 + outSlope: 1.1903028 + tangentMode: 0 + - serializedVersion: 2 + time: 0.9333334 + value: -0.67360437 + inSlope: 1.16606 + outSlope: 1.16606 + tangentMode: 0 + - serializedVersion: 2 + time: 0.9666667 + value: -0.6353212 + inSlope: 1.1231636 + outSlope: 1.1231636 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: -0.59872687 + inSlope: 1.097831 + outSlope: 1.097831 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + - _a: {x: 0.30705142, y: -0.47244644, z: -1.2836809} + _b: {x: 2.1927583, y: -0.10027468, z: -1.6408391} + _c: {x: -1.9056978, y: -0.15172406, z: 3.933126} + _d: {x: 5.281496, y: -0.23954879, z: 0.5882368} + _B: {x: 2.4998097, y: -0.5727211, z: -2.92452} + _C: {x: 3.3757982, y: -0.39127284, z: 4.521363} + _length: 7.1400375 + _cache: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: 0.13135089 + outSlope: 0.13135089 + tangentMode: 0 + - serializedVersion: 2 + time: 0.25377318 + value: 0.033333335 + inSlope: 0.14100567 + outSlope: 0.14100567 + tangentMode: 0 + - serializedVersion: 2 + time: 0.47502124 + value: 0.06666667 + inSlope: 0.15829584 + outSlope: 0.15829584 + tangentMode: 0 + - serializedVersion: 2 + time: 0.6759077 + value: 0.1 + inSlope: 0.16939524 + outSlope: 0.16939524 + tangentMode: 0 + - serializedVersion: 2 + time: 0.8687428 + value: 0.13333334 + inSlope: 0.17177477 + outSlope: 0.17177477 + tangentMode: 0 + - serializedVersion: 2 + time: 1.0640283 + value: 0.16666667 + inSlope: 0.16664061 + outSlope: 0.16664061 + tangentMode: 0 + - serializedVersion: 2 + time: 1.2690418 + value: 0.2 + inSlope: 0.15751496 + outSlope: 0.15751496 + tangentMode: 0 + - serializedVersion: 2 + time: 1.4877084 + value: 0.23333333 + inSlope: 0.14757006 + outSlope: 0.14757006 + tangentMode: 0 + - serializedVersion: 2 + time: 1.721297 + value: 0.26666668 + inSlope: 0.13857085 + outSlope: 0.13857085 + tangentMode: 0 + - serializedVersion: 2 + time: 1.969238 + value: 0.3 + inSlope: 0.13119343 + outSlope: 0.13119343 + tangentMode: 0 + - serializedVersion: 2 + time: 2.229764 + value: 0.33333334 + inSlope: 0.12557024 + outSlope: 0.12557024 + tangentMode: 0 + - serializedVersion: 2 + time: 2.5003395 + value: 0.36666667 + inSlope: 0.121635094 + outSlope: 0.121635094 + tangentMode: 0 + - serializedVersion: 2 + time: 2.7779415 + value: 0.4 + inSlope: 0.119286105 + outSlope: 0.119286105 + tangentMode: 0 + - serializedVersion: 2 + time: 3.0592444 + value: 0.43333334 + inSlope: 0.11845386 + outSlope: 0.11845386 + tangentMode: 0 + - serializedVersion: 2 + time: 3.3407485 + value: 0.46666667 + inSlope: 0.11912986 + outSlope: 0.11912986 + tangentMode: 0 + - serializedVersion: 2 + time: 3.6188781 + value: 0.5 + inSlope: 0.12138127 + outSlope: 0.12138127 + tangentMode: 0 + - serializedVersion: 2 + time: 3.89007 + value: 0.53333336 + inSlope: 0.12536295 + outSlope: 0.12536295 + tangentMode: 0 + - serializedVersion: 2 + time: 4.1508703 + value: 0.56666666 + inSlope: 0.13133049 + outSlope: 0.13133049 + tangentMode: 0 + - serializedVersion: 2 + time: 4.39806 + value: 0.6 + inSlope: 0.1396442 + outSlope: 0.1396442 + tangentMode: 0 + - serializedVersion: 2 + time: 4.6288376 + value: 0.6333333 + inSlope: 0.15072823 + outSlope: 0.15072823 + tangentMode: 0 + - serializedVersion: 2 + time: 4.8411283 + value: 0.6666667 + inSlope: 0.1648784 + outSlope: 0.1648784 + tangentMode: 0 + - serializedVersion: 2 + time: 5.034097 + value: 0.7 + inSlope: 0.18164328 + outSlope: 0.18164328 + tangentMode: 0 + - serializedVersion: 2 + time: 5.209032 + value: 0.73333335 + inSlope: 0.19839478 + outSlope: 0.19839478 + tangentMode: 0 + - serializedVersion: 2 + time: 5.370654 + value: 0.76666665 + inSlope: 0.20877993 + outSlope: 0.20877993 + tangentMode: 0 + - serializedVersion: 2 + time: 5.5283947 + value: 0.8 + inSlope: 0.2050955 + outSlope: 0.2050955 + tangentMode: 0 + - serializedVersion: 2 + time: 5.6960053 + value: 0.8333333 + inSlope: 0.18597308 + outSlope: 0.18597308 + tangentMode: 0 + - serializedVersion: 2 + time: 5.8886027 + value: 0.8666667 + inSlope: 0.15869728 + outSlope: 0.15869728 + tangentMode: 0 + - serializedVersion: 2 + time: 6.119568 + value: 0.9 + inSlope: 0.13167082 + outSlope: 0.13167082 + tangentMode: 0 + - serializedVersion: 2 + time: 6.3996334 + value: 0.93333334 + inSlope: 0.10885459 + outSlope: 0.10885459 + tangentMode: 0 + - serializedVersion: 2 + time: 6.7373934 + value: 0.96666664 + inSlope: 0.09073773 + outSlope: 0.09073773 + tangentMode: 0 + - serializedVersion: 2 + time: 7.1400375 + value: 1 + inSlope: 0.08278615 + outSlope: 0.08278615 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + _tangentCache: + xV: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0.800117 + inSlope: 2.7927516 + outSlope: 2.7927516 + tangentMode: 0 + - serializedVersion: 2 + time: 0.033333335 + value: 0.89320874 + inSlope: 2.520822 + outSlope: 2.520822 + tangentMode: 0 + - serializedVersion: 2 + time: 0.06666667 + value: 0.96817183 + inSlope: 1.5959607 + outSlope: 1.5959607 + tangentMode: 0 + - serializedVersion: 2 + time: 0.10000001 + value: 0.99960613 + inSlope: 0.11848736 + outSlope: 0.11848736 + tangentMode: 0 + - serializedVersion: 2 + time: 0.13333334 + value: 0.976071 + inSlope: -1.3185258 + outSlope: -1.3185258 + tangentMode: 0 + - serializedVersion: 2 + time: 0.16666667 + value: 0.9117044 + inSlope: -2.1666853 + outSlope: -2.1666853 + tangentMode: 0 + - serializedVersion: 2 + time: 0.20000002 + value: 0.8316253 + inSlope: -2.3629212 + outSlope: -2.3629212 + tangentMode: 0 + - serializedVersion: 2 + time: 0.23333335 + value: 0.7541763 + inSlope: -2.1609335 + outSlope: -2.1609335 + tangentMode: 0 + - serializedVersion: 2 + time: 0.26666668 + value: 0.68756306 + inSlope: -1.8059394 + outSlope: -1.8059394 + tangentMode: 0 + - serializedVersion: 2 + time: 0.3 + value: 0.63378036 + inSlope: -1.4297427 + outSlope: -1.4297427 + tangentMode: 0 + - serializedVersion: 2 + time: 0.33333334 + value: 0.5922469 + inSlope: -1.0813041 + outSlope: -1.0813041 + tangentMode: 0 + - serializedVersion: 2 + time: 0.36666667 + value: 0.56169343 + inSlope: -0.7696632 + outSlope: -0.7696632 + tangentMode: 0 + - serializedVersion: 2 + time: 0.40000004 + value: 0.540936 + inSlope: -0.48822528 + outSlope: -0.48822528 + tangentMode: 0 + - serializedVersion: 2 + time: 0.43333337 + value: 0.52914506 + inSlope: -0.22509636 + outSlope: -0.22509636 + tangentMode: 0 + - serializedVersion: 2 + time: 0.4666667 + value: 0.5259296 + inSlope: 0.033423077 + outSlope: 0.033423077 + tangentMode: 0 + - serializedVersion: 2 + time: 0.5 + value: 0.53137326 + inSlope: 0.30223656 + outSlope: 0.30223656 + tangentMode: 0 + - serializedVersion: 2 + time: 0.53333336 + value: 0.5460787 + inSlope: 0.59790146 + outSlope: 0.59790146 + tangentMode: 0 + - serializedVersion: 2 + time: 0.5666667 + value: 0.5712334 + inSlope: 0.9388869 + outSlope: 0.9388869 + tangentMode: 0 + - serializedVersion: 2 + time: 0.6 + value: 0.6086711 + inSlope: 1.3435192 + outSlope: 1.3435192 + tangentMode: 0 + - serializedVersion: 2 + time: 0.6333334 + value: 0.66080135 + inSlope: 1.8194733 + outSlope: 1.8194733 + tangentMode: 0 + - serializedVersion: 2 + time: 0.6666667 + value: 0.7299693 + inSlope: 2.3283226 + outSlope: 2.3283226 + tangentMode: 0 + - serializedVersion: 2 + time: 0.70000005 + value: 0.8160229 + inSlope: 2.69493 + outSlope: 2.69493 + tangentMode: 0 + - serializedVersion: 2 + time: 0.73333335 + value: 0.9096313 + inSlope: 2.4838986 + outSlope: 2.4838986 + tangentMode: 0 + - serializedVersion: 2 + time: 0.7666667 + value: 0.9816161 + inSlope: 1.1717837 + outSlope: 1.1717837 + tangentMode: 0 + - serializedVersion: 2 + time: 0.8000001 + value: 0.9877503 + inSlope: -1.0219004 + outSlope: -1.0219004 + tangentMode: 0 + - serializedVersion: 2 + time: 0.8333334 + value: 0.91348946 + inSlope: -2.8758328 + outSlope: -2.8758328 + tangentMode: 0 + - serializedVersion: 2 + time: 0.86666673 + value: 0.7960281 + inSlope: -3.5327396 + outSlope: -3.5327396 + tangentMode: 0 + - serializedVersion: 2 + time: 0.90000004 + value: 0.6779735 + inSlope: -3.2709355 + outSlope: -3.2709355 + tangentMode: 0 + - serializedVersion: 2 + time: 0.9333334 + value: 0.57796574 + inSlope: -2.6952338 + outSlope: -2.6952338 + tangentMode: 0 + - serializedVersion: 2 + time: 0.9666667 + value: 0.49829125 + inSlope: -2.132859 + outSlope: -2.132859 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 0.43577528 + inSlope: -1.875481 + outSlope: -1.875481 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + yV: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: -0.0365893 + inSlope: 0.057156753 + outSlope: 0.057156753 + tangentMode: 0 + - serializedVersion: 2 + time: 0.033333335 + value: -0.034684073 + inSlope: 0.08976048 + outSlope: 0.08976048 + tangentMode: 0 + - serializedVersion: 2 + time: 0.06666667 + value: -0.030605266 + inSlope: 0.15905392 + outSlope: 0.15905392 + tangentMode: 0 + - serializedVersion: 2 + time: 0.10000001 + value: -0.024080478 + inSlope: 0.22053044 + outSlope: 0.22053044 + tangentMode: 0 + - serializedVersion: 2 + time: 0.13333334 + value: -0.015903236 + inSlope: 0.24829757 + outSlope: 0.24829757 + tangentMode: 0 + - serializedVersion: 2 + time: 0.16666667 + value: -0.0075273067 + inSlope: 0.23824106 + outSlope: 0.23824106 + tangentMode: 0 + - serializedVersion: 2 + time: 0.20000002 + value: -0.000020495976 + inSlope: 0.20733184 + outSlope: 0.20733184 + tangentMode: 0 + - serializedVersion: 2 + time: 0.23333335 + value: 0.0062948177 + inSlope: 0.17349166 + outSlope: 0.17349166 + tangentMode: 0 + - serializedVersion: 2 + time: 0.26666668 + value: 0.011545613 + inSlope: 0.1454948 + outSlope: 0.1454948 + tangentMode: 0 + - serializedVersion: 2 + time: 0.3 + value: 0.01599447 + inSlope: 0.12527537 + outSlope: 0.12527537 + tangentMode: 0 + - serializedVersion: 2 + time: 0.33333334 + value: 0.019897304 + inSlope: 0.11209659 + outSlope: 0.11209659 + tangentMode: 0 + - serializedVersion: 2 + time: 0.36666667 + value: 0.023467576 + inSlope: 0.10474193 + outSlope: 0.10474193 + tangentMode: 0 + - serializedVersion: 2 + time: 0.40000004 + value: 0.026880102 + inSlope: 0.102258705 + outSlope: 0.102258705 + tangentMode: 0 + - serializedVersion: 2 + time: 0.43333337 + value: 0.030284826 + inSlope: 0.104120985 + outSlope: 0.104120985 + tangentMode: 0 + - serializedVersion: 2 + time: 0.4666667 + value: 0.0338215 + inSlope: 0.11023036 + outSlope: 0.11023036 + tangentMode: 0 + - serializedVersion: 2 + time: 0.5 + value: 0.037633512 + inSlope: 0.120897666 + outSlope: 0.120897666 + tangentMode: 0 + - serializedVersion: 2 + time: 0.53333336 + value: 0.041881345 + inSlope: 0.13683194 + outSlope: 0.13683194 + tangentMode: 0 + - serializedVersion: 2 + time: 0.5666667 + value: 0.04675565 + inSlope: 0.15908508 + outSlope: 0.15908508 + tangentMode: 0 + - serializedVersion: 2 + time: 0.6 + value: 0.052487016 + inSlope: 0.18875319 + outSlope: 0.18875319 + tangentMode: 0 + - serializedVersion: 2 + time: 0.6333334 + value: 0.059339195 + inSlope: 0.22582358 + outSlope: 0.22582358 + tangentMode: 0 + - serializedVersion: 2 + time: 0.6666667 + value: 0.06754192 + inSlope: 0.2655435 + outSlope: 0.2655435 + tangentMode: 0 + - serializedVersion: 2 + time: 0.70000005 + value: 0.077042095 + inSlope: 0.28944156 + outSlope: 0.28944156 + tangentMode: 0 + - serializedVersion: 2 + time: 0.73333335 + value: 0.08683802 + inSlope: 0.25370976 + outSlope: 0.25370976 + tangentMode: 0 + - serializedVersion: 2 + time: 0.7666667 + value: 0.093956076 + inSlope: 0.108024426 + outSlope: 0.108024426 + tangentMode: 0 + - serializedVersion: 2 + time: 0.8000001 + value: 0.094039656 + inSlope: -0.1214682 + outSlope: -0.1214682 + tangentMode: 0 + - serializedVersion: 2 + time: 0.8333334 + value: 0.0858582 + inSlope: -0.31054947 + outSlope: -0.31054947 + tangentMode: 0 + - serializedVersion: 2 + time: 0.86666673 + value: 0.073336355 + inSlope: -0.37576878 + outSlope: -0.37576878 + tangentMode: 0 + - serializedVersion: 2 + time: 0.90000004 + value: 0.060806952 + inSlope: -0.34801918 + outSlope: -0.34801918 + tangentMode: 0 + - serializedVersion: 2 + time: 0.9333334 + value: 0.05013508 + inSlope: -0.2890175 + outSlope: -0.2890175 + tangentMode: 0 + - serializedVersion: 2 + time: 0.9666667 + value: 0.041539118 + inSlope: -0.23160607 + outSlope: -0.23160607 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 0.03469469 + inSlope: -0.20533302 + outSlope: -0.20533302 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + zV: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: -0.59872687 + inSlope: 4.5127316 + outSlope: 4.5127316 + tangentMode: 0 + - serializedVersion: 2 + time: 0.033333335 + value: -0.44830248 + inSlope: 5.25478 + outSlope: 5.25478 + tangentMode: 0 + - serializedVersion: 2 + time: 0.06666667 + value: -0.24840818 + inSlope: 6.5083866 + outSlope: 6.5083866 + tangentMode: 0 + - serializedVersion: 2 + time: 0.10000001 + value: -0.0144099835 + inSlope: 6.979169 + outSlope: 6.979169 + tangentMode: 0 + - serializedVersion: 2 + time: 0.13333334 + value: 0.21686979 + inSlope: 6.377816 + outSlope: 6.377816 + tangentMode: 0 + - serializedVersion: 2 + time: 0.16666667 + value: 0.41077772 + inSlope: 5.07701 + outSlope: 5.07701 + tangentMode: 0 + - serializedVersion: 2 + time: 0.20000002 + value: 0.5553372 + inSlope: 3.6879601 + outSlope: 3.6879601 + tangentMode: 0 + - serializedVersion: 2 + time: 0.23333335 + value: 0.6566418 + inSlope: 2.560435 + outSlope: 2.560435 + tangentMode: 0 + - serializedVersion: 2 + time: 0.26666668 + value: 0.72603285 + inSlope: 1.7505885 + outSlope: 1.7505885 + tangentMode: 0 + - serializedVersion: 2 + time: 0.3 + value: 0.7733477 + inSlope: 1.1921705 + outSlope: 1.1921705 + tangentMode: 0 + - serializedVersion: 2 + time: 0.33333334 + value: 0.8055109 + inSlope: 0.804973 + outSlope: 0.804973 + tangentMode: 0 + - serializedVersion: 2 + time: 0.36666667 + value: 0.82701254 + inSlope: 0.5268483 + outSlope: 0.5268483 + tangentMode: 0 + - serializedVersion: 2 + time: 0.40000004 + value: 0.8406341 + inSlope: 0.31467214 + outSlope: 0.31467214 + tangentMode: 0 + - serializedVersion: 2 + time: 0.43333337 + value: 0.8479907 + inSlope: 0.13831885 + outSlope: 0.13831885 + tangentMode: 0 + - serializedVersion: 2 + time: 0.4666667 + value: 0.84985536 + inSlope: -0.025338879 + outSlope: -0.025338879 + tangentMode: 0 + - serializedVersion: 2 + time: 0.5 + value: 0.84630144 + inSlope: -0.1975348 + outSlope: -0.1975348 + tangentMode: 0 + - serializedVersion: 2 + time: 0.53333336 + value: 0.8366864 + inSlope: -0.4026976 + outSlope: -0.4026976 + tangentMode: 0 + - serializedVersion: 2 + time: 0.5666667 + value: 0.8194549 + inSlope: -0.67502546 + outSlope: -0.67502546 + tangentMode: 0 + - serializedVersion: 2 + time: 0.6 + value: 0.7916847 + inSlope: -1.068651 + outSlope: -1.068651 + tangentMode: 0 + - serializedVersion: 2 + time: 0.6333334 + value: 0.7482115 + inSlope: -1.6732537 + outSlope: -1.6732537 + tangentMode: 0 + - serializedVersion: 2 + time: 0.6666667 + value: 0.6801345 + inSlope: -2.630238 + outSlope: -2.630238 + tangentMode: 0 + - serializedVersion: 2 + time: 0.70000005 + value: 0.57286227 + inSlope: -4.108433 + outSlope: -4.108433 + tangentMode: 0 + - serializedVersion: 2 + time: 0.73333335 + value: 0.406239 + inSlope: -6.10085 + outSlope: -6.10085 + tangentMode: 0 + - serializedVersion: 2 + time: 0.7666667 + value: 0.16613886 + inSlope: -7.9614143 + outSlope: -7.9614143 + tangentMode: 0 + - serializedVersion: 2 + time: 0.8000001 + value: -0.12452242 + inSlope: -8.457584 + outSlope: -8.457584 + tangentMode: 0 + - serializedVersion: 2 + time: 0.8333334 + value: -0.39770013 + inSlope: -7.1441708 + outSlope: -7.1441708 + tangentMode: 0 + - serializedVersion: 2 + time: 0.86666673 + value: -0.6008004 + inSlope: -5.0230017 + outSlope: -5.0230017 + tangentMode: 0 + - serializedVersion: 2 + time: 0.90000004 + value: -0.73256695 + inSlope: -3.2057886 + outSlope: -3.2057886 + tangentMode: 0 + - serializedVersion: 2 + time: 0.9333334 + value: -0.8145196 + inSlope: -2.0017064 + outSlope: -2.0017064 + tangentMode: 0 + - serializedVersion: 2 + time: 0.9666667 + value: -0.86601406 + inSlope: -1.2730052 + outSlope: -1.2730052 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: -0.8993865 + inSlope: -1.0011748 + outSlope: -1.0011748 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + - _a: {x: 5.281496, y: -0.23954879, z: 0.5882368} + _b: {x: 1.9056978, y: 0.15172406, z: -3.933126} + _c: {x: 1.996146, y: 0.020092279, z: 2.5475483} + _d: {x: 4.729332, y: 0, z: -5.651832} + _B: {x: 7.187194, y: -0.08782473, z: -3.3448892} + _C: {x: 6.725478, y: 0.020092279, z: -3.1042838} + _length: 7.0409284 + _cache: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: 0.07906352 + outSlope: 0.07906352 + tangentMode: 0 + - serializedVersion: 2 + time: 0.42160198 + value: 0.033333335 + inSlope: 0.08213803 + outSlope: 0.08213803 + tangentMode: 0 + - serializedVersion: 2 + time: 0.8127807 + value: 0.06666667 + inSlope: 0.08861421 + outSlope: 0.08861421 + tangentMode: 0 + - serializedVersion: 2 + time: 1.175037 + value: 0.1 + inSlope: 0.095779985 + outSlope: 0.095779985 + tangentMode: 0 + - serializedVersion: 2 + time: 1.509897 + value: 0.13333334 + inSlope: 0.10370672 + outSlope: 0.10370672 + tangentMode: 0 + - serializedVersion: 2 + time: 1.8189129 + value: 0.16666667 + inSlope: 0.11246179 + outSlope: 0.11246179 + tangentMode: 0 + - serializedVersion: 2 + time: 2.103681 + value: 0.2 + inSlope: 0.12209909 + outSlope: 0.12209909 + tangentMode: 0 + - serializedVersion: 2 + time: 2.3658512 + value: 0.23333333 + inSlope: 0.13264309 + outSlope: 0.13264309 + tangentMode: 0 + - serializedVersion: 2 + time: 2.6071484 + value: 0.26666668 + inSlope: 0.14406441 + outSlope: 0.14406441 + tangentMode: 0 + - serializedVersion: 2 + time: 2.8293905 + value: 0.3 + inSlope: 0.15624452 + outSlope: 0.15624452 + tangentMode: 0 + - serializedVersion: 2 + time: 3.0345156 + value: 0.33333334 + inSlope: 0.16892934 + outSlope: 0.16892934 + tangentMode: 0 + - serializedVersion: 2 + time: 3.2246048 + value: 0.36666667 + inSlope: 0.18168278 + outSlope: 0.18168278 + tangentMode: 0 + - serializedVersion: 2 + time: 3.401901 + value: 0.4 + inSlope: 0.19385535 + outSlope: 0.19385535 + tangentMode: 0 + - serializedVersion: 2 + time: 3.568817 + value: 0.43333334 + inSlope: 0.20460373 + outSlope: 0.20460373 + tangentMode: 0 + - serializedVersion: 2 + time: 3.7279212 + value: 0.46666667 + inSlope: 0.21299873 + outSlope: 0.21299873 + tangentMode: 0 + - serializedVersion: 2 + time: 3.881892 + value: 0.5 + inSlope: 0.2182194 + outSlope: 0.2182194 + tangentMode: 0 + - serializedVersion: 2 + time: 4.0334435 + value: 0.53333336 + inSlope: 0.21977709 + outSlope: 0.21977709 + tangentMode: 0 + - serializedVersion: 2 + time: 4.18523 + value: 0.56666666 + inSlope: 0.21765968 + outSlope: 0.21765968 + tangentMode: 0 + - serializedVersion: 2 + time: 4.3397565 + value: 0.6 + inSlope: 0.21231374 + outSlope: 0.21231374 + tangentMode: 0 + - serializedVersion: 2 + time: 4.499311 + value: 0.6333333 + inSlope: 0.20448394 + outSlope: 0.20448394 + tangentMode: 0 + - serializedVersion: 2 + time: 4.6659336 + value: 0.6666667 + inSlope: 0.1950002 + outSlope: 0.1950002 + tangentMode: 0 + - serializedVersion: 2 + time: 4.8414207 + value: 0.7 + inSlope: 0.1846115 + outSlope: 0.1846115 + tangentMode: 0 + - serializedVersion: 2 + time: 5.0273542 + value: 0.73333335 + inSlope: 0.17390314 + outSlope: 0.17390314 + tangentMode: 0 + - serializedVersion: 2 + time: 5.225142 + value: 0.76666665 + inSlope: 0.16328506 + outSlope: 0.16328506 + tangentMode: 0 + - serializedVersion: 2 + time: 5.43606 + value: 0.8 + inSlope: 0.15301724 + outSlope: 0.15301724 + tangentMode: 0 + - serializedVersion: 2 + time: 5.6612926 + value: 0.8333333 + inSlope: 0.14324725 + outSlope: 0.14324725 + tangentMode: 0 + - serializedVersion: 2 + time: 5.9019675 + value: 0.8666667 + inSlope: 0.13404727 + outSlope: 0.13404727 + tangentMode: 0 + - serializedVersion: 2 + time: 6.1591787 + value: 0.9 + inSlope: 0.1254399 + outSlope: 0.1254399 + tangentMode: 0 + - serializedVersion: 2 + time: 6.4340143 + value: 0.93333334 + inSlope: 0.11741911 + outSlope: 0.11741911 + tangentMode: 0 + - serializedVersion: 2 + time: 6.7275615 + value: 0.96666664 + inSlope: 0.10996258 + outSlope: 0.10996258 + tangentMode: 0 + - serializedVersion: 2 + time: 7.0409284 + value: 1 + inSlope: 0.10637168 + outSlope: 0.10637168 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + _tangentCache: + xV: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0.43577528 + inSlope: -0.15563874 + outSlope: -0.15563874 + tangentMode: 0 + - serializedVersion: 2 + time: 0.033333335 + value: 0.43058732 + inSlope: -0.18648995 + outSlope: -0.18648995 + tangentMode: 0 + - serializedVersion: 2 + time: 0.06666667 + value: 0.42334262 + inSlope: -0.25498775 + outSlope: -0.25498775 + tangentMode: 0 + - serializedVersion: 2 + time: 0.10000001 + value: 0.41358814 + inSlope: -0.3385797 + outSlope: -0.3385797 + tangentMode: 0 + - serializedVersion: 2 + time: 0.13333334 + value: 0.40077063 + inSlope: -0.44053498 + outSlope: -0.44053498 + tangentMode: 0 + - serializedVersion: 2 + time: 0.16666667 + value: 0.38421914 + inSlope: -0.5646353 + outSlope: -0.5646353 + tangentMode: 0 + - serializedVersion: 2 + time: 0.20000002 + value: 0.36312827 + inSlope: -0.71502095 + outSlope: -0.71502095 + tangentMode: 0 + - serializedVersion: 2 + time: 0.23333335 + value: 0.33655107 + inSlope: -0.8957528 + outSlope: -0.8957528 + tangentMode: 0 + - serializedVersion: 2 + time: 0.26666668 + value: 0.30341142 + inSlope: -1.1098932 + outSlope: -1.1098932 + tangentMode: 0 + - serializedVersion: 2 + time: 0.3 + value: 0.2625582 + inSlope: -1.35781 + outSlope: -1.35781 + tangentMode: 0 + - serializedVersion: 2 + time: 0.33333334 + value: 0.21289076 + inSlope: -1.6345443 + outSlope: -1.6345443 + tangentMode: 0 + - serializedVersion: 2 + time: 0.36666667 + value: 0.15358858 + inSlope: -1.9264474 + outSlope: -1.9264474 + tangentMode: 0 + - serializedVersion: 2 + time: 0.40000004 + value: 0.08446088 + inSlope: -2.2083123 + outSlope: -2.2083123 + tangentMode: 0 + - serializedVersion: 2 + time: 0.43333337 + value: 0.0063677165 + inSlope: -2.4436169 + outSlope: -2.4436169 + tangentMode: 0 + - serializedVersion: 2 + time: 0.4666667 + value: -0.078446895 + inSlope: -2.5909371 + outSlope: -2.5909371 + tangentMode: 0 + - serializedVersion: 2 + time: 0.5 + value: -0.16636133 + inSlope: -2.6168785 + outSlope: -2.6168785 + tangentMode: 0 + - serializedVersion: 2 + time: 0.53333336 + value: -0.25290546 + inSlope: -2.5101235 + outSlope: -2.5101235 + tangentMode: 0 + - serializedVersion: 2 + time: 0.5666667 + value: -0.33370304 + inSlope: -2.2874746 + outSlope: -2.2874746 + tangentMode: 0 + - serializedVersion: 2 + time: 0.6 + value: -0.40540376 + inSlope: -1.9870298 + outSlope: -1.9870298 + tangentMode: 0 + - serializedVersion: 2 + time: 0.6333334 + value: -0.46617168 + inSlope: -1.6531961 + outSlope: -1.6531961 + tangentMode: 0 + - serializedVersion: 2 + time: 0.6666667 + value: -0.51561683 + inSlope: -1.3231313 + outSlope: -1.3231313 + tangentMode: 0 + - serializedVersion: 2 + time: 0.70000005 + value: -0.5543804 + inSlope: -1.0205464 + outSlope: -1.0205464 + tangentMode: 0 + - serializedVersion: 2 + time: 0.73333335 + value: -0.5836533 + inSlope: -0.7563554 + outSlope: -0.7563554 + tangentMode: 0 + - serializedVersion: 2 + time: 0.7666667 + value: -0.6048041 + inSlope: -0.5325495 + outSlope: -0.5325495 + tangentMode: 0 + - serializedVersion: 2 + time: 0.8000001 + value: -0.6191566 + inSlope: -0.34622663 + outSlope: -0.34622663 + tangentMode: 0 + - serializedVersion: 2 + time: 0.8333334 + value: -0.6278859 + inSlope: -0.1925165 + outSlope: -0.1925165 + tangentMode: 0 + - serializedVersion: 2 + time: 0.86666673 + value: -0.631991 + inSlope: -0.066247836 + outSlope: -0.066247836 + tangentMode: 0 + - serializedVersion: 2 + time: 0.90000004 + value: -0.6323024 + inSlope: 0.037279986 + outSlope: 0.037279986 + tangentMode: 0 + - serializedVersion: 2 + time: 0.9333334 + value: -0.6295057 + inSlope: 0.12202357 + outSlope: 0.12202357 + tangentMode: 0 + - serializedVersion: 2 + time: 0.9666667 + value: -0.6241675 + inSlope: 0.19120592 + outSlope: 0.19120592 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: -0.61675864 + inSlope: 0.22226593 + outSlope: 0.22226593 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + yV: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0.03469469 + inSlope: 0.057617646 + outSlope: 0.057617646 + tangentMode: 0 + - serializedVersion: 2 + time: 0.033333335 + value: 0.03661528 + inSlope: 0.059347335 + outSlope: 0.059347335 + tangentMode: 0 + - serializedVersion: 2 + time: 0.06666667 + value: 0.03865118 + inSlope: 0.06282465 + outSlope: 0.06282465 + tangentMode: 0 + - serializedVersion: 2 + time: 0.10000001 + value: 0.04080359 + inSlope: 0.066272914 + outSlope: 0.066272914 + tangentMode: 0 + - serializedVersion: 2 + time: 0.13333334 + value: 0.043069374 + inSlope: 0.06952275 + outSlope: 0.06952275 + tangentMode: 0 + - serializedVersion: 2 + time: 0.16666667 + value: 0.04543844 + inSlope: 0.07230726 + outSlope: 0.07230726 + tangentMode: 0 + - serializedVersion: 2 + time: 0.20000002 + value: 0.04788986 + inSlope: 0.074219786 + outSlope: 0.074219786 + tangentMode: 0 + - serializedVersion: 2 + time: 0.23333335 + value: 0.050386425 + inSlope: 0.074659914 + outSlope: 0.074659914 + tangentMode: 0 + - serializedVersion: 2 + time: 0.26666668 + value: 0.052867185 + inSlope: 0.07277924 + outSlope: 0.07277924 + tangentMode: 0 + - serializedVersion: 2 + time: 0.3 + value: 0.055238374 + inSlope: 0.067451864 + outSlope: 0.067451864 + tangentMode: 0 + - serializedVersion: 2 + time: 0.33333334 + value: 0.057363976 + inSlope: 0.057321385 + outSlope: 0.057321385 + tangentMode: 0 + - serializedVersion: 2 + time: 0.36666667 + value: 0.0590598 + inSlope: 0.041011468 + outSlope: 0.041011468 + tangentMode: 0 + - serializedVersion: 2 + time: 0.40000004 + value: 0.060098074 + inSlope: 0.017578123 + outSlope: 0.017578123 + tangentMode: 0 + - serializedVersion: 2 + time: 0.43333337 + value: 0.060231674 + inSlope: -0.0128160985 + outSlope: -0.0128160985 + tangentMode: 0 + - serializedVersion: 2 + time: 0.4666667 + value: 0.059243668 + inSlope: -0.048272084 + outSlope: -0.048272084 + tangentMode: 0 + - serializedVersion: 2 + time: 0.5 + value: 0.057013538 + inSlope: -0.085077815 + outSlope: -0.085077815 + tangentMode: 0 + - serializedVersion: 2 + time: 0.53333336 + value: 0.053571813 + inSlope: -0.11856493 + outSlope: -0.11856493 + tangentMode: 0 + - serializedVersion: 2 + time: 0.5666667 + value: 0.049109202 + inSlope: -0.1446434 + outSlope: -0.1446434 + tangentMode: 0 + - serializedVersion: 2 + time: 0.6 + value: 0.04392892 + inSlope: -0.16112527 + outSlope: -0.16112527 + tangentMode: 0 + - serializedVersion: 2 + time: 0.6333334 + value: 0.038367517 + inSlope: -0.16806465 + outSlope: -0.16806465 + tangentMode: 0 + - serializedVersion: 2 + time: 0.6666667 + value: 0.03272461 + inSlope: -0.16713206 + outSlope: -0.16713206 + tangentMode: 0 + - serializedVersion: 2 + time: 0.70000005 + value: 0.02722538 + inSlope: -0.16063851 + outSlope: -0.16063851 + tangentMode: 0 + - serializedVersion: 2 + time: 0.73333335 + value: 0.022015378 + inSlope: -0.1507726 + outSlope: -0.1507726 + tangentMode: 0 + - serializedVersion: 2 + time: 0.7666667 + value: 0.017173875 + inSlope: -0.13923612 + outSlope: -0.13923612 + tangentMode: 0 + - serializedVersion: 2 + time: 0.8000001 + value: 0.012732962 + inSlope: -0.12718855 + outSlope: -0.12718855 + tangentMode: 0 + - serializedVersion: 2 + time: 0.8333334 + value: 0.0086946385 + inSlope: -0.11534042 + outSlope: -0.11534042 + tangentMode: 0 + - serializedVersion: 2 + time: 0.86666673 + value: 0.0050436016 + inSlope: -0.104083255 + outSlope: -0.104083255 + tangentMode: 0 + - serializedVersion: 2 + time: 0.90000004 + value: 0.0017557548 + inSlope: -0.093603924 + outSlope: -0.093603924 + tangentMode: 0 + - serializedVersion: 2 + time: 0.9333334 + value: -0.001196659 + inSlope: -0.083967224 + outSlope: -0.083967224 + tangentMode: 0 + - serializedVersion: 2 + time: 0.9666667 + value: -0.00384206 + inSlope: -0.07517026 + outSlope: -0.07517026 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: -0.0062080054 + inSlope: -0.070978425 + outSlope: -0.070978425 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + zV: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: -0.8993865 + inSlope: -0.07258057 + outSlope: -0.07258057 + tangentMode: 0 + - serializedVersion: 2 + time: 0.033333335 + value: -0.9018059 + inSlope: -0.08637338 + outSlope: -0.08637338 + tangentMode: 0 + - serializedVersion: 2 + time: 0.06666667 + value: -0.90514475 + inSlope: -0.11615215 + outSlope: -0.11615215 + tangentMode: 0 + - serializedVersion: 2 + time: 0.10000001 + value: -0.90954936 + inSlope: -0.15031189 + outSlope: -0.15031189 + tangentMode: 0 + - serializedVersion: 2 + time: 0.13333334 + value: -0.91516554 + inSlope: -0.1886058 + outSlope: -0.1886058 + tangentMode: 0 + - serializedVersion: 2 + time: 0.16666667 + value: -0.9221231 + inSlope: -0.23012993 + outSlope: -0.23012993 + tangentMode: 0 + - serializedVersion: 2 + time: 0.20000002 + value: -0.93050754 + inSlope: -0.27289686 + outSlope: -0.27289686 + tangentMode: 0 + - serializedVersion: 2 + time: 0.23333335 + value: -0.9403162 + inSlope: -0.31326506 + outSlope: -0.31326506 + tangentMode: 0 + - serializedVersion: 2 + time: 0.26666668 + value: -0.9513919 + inSlope: -0.3452638 + outSlope: -0.3452638 + tangentMode: 0 + - serializedVersion: 2 + time: 0.3 + value: -0.9633338 + inSlope: -0.3599811 + outSlope: -0.3599811 + tangentMode: 0 + - serializedVersion: 2 + time: 0.33333334 + value: -0.9753906 + inSlope: -0.34551862 + outSlope: -0.34551862 + tangentMode: 0 + - serializedVersion: 2 + time: 0.36666667 + value: -0.98636836 + inSlope: -0.28833202 + outSlope: -0.28833202 + tangentMode: 0 + - serializedVersion: 2 + time: 0.40000004 + value: -0.99461275 + inSlope: -0.17693628 + outSlope: -0.17693628 + tangentMode: 0 + - serializedVersion: 2 + time: 0.43333337 + value: -0.9981641 + inSlope: -0.008153915 + outSlope: -0.008153915 + tangentMode: 0 + - serializedVersion: 2 + time: 0.4666667 + value: -0.99515635 + inSlope: 0.20623252 + outSlope: 0.20623252 + tangentMode: 0 + - serializedVersion: 2 + time: 0.5 + value: -0.9844153 + inSlope: 0.43724558 + outSlope: 0.43724558 + tangentMode: 0 + - serializedVersion: 2 + time: 0.53333336 + value: -0.96600664 + inSlope: 0.6452558 + outSlope: 0.6452558 + tangentMode: 0 + - serializedVersion: 2 + time: 0.5666667 + value: -0.9413982 + inSlope: 0.7938759 + outSlope: 0.7938759 + tangentMode: 0 + - serializedVersion: 2 + time: 0.6 + value: -0.9130816 + inSlope: 0.8630446 + outSlope: 0.8630446 + tangentMode: 0 + - serializedVersion: 2 + time: 0.6333334 + value: -0.8838619 + inSlope: 0.8533126 + outSlope: 0.8533126 + tangentMode: 0 + - serializedVersion: 2 + time: 0.6666667 + value: -0.8561941 + inSlope: 0.7806597 + outSlope: 0.7806597 + tangentMode: 0 + - serializedVersion: 2 + time: 0.70000005 + value: -0.8318179 + inSlope: 0.66734433 + outSlope: 0.66734433 + tangentMode: 0 + - serializedVersion: 2 + time: 0.73333335 + value: -0.81170446 + inSlope: 0.53443384 + outSlope: 0.53443384 + tangentMode: 0 + - serializedVersion: 2 + time: 0.7666667 + value: -0.796189 + inSlope: 0.39810207 + outSlope: 0.39810207 + tangentMode: 0 + - serializedVersion: 2 + time: 0.8000001 + value: -0.7851643 + inSlope: 0.2689835 + outSlope: 0.2689835 + tangentMode: 0 + - serializedVersion: 2 + time: 0.8333334 + value: -0.7782568 + inSlope: 0.15307552 + outSlope: 0.15307552 + tangentMode: 0 + - serializedVersion: 2 + time: 0.86666673 + value: -0.77495927 + inSlope: 0.053055845 + outSlope: 0.053055845 + tangentMode: 0 + - serializedVersion: 2 + time: 0.90000004 + value: -0.7747197 + inSlope: -0.030535128 + outSlope: -0.030535128 + tangentMode: 0 + - serializedVersion: 2 + time: 0.9333334 + value: -0.77699494 + inSlope: -0.09842101 + outSlope: -0.09842101 + tangentMode: 0 + - serializedVersion: 2 + time: 0.9666667 + value: -0.7812811 + inSlope: -0.15199468 + outSlope: -0.15199468 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: -0.7871279 + inSlope: -0.17540412 + outSlope: -0.17540412 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + - _a: {x: 4.729332, y: 0, z: -5.651832} + _b: {x: -0.58776283, y: 0.06697426, z: -3.6636128} + _c: {x: 3.720664, y: -0.069215, z: 1.3506608} + _d: {x: -3.6853518, y: -0.4868201, z: -6.463721} + _B: {x: 4.141569, y: 0.06697426, z: -9.315445} + _C: {x: 0.035312176, y: -0.5560351, z: -5.11306} + _length: 9.466221 + _cache: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: 0.0958249 + outSlope: 0.0958249 + tangentMode: 0 + - serializedVersion: 2 + time: 0.34785673 + value: 0.033333335 + inSlope: 0.10243988 + outSlope: 0.10243988 + tangentMode: 0 + - serializedVersion: 2 + time: 0.6535133 + value: 0.06666667 + inSlope: 0.11619505 + outSlope: 0.11619505 + tangentMode: 0 + - serializedVersion: 2 + time: 0.92377937 + value: 0.1 + inSlope: 0.13033609 + outSlope: 0.13033609 + tangentMode: 0 + - serializedVersion: 2 + time: 1.1664915 + value: 0.13333334 + inSlope: 0.14311047 + outSlope: 0.14311047 + tangentMode: 0 + - serializedVersion: 2 + time: 1.3903794 + value: 0.16666667 + inSlope: 0.15226883 + outSlope: 0.15226883 + tangentMode: 0 + - serializedVersion: 2 + time: 1.6045301 + value: 0.2 + inSlope: 0.15610293 + outSlope: 0.15610293 + tangentMode: 0 + - serializedVersion: 2 + time: 1.8174516 + value: 0.23333333 + inSlope: 0.15448144 + outSlope: 0.15448144 + tangentMode: 0 + - serializedVersion: 2 + time: 2.036159 + value: 0.26666668 + inSlope: 0.14881104 + outSlope: 0.14881104 + tangentMode: 0 + - serializedVersion: 2 + time: 2.2657094 + value: 0.3 + inSlope: 0.14103872 + outSlope: 0.14103872 + tangentMode: 0 + - serializedVersion: 2 + time: 2.5092566 + value: 0.33333334 + inSlope: 0.13274777 + outSlope: 0.13274777 + tangentMode: 0 + - serializedVersion: 2 + time: 2.7683988 + value: 0.36666667 + inSlope: 0.12487942 + outSlope: 0.12487942 + tangentMode: 0 + - serializedVersion: 2 + time: 3.0435867 + value: 0.4 + inSlope: 0.117862105 + outSlope: 0.117862105 + tangentMode: 0 + - serializedVersion: 2 + time: 3.3344665 + value: 0.43333334 + inSlope: 0.11182277 + outSlope: 0.11182277 + tangentMode: 0 + - serializedVersion: 2 + time: 3.6401348 + value: 0.46666667 + inSlope: 0.10673992 + outSlope: 0.10673992 + tangentMode: 0 + - serializedVersion: 2 + time: 3.9593303 + value: 0.5 + inSlope: 0.102530636 + outSlope: 0.102530636 + tangentMode: 0 + - serializedVersion: 2 + time: 4.2905703 + value: 0.53333336 + inSlope: 0.09909538 + outSlope: 0.09909538 + tangentMode: 0 + - serializedVersion: 2 + time: 4.6322446 + value: 0.56666666 + inSlope: 0.09633677 + outSlope: 0.09633677 + tangentMode: 0 + - serializedVersion: 2 + time: 4.9826984 + value: 0.6 + inSlope: 0.09416535 + outSlope: 0.09416535 + tangentMode: 0 + - serializedVersion: 2 + time: 5.340291 + value: 0.6333333 + inSlope: 0.09250063 + outSlope: 0.09250063 + tangentMode: 0 + - serializedVersion: 2 + time: 5.7034574 + value: 0.6666667 + inSlope: 0.091268755 + outSlope: 0.091268755 + tangentMode: 0 + - serializedVersion: 2 + time: 6.070758 + value: 0.7 + inSlope: 0.09039922 + outSlope: 0.09039922 + tangentMode: 0 + - serializedVersion: 2 + time: 6.440938 + value: 0.73333335 + inSlope: 0.089820504 + outSlope: 0.089820504 + tangentMode: 0 + - serializedVersion: 2 + time: 6.8129835 + value: 0.76666665 + inSlope: 0.08945568 + outSlope: 0.08945568 + tangentMode: 0 + - serializedVersion: 2 + time: 7.1861877 + value: 0.8 + inSlope: 0.089218155 + outSlope: 0.089218155 + tangentMode: 0 + - serializedVersion: 2 + time: 7.5602164 + value: 0.8333333 + inSlope: 0.08900786 + outSlope: 0.08900786 + tangentMode: 0 + - serializedVersion: 2 + time: 7.9351864 + value: 0.8666667 + inSlope: 0.08871031 + outSlope: 0.08871031 + tangentMode: 0 + - serializedVersion: 2 + time: 8.311729 + value: 0.9 + inSlope: 0.08819836 + outSlope: 0.08819836 + tangentMode: 0 + - serializedVersion: 2 + time: 8.691069 + value: 0.93333334 + inSlope: 0.08733981 + outSlope: 0.08733981 + tangentMode: 0 + - serializedVersion: 2 + time: 9.07506 + value: 0.96666664 + inSlope: 0.08601197 + outSlope: 0.08601197 + tangentMode: 0 + - serializedVersion: 2 + time: 9.466221 + value: 1 + inSlope: 0.085216485 + outSlope: 0.085216485 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + _tangentCache: + xV: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: -0.15838113 + inSlope: -2.779456 + outSlope: -2.779456 + tangentMode: 0 + - serializedVersion: 2 + time: 0.033333335 + value: -0.25102967 + inSlope: -3.058492 + outSlope: -3.058492 + tangentMode: 0 + - serializedVersion: 2 + time: 0.06666667 + value: -0.3622806 + inSlope: -3.591453 + outSlope: -3.591453 + tangentMode: 0 + - serializedVersion: 2 + time: 0.10000001 + value: -0.4904599 + inSlope: -3.979774 + outSlope: -3.979774 + tangentMode: 0 + - serializedVersion: 2 + time: 0.13333334 + value: -0.6275989 + inSlope: -4.01929 + outSlope: -4.01929 + tangentMode: 0 + - serializedVersion: 2 + time: 0.16666667 + value: -0.75841254 + inSlope: -3.5660472 + outSlope: -3.5660472 + tangentMode: 0 + - serializedVersion: 2 + time: 0.20000002 + value: -0.8653354 + inSlope: -2.6938858 + outSlope: -2.6938858 + tangentMode: 0 + - serializedVersion: 2 + time: 0.23333335 + value: -0.938005 + inSlope: -1.6867448 + outSlope: -1.6867448 + tangentMode: 0 + - serializedVersion: 2 + time: 0.26666668 + value: -0.97778505 + inSlope: -0.8321116 + outSlope: -0.8321116 + tangentMode: 0 + - serializedVersion: 2 + time: 0.3 + value: -0.9934791 + inSlope: -0.25542858 + outSlope: -0.25542858 + tangentMode: 0 + - serializedVersion: 2 + time: 0.33333334 + value: -0.9948136 + inSlope: 0.0653565 + outSlope: 0.0653565 + tangentMode: 0 + - serializedVersion: 2 + time: 0.36666667 + value: -0.989122 + inSlope: 0.2074509 + outSlope: 0.2074509 + tangentMode: 0 + - serializedVersion: 2 + time: 0.40000004 + value: -0.98098356 + inSlope: 0.24252346 + outSlope: 0.24252346 + tangentMode: 0 + - serializedVersion: 2 + time: 0.43333337 + value: -0.97295374 + inSlope: 0.21969976 + outSlope: 0.21969976 + tangentMode: 0 + - serializedVersion: 2 + time: 0.4666667 + value: -0.9663369 + inSlope: 0.16843922 + outSlope: 0.16843922 + tangentMode: 0 + - serializedVersion: 2 + time: 0.5 + value: -0.96172446 + inSlope: 0.10531161 + outSlope: 0.10531161 + tangentMode: 0 + - serializedVersion: 2 + time: 0.53333336 + value: -0.95931613 + inSlope: 0.03942665 + outSlope: 0.03942665 + tangentMode: 0 + - serializedVersion: 2 + time: 0.5666667 + value: -0.959096 + inSlope: -0.024075538 + outSlope: -0.024075538 + tangentMode: 0 + - serializedVersion: 2 + time: 0.6 + value: -0.96092117 + inSlope: -0.08195399 + outSlope: -0.08195399 + tangentMode: 0 + - serializedVersion: 2 + time: 0.6333334 + value: -0.9645596 + inSlope: -0.13165537 + outSlope: -0.13165537 + tangentMode: 0 + - serializedVersion: 2 + time: 0.6666667 + value: -0.9696982 + inSlope: -0.17056257 + outSlope: -0.17056257 + tangentMode: 0 + - serializedVersion: 2 + time: 0.70000005 + value: -0.97593045 + inSlope: -0.19551072 + outSlope: -0.19551072 + tangentMode: 0 + - serializedVersion: 2 + time: 0.73333335 + value: -0.98273224 + inSlope: -0.20249607 + outSlope: -0.20249607 + tangentMode: 0 + - serializedVersion: 2 + time: 0.7666667 + value: -0.9894302 + inSlope: -0.18652514 + outSlope: -0.18652514 + tangentMode: 0 + - serializedVersion: 2 + time: 0.8000001 + value: -0.99516726 + inSlope: -0.14172164 + outSlope: -0.14172164 + tangentMode: 0 + - serializedVersion: 2 + time: 0.8333334 + value: -0.9988783 + inSlope: -0.061859835 + outSlope: -0.061859835 + tangentMode: 0 + - serializedVersion: 2 + time: 0.86666673 + value: -0.99929124 + inSlope: 0.058581296 + outSlope: 0.058581296 + tangentMode: 0 + - serializedVersion: 2 + time: 0.90000004 + value: -0.9949729 + inSlope: 0.22269748 + outSlope: 0.22269748 + tangentMode: 0 + - serializedVersion: 2 + time: 0.9333334 + value: -0.98444474 + inSlope: 0.42894703 + outSlope: 0.42894703 + tangentMode: 0 + - serializedVersion: 2 + time: 0.9666667 + value: -0.9663764 + inSlope: 0.6691188 + outSlope: 0.6691188 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: -0.93983686 + inSlope: 0.7961877 + outSlope: 0.7961877 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + yV: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0.018047176 + inSlope: -0.33416504 + outSlope: -0.33416504 + tangentMode: 0 + - serializedVersion: 2 + time: 0.033333335 + value: 0.0069083413 + inSlope: -0.36940485 + outSlope: -0.36940485 + tangentMode: 0 + - serializedVersion: 2 + time: 0.06666667 + value: -0.006579816 + inSlope: -0.43962833 + outSlope: -0.43962833 + tangentMode: 0 + - serializedVersion: 2 + time: 0.10000001 + value: -0.022400219 + inSlope: -0.49878886 + outSlope: -0.49878886 + tangentMode: 0 + - serializedVersion: 2 + time: 0.13333334 + value: -0.03983241 + inSlope: -0.5221312 + outSlope: -0.5221312 + tangentMode: 0 + - serializedVersion: 2 + time: 0.16666667 + value: -0.057208963 + inSlope: -0.4875791 + outSlope: -0.4875791 + tangentMode: 0 + - serializedVersion: 2 + time: 0.20000002 + value: -0.07233769 + inSlope: -0.39575082 + outSlope: -0.39575082 + tangentMode: 0 + - serializedVersion: 2 + time: 0.23333335 + value: -0.083592355 + inSlope: -0.27469546 + outSlope: -0.27469546 + tangentMode: 0 + - serializedVersion: 2 + time: 0.26666668 + value: -0.090650715 + inSlope: -0.15931809 + outSlope: -0.15931809 + tangentMode: 0 + - serializedVersion: 2 + time: 0.3 + value: -0.09421356 + inSlope: -0.06961227 + outSlope: -0.06961227 + tangentMode: 0 + - serializedVersion: 2 + time: 0.33333334 + value: -0.09529153 + inSlope: -0.008017347 + outSlope: -0.008017347 + tangentMode: 0 + - serializedVersion: 2 + time: 0.36666667 + value: -0.09474805 + inSlope: 0.0316914 + outSlope: 0.0316914 + tangentMode: 0 + - serializedVersion: 2 + time: 0.40000004 + value: -0.09317877 + inSlope: 0.056967646 + outSlope: 0.056967646 + tangentMode: 0 + - serializedVersion: 2 + time: 0.43333337 + value: -0.090950206 + inSlope: 0.073629215 + outSlope: 0.073629215 + tangentMode: 0 + - serializedVersion: 2 + time: 0.4666667 + value: -0.08827016 + inSlope: 0.08557503 + outSlope: 0.08557503 + tangentMode: 0 + - serializedVersion: 2 + time: 0.5 + value: -0.08524521 + inSlope: 0.09527117 + outSlope: 0.09527117 + tangentMode: 0 + - serializedVersion: 2 + time: 0.53333336 + value: -0.081918746 + inSlope: 0.104265764 + outSlope: 0.104265764 + tangentMode: 0 + - serializedVersion: 2 + time: 0.5666667 + value: -0.07829415 + inSlope: 0.1135577 + outSlope: 0.1135577 + tangentMode: 0 + - serializedVersion: 2 + time: 0.6 + value: -0.07434823 + inSlope: 0.12382676 + outSlope: 0.12382676 + tangentMode: 0 + - serializedVersion: 2 + time: 0.6333334 + value: -0.070039034 + inSlope: 0.13556546 + outSlope: 0.13556546 + tangentMode: 0 + - serializedVersion: 2 + time: 0.6666667 + value: -0.06531054 + inSlope: 0.14914814 + outSlope: 0.14914814 + tangentMode: 0 + - serializedVersion: 2 + time: 0.70000005 + value: -0.060095824 + inSlope: 0.1648516 + outSlope: 0.1648516 + tangentMode: 0 + - serializedVersion: 2 + time: 0.73333335 + value: -0.054320432 + inSlope: 0.18283837 + outSlope: 0.18283837 + tangentMode: 0 + - serializedVersion: 2 + time: 0.7666667 + value: -0.0479066 + inSlope: 0.20310715 + outSlope: 0.20310715 + tangentMode: 0 + - serializedVersion: 2 + time: 0.8000001 + value: -0.040779945 + inSlope: 0.22540767 + outSlope: 0.22540767 + tangentMode: 0 + - serializedVersion: 2 + time: 0.8333334 + value: -0.032879423 + inSlope: 0.2491293 + outSlope: 0.2491293 + tangentMode: 0 + - serializedVersion: 2 + time: 0.86666673 + value: -0.024171324 + inSlope: 0.27318737 + outSlope: 0.27318737 + tangentMode: 0 + - serializedVersion: 2 + time: 0.90000004 + value: -0.014666934 + inSlope: 0.2959543 + outSlope: 0.2959543 + tangentMode: 0 + - serializedVersion: 2 + time: 0.9333334 + value: -0.0044410396 + inSlope: 0.31530777 + outSlope: 0.31530777 + tangentMode: 0 + - serializedVersion: 2 + time: 0.9666667 + value: 0.0063535827 + inSlope: 0.3288707 + outSlope: 0.3288707 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 0.017483655 + inSlope: 0.33390248 + outSlope: 0.33390248 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + zV: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: -0.98721313 + inSlope: 0.5777531 + outSlope: 0.5777531 + tangentMode: 0 + - serializedVersion: 2 + time: 0.033333335 + value: -0.9679547 + inSlope: 0.82750976 + outSlope: 0.82750976 + tangentMode: 0 + - serializedVersion: 2 + time: 0.06666667 + value: -0.9320458 + inSlope: 1.4516828 + outSlope: 1.4516828 + tangentMode: 0 + - serializedVersion: 2 + time: 0.10000001 + value: -0.8711758 + inSlope: 2.3179293 + outSlope: 2.3179293 + tangentMode: 0 + - serializedVersion: 2 + time: 0.13333334 + value: -0.7775172 + inSlope: 3.3287485 + outSlope: 3.3287485 + tangentMode: 0 + - serializedVersion: 2 + time: 0.16666667 + value: -0.64925927 + inSlope: 4.223577 + outSlope: 4.223577 + tangentMode: 0 + - serializedVersion: 2 + time: 0.20000002 + value: -0.49594533 + inSlope: 4.693021 + outSlope: 4.693021 + tangentMode: 0 + - serializedVersion: 2 + time: 0.23333335 + value: -0.33639118 + inSlope: 4.604267 + outSlope: 4.604267 + tangentMode: 0 + - serializedVersion: 2 + time: 0.26666668 + value: -0.1889942 + inSlope: 4.082679 + outSlope: 4.082679 + tangentMode: 0 + - serializedVersion: 2 + time: 0.3 + value: -0.06421263 + inSlope: 3.368495 + outSlope: 3.368495 + tangentMode: 0 + - serializedVersion: 2 + time: 0.33333334 + value: 0.035572123 + inSlope: 2.6509686 + outSlope: 2.6509686 + tangentMode: 0 + - serializedVersion: 2 + time: 0.36666667 + value: 0.11251861 + inSlope: 2.0203395 + outSlope: 2.0203395 + tangentMode: 0 + - serializedVersion: 2 + time: 0.40000004 + value: 0.17026146 + inSlope: 1.4973472 + outSlope: 1.4973472 + tangentMode: 0 + - serializedVersion: 2 + time: 0.43333337 + value: 0.2123418 + inSlope: 1.0710349 + outSlope: 1.0710349 + tangentMode: 0 + - serializedVersion: 2 + time: 0.4666667 + value: 0.24166378 + inSlope: 0.7211964 + outSlope: 0.7211964 + tangentMode: 0 + - serializedVersion: 2 + time: 0.5 + value: 0.26042154 + inSlope: 0.4278724 + outSlope: 0.4278724 + tangentMode: 0 + - serializedVersion: 2 + time: 0.53333336 + value: 0.2701886 + inSlope: 0.1742518 + outSlope: 0.1742518 + tangentMode: 0 + - serializedVersion: 2 + time: 0.5666667 + value: 0.27203834 + inSlope: -0.053060897 + outSlope: -0.053060897 + tangentMode: 0 + - serializedVersion: 2 + time: 0.6 + value: 0.2666512 + inSlope: -0.2645806 + outSlope: -0.2645806 + tangentMode: 0 + - serializedVersion: 2 + time: 0.6333334 + value: 0.25439963 + inSlope: -0.46855253 + outSlope: -0.46855253 + tangentMode: 0 + - serializedVersion: 2 + time: 0.6666667 + value: 0.23541439 + inSlope: -0.671415 + outSlope: -0.671415 + tangentMode: 0 + - serializedVersion: 2 + time: 0.70000005 + value: 0.20963863 + inSlope: -0.8780159 + outSlope: -0.8780159 + tangentMode: 0 + - serializedVersion: 2 + time: 0.73333335 + value: 0.17688 + inSlope: -1.0915623 + outSlope: -1.0915623 + tangentMode: 0 + - serializedVersion: 2 + time: 0.7666667 + value: 0.1368678 + inSlope: -1.3132999 + outSlope: -1.3132999 + tangentMode: 0 + - serializedVersion: 2 + time: 0.8000001 + value: 0.089326605 + inSlope: -1.5419166 + outSlope: -1.5419166 + tangentMode: 0 + - serializedVersion: 2 + time: 0.8333334 + value: 0.03407338 + inSlope: -1.7727597 + outSlope: -1.7727597 + tangentMode: 0 + - serializedVersion: 2 + time: 0.86666673 + value: -0.028857373 + inSlope: -1.997081 + outSlope: -1.997081 + tangentMode: 0 + - serializedVersion: 2 + time: 0.90000004 + value: -0.09906535 + inSlope: -2.2017202 + outSlope: -2.2017202 + tangentMode: 0 + - serializedVersion: 2 + time: 0.9333334 + value: -0.17563872 + inSlope: -2.369814 + outSlope: -2.369814 + tangentMode: 0 + - serializedVersion: 2 + time: 0.9666667 + value: -0.25705293 + inSlope: -2.4830594 + outSlope: -2.4830594 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: -0.34117585 + inSlope: -2.5236902 + outSlope: -2.5236902 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + - _a: {x: -3.6853518, y: -0.4868201, z: -6.463721} + _b: {x: -3.720664, y: 0.069215, z: -1.3506608} + _c: {x: 1.4886062, y: -0.16065064, z: -0.1732697} + _d: {x: -8.19628, y: 0, z: -5.938661} + _B: {x: -7.406016, y: -0.4176051, z: -7.8143816} + _C: {x: -6.707673, y: -0.16065064, z: -6.111931} + _length: 4.9054656 + _cache: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: 0.087975405 + outSlope: 0.087975405 + tangentMode: 0 + - serializedVersion: 2 + time: 0.3788938 + value: 0.033333335 + inSlope: 0.0921238 + outSlope: 0.0921238 + tangentMode: 0 + - serializedVersion: 2 + time: 0.7251343 + value: 0.06666667 + inSlope: 0.100950524 + outSlope: 0.100950524 + tangentMode: 0 + - serializedVersion: 2 + time: 1.0407046 + value: 0.1 + inSlope: 0.11090236 + outSlope: 0.11090236 + tangentMode: 0 + - serializedVersion: 2 + time: 1.327626 + value: 0.13333334 + inSlope: 0.12211074 + outSlope: 0.12211074 + tangentMode: 0 + - serializedVersion: 2 + time: 1.5879499 + value: 0.16666667 + inSlope: 0.13469517 + outSlope: 0.13469517 + tangentMode: 0 + - serializedVersion: 2 + time: 1.82378 + value: 0.2 + inSlope: 0.14874303 + outSlope: 0.14874303 + tangentMode: 0 + - serializedVersion: 2 + time: 2.0372617 + value: 0.23333333 + inSlope: 0.16427842 + outSlope: 0.16427842 + tangentMode: 0 + - serializedVersion: 2 + time: 2.2305932 + value: 0.26666668 + inSlope: 0.1812187 + outSlope: 0.1812187 + tangentMode: 0 + - serializedVersion: 2 + time: 2.4060116 + value: 0.3 + inSlope: 0.19932398 + outSlope: 0.19932398 + tangentMode: 0 + - serializedVersion: 2 + time: 2.565787 + value: 0.33333334 + inSlope: 0.21814916 + outSlope: 0.21814916 + tangentMode: 0 + - serializedVersion: 2 + time: 2.7121964 + value: 0.36666667 + inSlope: 0.23703834 + outSlope: 0.23703834 + tangentMode: 0 + - serializedVersion: 2 + time: 2.8474753 + value: 0.4 + inSlope: 0.25517276 + outSlope: 0.25517276 + tangentMode: 0 + - serializedVersion: 2 + time: 2.973766 + value: 0.43333334 + inSlope: 0.27169377 + outSlope: 0.27169377 + tangentMode: 0 + - serializedVersion: 2 + time: 3.0930495 + value: 0.46666667 + inSlope: 0.28588343 + outSlope: 0.28588343 + tangentMode: 0 + - serializedVersion: 2 + time: 3.2070796 + value: 0.5 + inSlope: 0.29732537 + outSlope: 0.29732537 + tangentMode: 0 + - serializedVersion: 2 + time: 3.3173344 + value: 0.53333336 + inSlope: 0.3059637 + outSlope: 0.3059637 + tangentMode: 0 + - serializedVersion: 2 + time: 3.4250011 + value: 0.56666666 + inSlope: 0.3120516 + outSlope: 0.3120516 + tangentMode: 0 + - serializedVersion: 2 + time: 3.5309875 + value: 0.6 + inSlope: 0.31601477 + outSlope: 0.31601477 + tangentMode: 0 + - serializedVersion: 2 + time: 3.6359665 + value: 0.6333333 + inSlope: 0.31828415 + outSlope: 0.31828415 + tangentMode: 0 + - serializedVersion: 2 + time: 3.7404451 + value: 0.6666667 + inSlope: 0.31917357 + outSlope: 0.31917357 + tangentMode: 0 + - serializedVersion: 2 + time: 3.8448393 + value: 0.7 + inSlope: 0.3187955 + outSlope: 0.3187955 + tangentMode: 0 + - serializedVersion: 2 + time: 3.9495661 + value: 0.73333335 + inSlope: 0.31703794 + outSlope: 0.31703794 + tangentMode: 0 + - serializedVersion: 2 + time: 4.0551224 + value: 0.76666665 + inSlope: 0.3135884 + outSlope: 0.3135884 + tangentMode: 0 + - serializedVersion: 2 + time: 4.1621695 + value: 0.8 + inSlope: 0.30799663 + outSlope: 0.30799663 + tangentMode: 0 + - serializedVersion: 2 + time: 4.271601 + value: 0.8333333 + inSlope: 0.2998046 + outSlope: 0.2998046 + tangentMode: 0 + - serializedVersion: 2 + time: 4.3845935 + value: 0.8666667 + inSlope: 0.2887205 + outSlope: 0.2887205 + tangentMode: 0 + - serializedVersion: 2 + time: 4.5026145 + value: 0.9 + inSlope: 0.27476203 + outSlope: 0.27476203 + tangentMode: 0 + - serializedVersion: 2 + time: 4.627417 + value: 0.93333334 + inSlope: 0.2583257 + outSlope: 0.2583257 + tangentMode: 0 + - serializedVersion: 2 + time: 4.760984 + value: 0.96666664 + inSlope: 0.24013633 + outSlope: 0.24013633 + tangentMode: 0 + - serializedVersion: 2 + time: 4.9054656 + value: 1 + inSlope: 0.23070998 + outSlope: 0.23070998 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + _tangentCache: + xV: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: -0.93983686 + inSlope: -0.23890613 + outSlope: -0.23890613 + tangentMode: 0 + - serializedVersion: 2 + time: 0.033333335 + value: -0.9478004 + inSlope: -0.24440466 + outSlope: -0.24440466 + tangentMode: 0 + - serializedVersion: 2 + time: 0.06666667 + value: -0.9561305 + inSlope: -0.25318888 + outSlope: -0.25318888 + tangentMode: 0 + - serializedVersion: 2 + time: 0.10000001 + value: -0.96467966 + inSlope: -0.25609016 + outSlope: -0.25609016 + tangentMode: 0 + - serializedVersion: 2 + time: 0.13333334 + value: -0.9732032 + inSlope: -0.24958941 + outSlope: -0.24958941 + tangentMode: 0 + - serializedVersion: 2 + time: 0.16666667 + value: -0.98131895 + inSlope: -0.22885856 + outSlope: -0.22885856 + tangentMode: 0 + - serializedVersion: 2 + time: 0.20000002 + value: -0.9884604 + inSlope: -0.18765536 + outSlope: -0.18765536 + tangentMode: 0 + - serializedVersion: 2 + time: 0.23333335 + value: -0.9938293 + inSlope: -0.11859299 + outSlope: -0.11859299 + tangentMode: 0 + - serializedVersion: 2 + time: 0.26666668 + value: -0.9963666 + inSlope: -0.014171006 + outSlope: -0.014171006 + tangentMode: 0 + - serializedVersion: 2 + time: 0.3 + value: -0.99477404 + inSlope: 0.13096423 + outSlope: 0.13096423 + tangentMode: 0 + - serializedVersion: 2 + time: 0.33333334 + value: -0.9876357 + inSlope: 0.3163925 + outSlope: 0.3163925 + tangentMode: 0 + - serializedVersion: 2 + time: 0.36666667 + value: -0.9736812 + inSlope: 0.5316851 + outSlope: 0.5316851 + tangentMode: 0 + - serializedVersion: 2 + time: 0.40000004 + value: -0.95219 + inSlope: 0.753747 + outSlope: 0.753747 + tangentMode: 0 + - serializedVersion: 2 + time: 0.43333337 + value: -0.9234314 + inSlope: 0.94874215 + outSlope: 0.94874215 + tangentMode: 0 + - serializedVersion: 2 + time: 0.4666667 + value: -0.8889405 + inSlope: 1.0798848 + outSlope: 1.0798848 + tangentMode: 0 + - serializedVersion: 2 + time: 0.5 + value: -0.8514391 + inSlope: 1.1184258 + outSlope: 1.1184258 + tangentMode: 0 + - serializedVersion: 2 + time: 0.53333336 + value: -0.8143788 + inSlope: 1.052067 + outSlope: 1.052067 + tangentMode: 0 + - serializedVersion: 2 + time: 0.5666667 + value: -0.78130126 + inSlope: 0.8864995 + outSlope: 0.8864995 + tangentMode: 0 + - serializedVersion: 2 + time: 0.6 + value: -0.7552788 + inSlope: 0.6406529 + outSlope: 0.6406529 + tangentMode: 0 + - serializedVersion: 2 + time: 0.6333334 + value: -0.7385911 + inSlope: 0.3398912 + outSlope: 0.3398912 + tangentMode: 0 + - serializedVersion: 2 + time: 0.6666667 + value: -0.7326194 + inSlope: 0.011058897 + outSlope: 0.011058897 + tangentMode: 0 + - serializedVersion: 2 + time: 0.70000005 + value: -0.7378538 + inSlope: -0.3192939 + outSlope: -0.3192939 + tangentMode: 0 + - serializedVersion: 2 + time: 0.73333335 + value: -0.75390565 + inSlope: -0.62446374 + outSlope: -0.62446374 + tangentMode: 0 + - serializedVersion: 2 + time: 0.7666667 + value: -0.77948475 + inSlope: -0.87708163 + outSlope: -0.87708163 + tangentMode: 0 + - serializedVersion: 2 + time: 0.8000001 + value: -0.8123778 + inSlope: -1.0507215 + outSlope: -1.0507215 + tangentMode: 0 + - serializedVersion: 2 + time: 0.8333334 + value: -0.84953284 + inSlope: -1.1248488 + outSlope: -1.1248488 + tangentMode: 0 + - serializedVersion: 2 + time: 0.86666673 + value: -0.8873677 + inSlope: -1.0919827 + outSlope: -1.0919827 + tangentMode: 0 + - serializedVersion: 2 + time: 0.90000004 + value: -0.9223317 + inSlope: -0.96312594 + outSlope: -0.96312594 + tangentMode: 0 + - serializedVersion: 2 + time: 0.9333334 + value: -0.9515761 + inSlope: -0.7668444 + outSlope: -0.7668444 + tangentMode: 0 + - serializedVersion: 2 + time: 0.9666667 + value: -0.97345465 + inSlope: -0.5408939 + outSlope: -0.5408939 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: -0.9876357 + inSlope: -0.42543095 + outSlope: -0.42543095 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + yV: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0.017483655 + inSlope: 0.14973828 + outSlope: 0.14973828 + tangentMode: 0 + - serializedVersion: 2 + time: 0.033333335 + value: 0.022474932 + inSlope: 0.15965423 + outSlope: 0.15965423 + tangentMode: 0 + - serializedVersion: 2 + time: 0.06666667 + value: 0.028127272 + inSlope: 0.18089813 + outSlope: 0.18089813 + tangentMode: 0 + - serializedVersion: 2 + time: 0.10000001 + value: 0.03453481 + inSlope: 0.20504978 + outSlope: 0.20504978 + tangentMode: 0 + - serializedVersion: 2 + time: 0.13333334 + value: 0.041797258 + inSlope: 0.23217554 + outSlope: 0.23217554 + tangentMode: 0 + - serializedVersion: 2 + time: 0.16666667 + value: 0.050013177 + inSlope: 0.26206094 + outSlope: 0.26206094 + tangentMode: 0 + - serializedVersion: 2 + time: 0.20000002 + value: 0.05926799 + inSlope: 0.29401666 + outSlope: 0.29401666 + tangentMode: 0 + - serializedVersion: 2 + time: 0.23333335 + value: 0.06961429 + inSlope: 0.32662803 + outSlope: 0.32662803 + tangentMode: 0 + - serializedVersion: 2 + time: 0.26666668 + value: 0.08104319 + inSlope: 0.35750204 + outSlope: 0.35750204 + tangentMode: 0 + - serializedVersion: 2 + time: 0.3 + value: 0.09344776 + inSlope: 0.3831396 + outSlope: 0.3831396 + tangentMode: 0 + - serializedVersion: 2 + time: 0.33333334 + value: 0.10658583 + inSlope: 0.39915365 + outSlope: 0.39915365 + tangentMode: 0 + - serializedVersion: 2 + time: 0.36666667 + value: 0.120058 + inSlope: 0.401065 + outSlope: 0.401065 + tangentMode: 0 + - serializedVersion: 2 + time: 0.40000004 + value: 0.1333235 + inSlope: 0.38568586 + outSlope: 0.38568586 + tangentMode: 0 + - serializedVersion: 2 + time: 0.43333337 + value: 0.1457704 + inSlope: 0.35261843 + outSlope: 0.35261843 + tangentMode: 0 + - serializedVersion: 2 + time: 0.4666667 + value: 0.1568314 + inSlope: 0.30497715 + outSlope: 0.30497715 + tangentMode: 0 + - serializedVersion: 2 + time: 0.5 + value: 0.1661022 + inSlope: 0.24864149 + outSlope: 0.24864149 + tangentMode: 0 + - serializedVersion: 2 + time: 0.53333336 + value: 0.1734075 + inSlope: 0.1902563 + outSlope: 0.1902563 + tangentMode: 0 + - serializedVersion: 2 + time: 0.5666667 + value: 0.17878596 + inSlope: 0.13506664 + outSlope: 0.13506664 + tangentMode: 0 + - serializedVersion: 2 + time: 0.6 + value: 0.18241194 + inSlope: 0.08564766 + outSlope: 0.08564766 + tangentMode: 0 + - serializedVersion: 2 + time: 0.6333334 + value: 0.1844958 + inSlope: 0.04181294 + outSlope: 0.04181294 + tangentMode: 0 + - serializedVersion: 2 + time: 0.6666667 + value: 0.18519947 + inSlope: 0.0013205586 + outSlope: 0.0013205586 + tangentMode: 0 + - serializedVersion: 2 + time: 0.70000005 + value: 0.18458384 + inSlope: -0.039139263 + outSlope: -0.039139263 + tangentMode: 0 + - serializedVersion: 2 + time: 0.73333335 + value: 0.18259019 + inSlope: -0.082930535 + outSlope: -0.082930535 + tangentMode: 0 + - serializedVersion: 2 + time: 0.7666667 + value: 0.17905514 + inSlope: -0.13244537 + outSlope: -0.13244537 + tangentMode: 0 + - serializedVersion: 2 + time: 0.8000001 + value: 0.17376049 + inSlope: -0.18806714 + outSlope: -0.18806714 + tangentMode: 0 + - serializedVersion: 2 + time: 0.8333334 + value: 0.16651733 + inSlope: -0.24737655 + outSlope: -0.24737655 + tangentMode: 0 + - serializedVersion: 2 + time: 0.86666673 + value: 0.15726872 + inSlope: -0.30513105 + outSlope: -0.30513105 + tangentMode: 0 + - serializedVersion: 2 + time: 0.90000004 + value: 0.14617527 + inSlope: -0.35447693 + outSlope: -0.35447693 + tangentMode: 0 + - serializedVersion: 2 + time: 0.9333334 + value: 0.13363692 + inSlope: -0.38917702 + outSlope: -0.38917702 + tangentMode: 0 + - serializedVersion: 2 + time: 0.9666667 + value: 0.12023013 + inSlope: -0.40576732 + outSlope: -0.40576732 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 0.10658579 + inSlope: -0.40933052 + outSlope: -0.40933052 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + zV: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: -0.34117585 + inSlope: 0.69314265 + outSlope: 0.69314265 + tangentMode: 0 + - serializedVersion: 2 + time: 0.033333335 + value: -0.3180711 + inSlope: 0.7438221 + outSlope: 0.7438221 + tangentMode: 0 + - serializedVersion: 2 + time: 0.06666667 + value: -0.2915877 + inSlope: 0.8537841 + outSlope: 0.8537841 + tangentMode: 0 + - serializedVersion: 2 + time: 0.10000001 + value: -0.26115215 + inSlope: 0.98207426 + outSlope: 0.98207426 + tangentMode: 0 + - serializedVersion: 2 + time: 0.13333334 + value: -0.22611609 + inSlope: 1.1306806 + outSlope: 1.1306806 + tangentMode: 0 + - serializedVersion: 2 + time: 0.16666667 + value: -0.18577345 + inSlope: 1.300689 + outSlope: 1.300689 + tangentMode: 0 + - serializedVersion: 2 + time: 0.20000002 + value: -0.13940348 + inSlope: 1.4912839 + outSlope: 1.4912839 + tangentMode: 0 + - serializedVersion: 2 + time: 0.23333335 + value: -0.08635451 + inSlope: 1.6982921 + outSlope: 1.6982921 + tangentMode: 0 + - serializedVersion: 2 + time: 0.26666668 + value: -0.02618401 + inSlope: 1.9123433 + outSlope: 1.9123433 + tangentMode: 0 + - serializedVersion: 2 + time: 0.3 + value: 0.04113504 + inSlope: 2.1171324 + outSlope: 2.1171324 + tangentMode: 0 + - serializedVersion: 2 + time: 0.33333334 + value: 0.11495815 + inSlope: 2.2889166 + outSlope: 2.2889166 + tangentMode: 0 + - serializedVersion: 2 + time: 0.36666667 + value: 0.19372948 + inSlope: 2.3988276 + outSlope: 2.3988276 + tangentMode: 0 + - serializedVersion: 2 + time: 0.40000004 + value: 0.27488005 + inSlope: 2.4190652 + outSlope: 2.4190652 + tangentMode: 0 + - serializedVersion: 2 + time: 0.43333337 + value: 0.35500056 + inSlope: 2.3318317 + outSlope: 2.3318317 + tangentMode: 0 + - serializedVersion: 2 + time: 0.4666667 + value: 0.4303355 + inSlope: 2.1368182 + outSlope: 2.1368182 + tangentMode: 0 + - serializedVersion: 2 + time: 0.5 + value: 0.49745503 + inSlope: 1.8522744 + outSlope: 1.8522744 + tangentMode: 0 + - serializedVersion: 2 + time: 0.53333336 + value: 0.55382043 + inSlope: 1.5081741 + outSlope: 1.5081741 + tangentMode: 0 + - serializedVersion: 2 + time: 0.5666667 + value: 0.59800005 + inSlope: 1.1353074 + outSlope: 1.1353074 + tangentMode: 0 + - serializedVersion: 2 + time: 0.6 + value: 0.6295076 + inSlope: 0.75625265 + outSlope: 0.75625265 + tangentMode: 0 + - serializedVersion: 2 + time: 0.6333334 + value: 0.6484169 + inSlope: 0.38175508 + outSlope: 0.38175508 + tangentMode: 0 + - serializedVersion: 2 + time: 0.6666667 + value: 0.65495795 + inSlope: 0.012207799 + outSlope: 0.012207799 + tangentMode: 0 + - serializedVersion: 2 + time: 0.70000005 + value: 0.6492307 + inSlope: -0.35787034 + outSlope: -0.35787034 + tangentMode: 0 + - serializedVersion: 2 + time: 0.73333335 + value: 0.63109994 + inSlope: -0.7341759 + outSlope: -0.7341759 + tangentMode: 0 + - serializedVersion: 2 + time: 0.7666667 + value: 0.60028565 + inSlope: -1.1168772 + outSlope: -1.1168772 + tangentMode: 0 + - serializedVersion: 2 + time: 0.8000001 + value: 0.5566414 + inSlope: -1.4958003 + outSlope: -1.4958003 + tangentMode: 0 + - serializedVersion: 2 + time: 0.8333334 + value: 0.50056565 + inSlope: -1.8484564 + outSlope: -1.8484564 + tangentMode: 0 + - serializedVersion: 2 + time: 0.86666673 + value: 0.43341097 + inSlope: -2.143242 + outSlope: -2.143242 + tangentMode: 0 + - serializedVersion: 2 + time: 0.90000004 + value: 0.35768288 + inSlope: -2.3484654 + outSlope: -2.3484654 + tangentMode: 0 + - serializedVersion: 2 + time: 0.9333334 + value: 0.27684662 + inSlope: -2.4438672 + outSlope: -2.4438672 + tangentMode: 0 + - serializedVersion: 2 + time: 0.9666667 + value: 0.19475842 + inSlope: -2.42833 + outSlope: -2.42833 + tangentMode: 0 + - serializedVersion: 2 + time: 1 + value: 0.11495811 + inSlope: -2.3940115 + outSlope: -2.3940115 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + autoKnot: + - 0.33 + - 0 + - 0 + - 0 + - 0 + - 0.33 + orientations: + - rotation: {x: 0, y: 0, z: 0, w: 1} + hasValue: 0 + - rotation: {x: 0, y: 0, z: 0, w: 1} + hasValue: 0 + - rotation: {x: 0, y: 0, z: 0, w: 1} + hasValue: 0 + - rotation: {x: 0, y: 0, z: 0, w: 1} + hasValue: 0 + - rotation: {x: 0, y: 0, z: 0, w: 1} + hasValue: 0 + - rotation: {x: 0, y: 0, z: 0, w: 1} + hasValue: 0 + tangentCache: [] +--- !u!4 &1302579426 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1302579424} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1461308756 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1461308761} + - component: {fileID: 1461308760} + - component: {fileID: 1461308759} + - component: {fileID: 1461308758} + - component: {fileID: 1461308757} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1461308757 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1461308756} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: e990ee1fd69e3a040a8ec8a4d9349c6b, type: 3} + m_Name: + m_EditorClassIdentifier: + distance: 1 + spline: {fileID: 1302579425} + trainType: 2 + speed: 1 + startPos: 14.83 +--- !u!23 &1461308758 +MeshRenderer: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1461308756} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_Materials: + - {fileID: 2100000, guid: 4b4714dbfdf5f964ab32a3d5005d95cc, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!65 &1461308759 +BoxCollider: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1461308756} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!33 &1461308760 +MeshFilter: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1461308756} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &1461308761 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1461308756} + m_LocalRotation: {x: -0.003955168, y: 0.9887217, z: 0.026540898, w: 0.14734095} + m_LocalPosition: {x: 6.3386855, y: -0.12519258, z: -1.8700367} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1728551162 +GameObject: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + serializedVersion: 5 + m_Component: + - component: {fileID: 1728551164} + - component: {fileID: 1728551163} + m_Layer: 0 + m_Name: BezierSpline + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1728551163 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1728551162} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 50f6cb5b297175b42a8ae8a04b789fa4, type: 3} + m_Name: + m_EditorClassIdentifier: + _cacheDensity: 60 + _closed: 1 + _totalLength: 5.419242 + curves: + - _a: {x: -1, y: 0, z: 0} + _b: {x: 0, y: 0, z: 0.5} + _c: {x: -0.4, y: 0, z: 0.5} + _d: {x: 0, y: 0, z: 0} + _B: {x: -1, y: 0, z: 0.5} + _C: {x: -0.4, y: 0, z: 0.5} + _length: 1.3548107 + _cache: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: 0.67782795 + outSlope: 0.67782795 + tangentMode: 0 + - serializedVersion: 2 + time: 0.024588345 + value: 0.016666668 + inSlope: 0.6891173 + outSlope: 0.6891173 + tangentMode: 0 + - serializedVersion: 2 + time: 0.048384048 + value: 0.033333335 + inSlope: 0.711813 + outSlope: 0.711813 + tangentMode: 0 + - serializedVersion: 2 + time: 0.071429156 + value: 0.05 + inSlope: 0.7346673 + outSlope: 0.7346673 + tangentMode: 0 + - serializedVersion: 2 + time: 0.093767084 + value: 0.06666667 + inSlope: 0.75751525 + outSlope: 0.75751525 + tangentMode: 0 + - serializedVersion: 2 + time: 0.11544264 + value: 0.083333336 + inSlope: 0.780164 + outSlope: 0.780164 + tangentMode: 0 + - serializedVersion: 2 + time: 0.13650203 + value: 0.1 + inSlope: 0.8023977 + outSlope: 0.8023977 + tangentMode: 0 + - serializedVersion: 2 + time: 0.15699258 + value: 0.11666667 + inSlope: 0.82397664 + outSlope: 0.82397664 + tangentMode: 0 + - serializedVersion: 2 + time: 0.17696294 + value: 0.13333334 + inSlope: 0.84464186 + outSlope: 0.84464186 + tangentMode: 0 + - serializedVersion: 2 + time: 0.19646266 + value: 0.15 + inSlope: 0.8641243 + outSlope: 0.8641243 + tangentMode: 0 + - serializedVersion: 2 + time: 0.21554221 + value: 0.16666667 + inSlope: 0.88215876 + outSlope: 0.88215876 + tangentMode: 0 + - serializedVersion: 2 + time: 0.23425236 + value: 0.18333334 + inSlope: 0.8984851 + outSlope: 0.8984851 + tangentMode: 0 + - serializedVersion: 2 + time: 0.25264442 + value: 0.2 + inSlope: 0.9128635 + outSlope: 0.9128635 + tangentMode: 0 + - serializedVersion: 2 + time: 0.27076945 + value: 0.21666667 + inSlope: 0.92509586 + outSlope: 0.92509586 + tangentMode: 0 + - serializedVersion: 2 + time: 0.28867802 + value: 0.23333333 + inSlope: 0.93502223 + outSlope: 0.93502223 + tangentMode: 0 + - serializedVersion: 2 + time: 0.30642 + value: 0.25 + inSlope: 0.94253814 + outSlope: 0.94253814 + tangentMode: 0 + - serializedVersion: 2 + time: 0.32404393 + value: 0.26666668 + inSlope: 0.947588 + outSlope: 0.947588 + tangentMode: 0 + - serializedVersion: 2 + time: 0.34159717 + value: 0.28333333 + inSlope: 0.9501913 + outSlope: 0.9501913 + tangentMode: 0 + - serializedVersion: 2 + time: 0.3591246 + value: 0.3 + inSlope: 0.9504171 + outSlope: 0.9504171 + tangentMode: 0 + - serializedVersion: 2 + time: 0.3766695 + value: 0.31666666 + inSlope: 0.948379 + outSlope: 0.948379 + tangentMode: 0 + - serializedVersion: 2 + time: 0.3942724 + value: 0.33333334 + inSlope: 0.94424653 + outSlope: 0.94424653 + tangentMode: 0 + - serializedVersion: 2 + time: 0.41197127 + value: 0.35 + inSlope: 0.93820906 + outSlope: 0.93820906 + tangentMode: 0 + - serializedVersion: 2 + time: 0.42980155 + value: 0.36666667 + inSlope: 0.93047965 + outSlope: 0.93047965 + tangentMode: 0 + - serializedVersion: 2 + time: 0.44779584 + value: 0.38333333 + inSlope: 0.92128074 + outSlope: 0.92128074 + tangentMode: 0 + - serializedVersion: 2 + time: 0.4659841 + value: 0.4 + inSlope: 0.9108424 + outSlope: 0.9108424 + tangentMode: 0 + - serializedVersion: 2 + time: 0.48439333 + value: 0.41666666 + inSlope: 0.8993786 + outSlope: 0.8993786 + tangentMode: 0 + - serializedVersion: 2 + time: 0.50304836 + value: 0.43333334 + inSlope: 0.88710237 + outSlope: 0.88710237 + tangentMode: 0 + - serializedVersion: 2 + time: 0.52197075 + value: 0.45 + inSlope: 0.8742044 + outSlope: 0.8742044 + tangentMode: 0 + - serializedVersion: 2 + time: 0.54118043 + value: 0.46666667 + inSlope: 0.8608496 + outSlope: 0.8608496 + tangentMode: 0 + - serializedVersion: 2 + time: 0.5606946 + value: 0.48333332 + inSlope: 0.8471962 + outSlope: 0.8471962 + tangentMode: 0 + - serializedVersion: 2 + time: 0.5805285 + value: 0.5 + inSlope: 0.8333671 + outSlope: 0.8333671 + tangentMode: 0 + - serializedVersion: 2 + time: 0.6006957 + value: 0.51666665 + inSlope: 0.8194741 + outSlope: 0.8194741 + tangentMode: 0 + - serializedVersion: 2 + time: 0.62120795 + value: 0.53333336 + inSlope: 0.8056128 + outSlope: 0.8056128 + tangentMode: 0 + - serializedVersion: 2 + time: 0.6420752 + value: 0.55 + inSlope: 0.7918596 + outSlope: 0.7918596 + tangentMode: 0 + - serializedVersion: 2 + time: 0.66330606 + value: 0.56666666 + inSlope: 0.7782755 + outSlope: 0.7782755 + tangentMode: 0 + - serializedVersion: 2 + time: 0.6849081 + value: 0.5833333 + inSlope: 0.7649067 + outSlope: 0.7649067 + tangentMode: 0 + - serializedVersion: 2 + time: 0.70688766 + value: 0.6 + inSlope: 0.75179267 + outSlope: 0.75179267 + tangentMode: 0 + - serializedVersion: 2 + time: 0.7292499 + value: 0.6166667 + inSlope: 0.738962 + outSlope: 0.738962 + tangentMode: 0 + - serializedVersion: 2 + time: 0.75199926 + value: 0.6333333 + inSlope: 0.72642994 + outSlope: 0.72642994 + tangentMode: 0 + - serializedVersion: 2 + time: 0.7751397 + value: 0.65 + inSlope: 0.7142102 + outSlope: 0.7142102 + tangentMode: 0 + - serializedVersion: 2 + time: 0.7986742 + value: 0.6666667 + inSlope: 0.7023131 + outSlope: 0.7023131 + tangentMode: 0 + - serializedVersion: 2 + time: 0.82260525 + value: 0.68333334 + inSlope: 0.69073725 + outSlope: 0.69073725 + tangentMode: 0 + - serializedVersion: 2 + time: 0.8469351 + value: 0.7 + inSlope: 0.67948085 + outSlope: 0.67948085 + tangentMode: 0 + - serializedVersion: 2 + time: 0.87166554 + value: 0.71666664 + inSlope: 0.66854185 + outSlope: 0.66854185 + tangentMode: 0 + - serializedVersion: 2 + time: 0.89679813 + value: 0.73333335 + inSlope: 0.6579112 + outSlope: 0.6579112 + tangentMode: 0 + - serializedVersion: 2 + time: 0.9223342 + value: 0.75 + inSlope: 0.64757985 + outSlope: 0.64757985 + tangentMode: 0 + - serializedVersion: 2 + time: 0.94827497 + value: 0.76666665 + inSlope: 0.63753974 + outSlope: 0.63753974 + tangentMode: 0 + - serializedVersion: 2 + time: 0.9746217 + value: 0.78333336 + inSlope: 0.6277783 + outSlope: 0.6277783 + tangentMode: 0 + - serializedVersion: 2 + time: 1.0013754 + value: 0.8 + inSlope: 0.61828285 + outSlope: 0.61828285 + tangentMode: 0 + - serializedVersion: 2 + time: 1.0285375 + value: 0.81666666 + inSlope: 0.6090423 + outSlope: 0.6090423 + tangentMode: 0 + - serializedVersion: 2 + time: 1.0561092 + value: 0.8333333 + inSlope: 0.60004467 + outSlope: 0.60004467 + tangentMode: 0 + - serializedVersion: 2 + time: 1.084092 + value: 0.85 + inSlope: 0.5912743 + outSlope: 0.5912743 + tangentMode: 0 + - serializedVersion: 2 + time: 1.1124877 + value: 0.8666667 + inSlope: 0.5827192 + outSlope: 0.5827192 + tangentMode: 0 + - serializedVersion: 2 + time: 1.141298 + value: 0.8833333 + inSlope: 0.574369 + outSlope: 0.574369 + tangentMode: 0 + - serializedVersion: 2 + time: 1.1705253 + value: 0.9 + inSlope: 0.56620884 + outSlope: 0.56620884 + tangentMode: 0 + - serializedVersion: 2 + time: 1.2001722 + value: 0.9166667 + inSlope: 0.5582273 + outSlope: 0.5582273 + tangentMode: 0 + - serializedVersion: 2 + time: 1.2302412 + value: 0.93333334 + inSlope: 0.55041254 + outSlope: 0.55041254 + tangentMode: 0 + - serializedVersion: 2 + time: 1.2607358 + value: 0.95 + inSlope: 0.54275346 + outSlope: 0.54275346 + tangentMode: 0 + - serializedVersion: 2 + time: 1.2916594 + value: 0.96666664 + inSlope: 0.53523904 + outSlope: 0.53523904 + tangentMode: 0 + - serializedVersion: 2 + time: 1.3230163 + value: 0.98333335 + inSlope: 0.5278582 + outSlope: 0.5278582 + tangentMode: 0 + - serializedVersion: 2 + time: 1.3548107 + value: 1 + inSlope: 0.5242004 + outSlope: 0.5242004 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + _tangentCache: + xV: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + yV: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + zV: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + - _a: {x: 0, y: 0, z: 0} + _b: {x: 0.4, y: -0, z: -0.5} + _c: {x: -0, y: -0, z: -0.5} + _d: {x: 1, y: 0, z: 0} + _B: {x: 0.4, y: 0, z: -0.5} + _C: {x: 1, y: 0, z: -0.5} + _length: 1.3548104 + _cache: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: 0.5242009 + outSlope: 0.5242009 + tangentMode: 0 + - serializedVersion: 2 + time: 0.031794425 + value: 0.016666668 + inSlope: 0.52785873 + outSlope: 0.52785873 + tangentMode: 0 + - serializedVersion: 2 + time: 0.06315124 + value: 0.033333335 + inSlope: 0.535239 + outSlope: 0.535239 + tangentMode: 0 + - serializedVersion: 2 + time: 0.09407492 + value: 0.05 + inSlope: 0.5427532 + outSlope: 0.5427532 + tangentMode: 0 + - serializedVersion: 2 + time: 0.124569505 + value: 0.06666667 + inSlope: 0.5504123 + outSlope: 0.5504123 + tangentMode: 0 + - serializedVersion: 2 + time: 0.15463857 + value: 0.083333336 + inSlope: 0.55822724 + outSlope: 0.55822724 + tangentMode: 0 + - serializedVersion: 2 + time: 0.18428533 + value: 0.1 + inSlope: 0.5662089 + outSlope: 0.5662089 + tangentMode: 0 + - serializedVersion: 2 + time: 0.21351264 + value: 0.11666667 + inSlope: 0.57436895 + outSlope: 0.57436895 + tangentMode: 0 + - serializedVersion: 2 + time: 0.24232304 + value: 0.13333334 + inSlope: 0.58272 + outSlope: 0.58272 + tangentMode: 0 + - serializedVersion: 2 + time: 0.27071866 + value: 0.15 + inSlope: 0.59127474 + outSlope: 0.59127474 + tangentMode: 0 + - serializedVersion: 2 + time: 0.29870144 + value: 0.16666667 + inSlope: 0.6000447 + outSlope: 0.6000447 + tangentMode: 0 + - serializedVersion: 2 + time: 0.3262731 + value: 0.18333334 + inSlope: 0.6090431 + outSlope: 0.6090431 + tangentMode: 0 + - serializedVersion: 2 + time: 0.35343516 + value: 0.2 + inSlope: 0.6182841 + outSlope: 0.6182841 + tangentMode: 0 + - serializedVersion: 2 + time: 0.38018885 + value: 0.21666667 + inSlope: 0.6277791 + outSlope: 0.6277791 + tangentMode: 0 + - serializedVersion: 2 + time: 0.4065355 + value: 0.23333333 + inSlope: 0.6375402 + outSlope: 0.6375402 + tangentMode: 0 + - serializedVersion: 2 + time: 0.43247628 + value: 0.25 + inSlope: 0.6475799 + outSlope: 0.6475799 + tangentMode: 0 + - serializedVersion: 2 + time: 0.4580124 + value: 0.26666668 + inSlope: 0.6579102 + outSlope: 0.6579102 + tangentMode: 0 + - serializedVersion: 2 + time: 0.48314497 + value: 0.28333333 + inSlope: 0.66854125 + outSlope: 0.66854125 + tangentMode: 0 + - serializedVersion: 2 + time: 0.50787544 + value: 0.3 + inSlope: 0.679481 + outSlope: 0.679481 + tangentMode: 0 + - serializedVersion: 2 + time: 0.5322053 + value: 0.31666666 + inSlope: 0.69073784 + outSlope: 0.69073784 + tangentMode: 0 + - serializedVersion: 2 + time: 0.5561363 + value: 0.33333334 + inSlope: 0.70231426 + outSlope: 0.70231426 + tangentMode: 0 + - serializedVersion: 2 + time: 0.5796707 + value: 0.35 + inSlope: 0.71421134 + outSlope: 0.71421134 + tangentMode: 0 + - serializedVersion: 2 + time: 0.60281116 + value: 0.36666667 + inSlope: 0.7264287 + outSlope: 0.7264287 + tangentMode: 0 + - serializedVersion: 2 + time: 0.62556064 + value: 0.38333333 + inSlope: 0.7389598 + outSlope: 0.7389598 + tangentMode: 0 + - serializedVersion: 2 + time: 0.64792293 + value: 0.4 + inSlope: 0.7517921 + outSlope: 0.7517921 + tangentMode: 0 + - serializedVersion: 2 + time: 0.66990244 + value: 0.41666666 + inSlope: 0.7649092 + outSlope: 0.7649092 + tangentMode: 0 + - serializedVersion: 2 + time: 0.69150436 + value: 0.43333334 + inSlope: 0.7782772 + outSlope: 0.7782772 + tangentMode: 0 + - serializedVersion: 2 + time: 0.7127353 + value: 0.45 + inSlope: 0.79186034 + outSlope: 0.79186034 + tangentMode: 0 + - serializedVersion: 2 + time: 0.73360246 + value: 0.46666667 + inSlope: 0.80561197 + outSlope: 0.80561197 + tangentMode: 0 + - serializedVersion: 2 + time: 0.75411475 + value: 0.48333332 + inSlope: 0.8194722 + outSlope: 0.8194722 + tangentMode: 0 + - serializedVersion: 2 + time: 0.774282 + value: 0.5 + inSlope: 0.8333658 + outSlope: 0.8333658 + tangentMode: 0 + - serializedVersion: 2 + time: 0.79411596 + value: 0.51666665 + inSlope: 0.84719443 + outSlope: 0.84719443 + tangentMode: 0 + - serializedVersion: 2 + time: 0.81363016 + value: 0.53333336 + inSlope: 0.86085176 + outSlope: 0.86085176 + tangentMode: 0 + - serializedVersion: 2 + time: 0.8328397 + value: 0.55 + inSlope: 0.8742049 + outSlope: 0.8742049 + tangentMode: 0 + - serializedVersion: 2 + time: 0.8517622 + value: 0.56666666 + inSlope: 0.8871052 + outSlope: 0.8871052 + tangentMode: 0 + - serializedVersion: 2 + time: 0.870417 + value: 0.5833333 + inSlope: 0.89938074 + outSlope: 0.89938074 + tangentMode: 0 + - serializedVersion: 2 + time: 0.8888264 + value: 0.6 + inSlope: 0.9108403 + outSlope: 0.9108403 + tangentMode: 0 + - serializedVersion: 2 + time: 0.9070146 + value: 0.6166667 + inSlope: 0.92128074 + outSlope: 0.92128074 + tangentMode: 0 + - serializedVersion: 2 + time: 0.9250089 + value: 0.6333333 + inSlope: 0.93047804 + outSlope: 0.93047804 + tangentMode: 0 + - serializedVersion: 2 + time: 0.9428392 + value: 0.65 + inSlope: 0.9382076 + outSlope: 0.9382076 + tangentMode: 0 + - serializedVersion: 2 + time: 0.96053815 + value: 0.6666667 + inSlope: 0.9442482 + outSlope: 0.9442482 + tangentMode: 0 + - serializedVersion: 2 + time: 0.97814095 + value: 0.68333334 + inSlope: 0.94838136 + outSlope: 0.94838136 + tangentMode: 0 + - serializedVersion: 2 + time: 0.9956858 + value: 0.7 + inSlope: 0.9504195 + outSlope: 0.9504195 + tangentMode: 0 + - serializedVersion: 2 + time: 1.0132132 + value: 0.71666664 + inSlope: 0.95019215 + outSlope: 0.95019215 + tangentMode: 0 + - serializedVersion: 2 + time: 1.0307665 + value: 0.73333335 + inSlope: 0.94758725 + outSlope: 0.94758725 + tangentMode: 0 + - serializedVersion: 2 + time: 1.0483904 + value: 0.75 + inSlope: 0.9425392 + outSlope: 0.9425392 + tangentMode: 0 + - serializedVersion: 2 + time: 1.0661323 + value: 0.76666665 + inSlope: 0.9350216 + outSlope: 0.9350216 + tangentMode: 0 + - serializedVersion: 2 + time: 1.084041 + value: 0.78333336 + inSlope: 0.92509586 + outSlope: 0.92509586 + tangentMode: 0 + - serializedVersion: 2 + time: 1.1021659 + value: 0.8 + inSlope: 0.9128642 + outSlope: 0.9128642 + tangentMode: 0 + - serializedVersion: 2 + time: 1.120558 + value: 0.81666666 + inSlope: 0.89848393 + outSlope: 0.89848393 + tangentMode: 0 + - serializedVersion: 2 + time: 1.1392682 + value: 0.8333333 + inSlope: 0.88215953 + outSlope: 0.88215953 + tangentMode: 0 + - serializedVersion: 2 + time: 1.1583477 + value: 0.85 + inSlope: 0.86412346 + outSlope: 0.86412346 + tangentMode: 0 + - serializedVersion: 2 + time: 1.1778475 + value: 0.8666667 + inSlope: 0.84464085 + outSlope: 0.84464085 + tangentMode: 0 + - serializedVersion: 2 + time: 1.1978178 + value: 0.8833333 + inSlope: 0.8239776 + outSlope: 0.8239776 + tangentMode: 0 + - serializedVersion: 2 + time: 1.2183083 + value: 0.9 + inSlope: 0.8023989 + outSlope: 0.8023989 + tangentMode: 0 + - serializedVersion: 2 + time: 1.2393677 + value: 0.9166667 + inSlope: 0.780164 + outSlope: 0.780164 + tangentMode: 0 + - serializedVersion: 2 + time: 1.2610433 + value: 0.93333334 + inSlope: 0.75751424 + outSlope: 0.75751424 + tangentMode: 0 + - serializedVersion: 2 + time: 1.2833812 + value: 0.95 + inSlope: 0.7346674 + outSlope: 0.7346674 + tangentMode: 0 + - serializedVersion: 2 + time: 1.3064263 + value: 0.96666664 + inSlope: 0.7118139 + outSlope: 0.7118139 + tangentMode: 0 + - serializedVersion: 2 + time: 1.330222 + value: 0.98333335 + inSlope: 0.68911755 + outSlope: 0.68911755 + tangentMode: 0 + - serializedVersion: 2 + time: 1.3548104 + value: 1 + inSlope: 0.67782724 + outSlope: 0.67782724 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + _tangentCache: + xV: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + yV: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + zV: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + - _a: {x: 1, y: 0, z: 0} + _b: {x: 0, y: 0, z: 0.5} + _c: {x: 0.4, y: 0, z: 0.5000001} + _d: {x: -0.0000001937151, y: 0, z: -0.00000017881393} + _B: {x: 1, y: 0, z: 0.5} + _C: {x: 0.3999998, y: 0, z: 0.49999994} + _length: 1.3548108 + _cache: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: 0.67782795 + outSlope: 0.67782795 + tangentMode: 0 + - serializedVersion: 2 + time: 0.024588345 + value: 0.016666668 + inSlope: 0.6891173 + outSlope: 0.6891173 + tangentMode: 0 + - serializedVersion: 2 + time: 0.048384048 + value: 0.033333335 + inSlope: 0.711813 + outSlope: 0.711813 + tangentMode: 0 + - serializedVersion: 2 + time: 0.071429156 + value: 0.05 + inSlope: 0.7346674 + outSlope: 0.7346674 + tangentMode: 0 + - serializedVersion: 2 + time: 0.09376708 + value: 0.06666667 + inSlope: 0.7575152 + outSlope: 0.7575152 + tangentMode: 0 + - serializedVersion: 2 + time: 0.11544264 + value: 0.083333336 + inSlope: 0.7801638 + outSlope: 0.7801638 + tangentMode: 0 + - serializedVersion: 2 + time: 0.13650203 + value: 0.1 + inSlope: 0.8023977 + outSlope: 0.8023977 + tangentMode: 0 + - serializedVersion: 2 + time: 0.15699258 + value: 0.11666667 + inSlope: 0.82397664 + outSlope: 0.82397664 + tangentMode: 0 + - serializedVersion: 2 + time: 0.17696294 + value: 0.13333334 + inSlope: 0.84464186 + outSlope: 0.84464186 + tangentMode: 0 + - serializedVersion: 2 + time: 0.19646266 + value: 0.15 + inSlope: 0.8641243 + outSlope: 0.8641243 + tangentMode: 0 + - serializedVersion: 2 + time: 0.21554221 + value: 0.16666667 + inSlope: 0.88215876 + outSlope: 0.88215876 + tangentMode: 0 + - serializedVersion: 2 + time: 0.23425236 + value: 0.18333334 + inSlope: 0.8984859 + outSlope: 0.8984859 + tangentMode: 0 + - serializedVersion: 2 + time: 0.2526444 + value: 0.2 + inSlope: 0.91286504 + outSlope: 0.91286504 + tangentMode: 0 + - serializedVersion: 2 + time: 0.2707694 + value: 0.21666667 + inSlope: 0.92509663 + outSlope: 0.92509663 + tangentMode: 0 + - serializedVersion: 2 + time: 0.28867796 + value: 0.23333333 + inSlope: 0.93502223 + outSlope: 0.93502223 + tangentMode: 0 + - serializedVersion: 2 + time: 0.30641994 + value: 0.25 + inSlope: 0.9425365 + outSlope: 0.9425365 + tangentMode: 0 + - serializedVersion: 2 + time: 0.32404393 + value: 0.26666668 + inSlope: 0.947588 + outSlope: 0.947588 + tangentMode: 0 + - serializedVersion: 2 + time: 0.3415971 + value: 0.28333333 + inSlope: 0.9501913 + outSlope: 0.9501913 + tangentMode: 0 + - serializedVersion: 2 + time: 0.3591246 + value: 0.3 + inSlope: 0.9504171 + outSlope: 0.9504171 + tangentMode: 0 + - serializedVersion: 2 + time: 0.37666944 + value: 0.31666666 + inSlope: 0.94837904 + outSlope: 0.94837904 + tangentMode: 0 + - serializedVersion: 2 + time: 0.3942724 + value: 0.33333334 + inSlope: 0.9442449 + outSlope: 0.9442449 + tangentMode: 0 + - serializedVersion: 2 + time: 0.41197127 + value: 0.35 + inSlope: 0.93820906 + outSlope: 0.93820906 + tangentMode: 0 + - serializedVersion: 2 + time: 0.42980155 + value: 0.36666667 + inSlope: 0.9304789 + outSlope: 0.9304789 + tangentMode: 0 + - serializedVersion: 2 + time: 0.44779587 + value: 0.38333333 + inSlope: 0.92128 + outSlope: 0.92128 + tangentMode: 0 + - serializedVersion: 2 + time: 0.46598414 + value: 0.4 + inSlope: 0.9108424 + outSlope: 0.9108424 + tangentMode: 0 + - serializedVersion: 2 + time: 0.48439336 + value: 0.41666666 + inSlope: 0.8993779 + outSlope: 0.8993779 + tangentMode: 0 + - serializedVersion: 2 + time: 0.5030484 + value: 0.43333334 + inSlope: 0.88710165 + outSlope: 0.88710165 + tangentMode: 0 + - serializedVersion: 2 + time: 0.5219708 + value: 0.45 + inSlope: 0.8742044 + outSlope: 0.8742044 + tangentMode: 0 + - serializedVersion: 2 + time: 0.5411805 + value: 0.46666667 + inSlope: 0.8608496 + outSlope: 0.8608496 + tangentMode: 0 + - serializedVersion: 2 + time: 0.56069463 + value: 0.48333332 + inSlope: 0.8471962 + outSlope: 0.8471962 + tangentMode: 0 + - serializedVersion: 2 + time: 0.58052856 + value: 0.5 + inSlope: 0.8333671 + outSlope: 0.8333671 + tangentMode: 0 + - serializedVersion: 2 + time: 0.6006958 + value: 0.51666665 + inSlope: 0.8194729 + outSlope: 0.8194729 + tangentMode: 0 + - serializedVersion: 2 + time: 0.6212081 + value: 0.53333336 + inSlope: 0.8056104 + outSlope: 0.8056104 + tangentMode: 0 + - serializedVersion: 2 + time: 0.64207536 + value: 0.55 + inSlope: 0.79185843 + outSlope: 0.79185843 + tangentMode: 0 + - serializedVersion: 2 + time: 0.66330624 + value: 0.56666666 + inSlope: 0.7782755 + outSlope: 0.7782755 + tangentMode: 0 + - serializedVersion: 2 + time: 0.6849083 + value: 0.5833333 + inSlope: 0.7649067 + outSlope: 0.7649067 + tangentMode: 0 + - serializedVersion: 2 + time: 0.70688784 + value: 0.6 + inSlope: 0.75179374 + outSlope: 0.75179374 + tangentMode: 0 + - serializedVersion: 2 + time: 0.72925 + value: 0.6166667 + inSlope: 0.7389611 + outSlope: 0.7389611 + tangentMode: 0 + - serializedVersion: 2 + time: 0.7519995 + value: 0.6333333 + inSlope: 0.726429 + outSlope: 0.726429 + tangentMode: 0 + - serializedVersion: 2 + time: 0.77513987 + value: 0.65 + inSlope: 0.71421206 + outSlope: 0.71421206 + tangentMode: 0 + - serializedVersion: 2 + time: 0.79867435 + value: 0.6666667 + inSlope: 0.7023132 + outSlope: 0.7023132 + tangentMode: 0 + - serializedVersion: 2 + time: 0.82260543 + value: 0.68333334 + inSlope: 0.6907372 + outSlope: 0.6907372 + tangentMode: 0 + - serializedVersion: 2 + time: 0.8469352 + value: 0.7 + inSlope: 0.6794817 + outSlope: 0.6794817 + tangentMode: 0 + - serializedVersion: 2 + time: 0.87166566 + value: 0.71666664 + inSlope: 0.6685411 + outSlope: 0.6685411 + tangentMode: 0 + - serializedVersion: 2 + time: 0.8967983 + value: 0.73333335 + inSlope: 0.65791035 + outSlope: 0.65791035 + tangentMode: 0 + - serializedVersion: 2 + time: 0.9223344 + value: 0.75 + inSlope: 0.64757985 + outSlope: 0.64757985 + tangentMode: 0 + - serializedVersion: 2 + time: 0.94827515 + value: 0.76666665 + inSlope: 0.63753974 + outSlope: 0.63753974 + tangentMode: 0 + - serializedVersion: 2 + time: 0.9746219 + value: 0.78333336 + inSlope: 0.627779 + outSlope: 0.627779 + tangentMode: 0 + - serializedVersion: 2 + time: 1.0013756 + value: 0.8 + inSlope: 0.61828357 + outSlope: 0.61828357 + tangentMode: 0 + - serializedVersion: 2 + time: 1.0285376 + value: 0.81666666 + inSlope: 0.6090423 + outSlope: 0.6090423 + tangentMode: 0 + - serializedVersion: 2 + time: 1.0561093 + value: 0.8333333 + inSlope: 0.60004467 + outSlope: 0.60004467 + tangentMode: 0 + - serializedVersion: 2 + time: 1.0840921 + value: 0.85 + inSlope: 0.5912743 + outSlope: 0.5912743 + tangentMode: 0 + - serializedVersion: 2 + time: 1.1124878 + value: 0.8666667 + inSlope: 0.5827192 + outSlope: 0.5827192 + tangentMode: 0 + - serializedVersion: 2 + time: 1.1412982 + value: 0.8833333 + inSlope: 0.574369 + outSlope: 0.574369 + tangentMode: 0 + - serializedVersion: 2 + time: 1.1705254 + value: 0.9 + inSlope: 0.56620884 + outSlope: 0.56620884 + tangentMode: 0 + - serializedVersion: 2 + time: 1.2001723 + value: 0.9166667 + inSlope: 0.5582273 + outSlope: 0.5582273 + tangentMode: 0 + - serializedVersion: 2 + time: 1.2302413 + value: 0.93333334 + inSlope: 0.55041254 + outSlope: 0.55041254 + tangentMode: 0 + - serializedVersion: 2 + time: 1.2607359 + value: 0.95 + inSlope: 0.54275346 + outSlope: 0.54275346 + tangentMode: 0 + - serializedVersion: 2 + time: 1.2916595 + value: 0.96666664 + inSlope: 0.53523904 + outSlope: 0.53523904 + tangentMode: 0 + - serializedVersion: 2 + time: 1.3230164 + value: 0.98333335 + inSlope: 0.5278582 + outSlope: 0.5278582 + tangentMode: 0 + - serializedVersion: 2 + time: 1.3548108 + value: 1 + inSlope: 0.5242004 + outSlope: 0.5242004 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + _tangentCache: + xV: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + yV: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + zV: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + - _a: {x: -0.0000001937151, y: 0, z: -0.00000017881393} + _b: {x: -0.4, y: -0, z: -0.5000001} + _c: {x: -0, y: -0, z: -0.5} + _d: {x: -1, y: 0, z: 0} + _B: {x: -0.4000002, y: 0, z: -0.5000003} + _C: {x: -1, y: 0, z: -0.5} + _length: 1.3548102 + _cache: + serializedVersion: 2 + m_Curve: + - serializedVersion: 2 + time: 0 + value: 0 + inSlope: 0.5242008 + outSlope: 0.5242008 + tangentMode: 0 + - serializedVersion: 2 + time: 0.031794433 + value: 0.016666668 + inSlope: 0.52785873 + outSlope: 0.52785873 + tangentMode: 0 + - serializedVersion: 2 + time: 0.06315125 + value: 0.033333335 + inSlope: 0.53523886 + outSlope: 0.53523886 + tangentMode: 0 + - serializedVersion: 2 + time: 0.094074935 + value: 0.05 + inSlope: 0.5427532 + outSlope: 0.5427532 + tangentMode: 0 + - serializedVersion: 2 + time: 0.12456952 + value: 0.06666667 + inSlope: 0.5504123 + outSlope: 0.5504123 + tangentMode: 0 + - serializedVersion: 2 + time: 0.15463859 + value: 0.083333336 + inSlope: 0.55822724 + outSlope: 0.55822724 + tangentMode: 0 + - serializedVersion: 2 + time: 0.18428534 + value: 0.1 + inSlope: 0.5662089 + outSlope: 0.5662089 + tangentMode: 0 + - serializedVersion: 2 + time: 0.21351266 + value: 0.11666667 + inSlope: 0.57436895 + outSlope: 0.57436895 + tangentMode: 0 + - serializedVersion: 2 + time: 0.24232306 + value: 0.13333334 + inSlope: 0.5827198 + outSlope: 0.5827198 + tangentMode: 0 + - serializedVersion: 2 + time: 0.2707187 + value: 0.15 + inSlope: 0.59127456 + outSlope: 0.59127456 + tangentMode: 0 + - serializedVersion: 2 + time: 0.29870147 + value: 0.16666667 + inSlope: 0.6000447 + outSlope: 0.6000447 + tangentMode: 0 + - serializedVersion: 2 + time: 0.32627314 + value: 0.18333334 + inSlope: 0.6090431 + outSlope: 0.6090431 + tangentMode: 0 + - serializedVersion: 2 + time: 0.3534352 + value: 0.2 + inSlope: 0.6182841 + outSlope: 0.6182841 + tangentMode: 0 + - serializedVersion: 2 + time: 0.38018888 + value: 0.21666667 + inSlope: 0.6277791 + outSlope: 0.6277791 + tangentMode: 0 + - serializedVersion: 2 + time: 0.40653554 + value: 0.23333333 + inSlope: 0.6375406 + outSlope: 0.6375406 + tangentMode: 0 + - serializedVersion: 2 + time: 0.43247628 + value: 0.25 + inSlope: 0.64757997 + outSlope: 0.64757997 + tangentMode: 0 + - serializedVersion: 2 + time: 0.45801243 + value: 0.26666668 + inSlope: 0.6579102 + outSlope: 0.6579102 + tangentMode: 0 + - serializedVersion: 2 + time: 0.48314497 + value: 0.28333333 + inSlope: 0.6685425 + outSlope: 0.6685425 + tangentMode: 0 + - serializedVersion: 2 + time: 0.5078754 + value: 0.3 + inSlope: 0.67948186 + outSlope: 0.67948186 + tangentMode: 0 + - serializedVersion: 2 + time: 0.5322052 + value: 0.31666666 + inSlope: 0.690737 + outSlope: 0.690737 + tangentMode: 0 + - serializedVersion: 2 + time: 0.5561363 + value: 0.33333334 + inSlope: 0.7023134 + outSlope: 0.7023134 + tangentMode: 0 + - serializedVersion: 2 + time: 0.5796707 + value: 0.35 + inSlope: 0.71421134 + outSlope: 0.71421134 + tangentMode: 0 + - serializedVersion: 2 + time: 0.60281116 + value: 0.36666667 + inSlope: 0.72642964 + outSlope: 0.72642964 + tangentMode: 0 + - serializedVersion: 2 + time: 0.6255606 + value: 0.38333333 + inSlope: 0.73896074 + outSlope: 0.73896074 + tangentMode: 0 + - serializedVersion: 2 + time: 0.6479229 + value: 0.4 + inSlope: 0.7517921 + outSlope: 0.7517921 + tangentMode: 0 + - serializedVersion: 2 + time: 0.6699024 + value: 0.41666666 + inSlope: 0.7649092 + outSlope: 0.7649092 + tangentMode: 0 + - serializedVersion: 2 + time: 0.6915043 + value: 0.43333334 + inSlope: 0.7782772 + outSlope: 0.7782772 + tangentMode: 0 + - serializedVersion: 2 + time: 0.71273524 + value: 0.45 + inSlope: 0.79186034 + outSlope: 0.79186034 + tangentMode: 0 + - serializedVersion: 2 + time: 0.7336024 + value: 0.46666667 + inSlope: 0.80561197 + outSlope: 0.80561197 + tangentMode: 0 + - serializedVersion: 2 + time: 0.7541147 + value: 0.48333332 + inSlope: 0.8194722 + outSlope: 0.8194722 + tangentMode: 0 + - serializedVersion: 2 + time: 0.7742819 + value: 0.5 + inSlope: 0.8333671 + outSlope: 0.8333671 + tangentMode: 0 + - serializedVersion: 2 + time: 0.79411584 + value: 0.51666665 + inSlope: 0.84719574 + outSlope: 0.84719574 + tangentMode: 0 + - serializedVersion: 2 + time: 0.81363004 + value: 0.53333336 + inSlope: 0.86085045 + outSlope: 0.86085045 + tangentMode: 0 + - serializedVersion: 2 + time: 0.83283967 + value: 0.55 + inSlope: 0.87420493 + outSlope: 0.87420493 + tangentMode: 0 + - serializedVersion: 2 + time: 0.85176206 + value: 0.56666666 + inSlope: 0.88710654 + outSlope: 0.88710654 + tangentMode: 0 + - serializedVersion: 2 + time: 0.8704169 + value: 0.5833333 + inSlope: 0.89938074 + outSlope: 0.89938074 + tangentMode: 0 + - serializedVersion: 2 + time: 0.88882625 + value: 0.6 + inSlope: 0.9108403 + outSlope: 0.9108403 + tangentMode: 0 + - serializedVersion: 2 + time: 0.9070145 + value: 0.6166667 + inSlope: 0.92128074 + outSlope: 0.92128074 + tangentMode: 0 + - serializedVersion: 2 + time: 0.9250088 + value: 0.6333333 + inSlope: 0.9304764 + outSlope: 0.9304764 + tangentMode: 0 + - serializedVersion: 2 + time: 0.94283915 + value: 0.65 + inSlope: 0.9382092 + outSlope: 0.9382092 + tangentMode: 0 + - serializedVersion: 2 + time: 0.96053797 + value: 0.6666667 + inSlope: 0.94424814 + outSlope: 0.94424814 + tangentMode: 0 + - serializedVersion: 2 + time: 0.9781409 + value: 0.68333334 + inSlope: 0.94837976 + outSlope: 0.94837976 + tangentMode: 0 + - serializedVersion: 2 + time: 0.9956857 + value: 0.7 + inSlope: 0.9504179 + outSlope: 0.9504179 + tangentMode: 0 + - serializedVersion: 2 + time: 1.0132132 + value: 0.71666664 + inSlope: 0.9501922 + outSlope: 0.9501922 + tangentMode: 0 + - serializedVersion: 2 + time: 1.0307664 + value: 0.73333335 + inSlope: 0.94758725 + outSlope: 0.94758725 + tangentMode: 0 + - serializedVersion: 2 + time: 1.0483904 + value: 0.75 + inSlope: 0.942536 + outSlope: 0.942536 + tangentMode: 0 + - serializedVersion: 2 + time: 1.0661323 + value: 0.76666665 + inSlope: 0.9350247 + outSlope: 0.9350247 + tangentMode: 0 + - serializedVersion: 2 + time: 1.0840409 + value: 0.78333336 + inSlope: 0.9250959 + outSlope: 0.9250959 + tangentMode: 0 + - serializedVersion: 2 + time: 1.1021659 + value: 0.8 + inSlope: 0.9128642 + outSlope: 0.9128642 + tangentMode: 0 + - serializedVersion: 2 + time: 1.1205579 + value: 0.81666666 + inSlope: 0.89848685 + outSlope: 0.89848685 + tangentMode: 0 + - serializedVersion: 2 + time: 1.139268 + value: 0.8333333 + inSlope: 0.88215953 + outSlope: 0.88215953 + tangentMode: 0 + - serializedVersion: 2 + time: 1.1583476 + value: 0.85 + inSlope: 0.86412346 + outSlope: 0.86412346 + tangentMode: 0 + - serializedVersion: 2 + time: 1.1778474 + value: 0.8666667 + inSlope: 0.84464085 + outSlope: 0.84464085 + tangentMode: 0 + - serializedVersion: 2 + time: 1.1978177 + value: 0.8833333 + inSlope: 0.8239776 + outSlope: 0.8239776 + tangentMode: 0 + - serializedVersion: 2 + time: 1.2183082 + value: 0.9 + inSlope: 0.8023989 + outSlope: 0.8023989 + tangentMode: 0 + - serializedVersion: 2 + time: 1.2393676 + value: 0.9166667 + inSlope: 0.780164 + outSlope: 0.780164 + tangentMode: 0 + - serializedVersion: 2 + time: 1.2610432 + value: 0.93333334 + inSlope: 0.75751424 + outSlope: 0.75751424 + tangentMode: 0 + - serializedVersion: 2 + time: 1.2833811 + value: 0.95 + inSlope: 0.7346674 + outSlope: 0.7346674 + tangentMode: 0 + - serializedVersion: 2 + time: 1.3064262 + value: 0.96666664 + inSlope: 0.7118139 + outSlope: 0.7118139 + tangentMode: 0 + - serializedVersion: 2 + time: 1.3302219 + value: 0.98333335 + inSlope: 0.68911755 + outSlope: 0.68911755 + tangentMode: 0 + - serializedVersion: 2 + time: 1.3548102 + value: 1 + inSlope: 0.67782724 + outSlope: 0.67782724 + tangentMode: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + _tangentCache: + xV: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + yV: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + zV: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + autoKnot: + - 0 + - 0 + - 0 + - 0 + orientations: + - rotation: {x: 0, y: 0, z: 0, w: 1} + hasValue: 0 + - rotation: {x: 0, y: 0, z: 0, w: 1} + hasValue: 0 + - rotation: {x: 0, y: 0, z: 0, w: 1} + hasValue: 0 + - rotation: {x: 0, y: 0, z: 0, w: 1} + hasValue: 0 + tangentCache: [] +--- !u!4 &1728551164 +Transform: + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_GameObject: {fileID: 1728551162} + m_LocalRotation: {x: -0.7071068, y: 0, z: 0, w: 0.7071068} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: -90, y: 0, z: 0} diff --git a/Unity/Assets/Bezier3D-master/Examples/Example.unity.meta b/Unity/Assets/Bezier3D-master/Examples/Example.unity.meta new file mode 100644 index 0000000..74fba24 --- /dev/null +++ b/Unity/Assets/Bezier3D-master/Examples/Example.unity.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4f8049d438f20034f8206a317fc02fc6 +timeCreated: 1500908139 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity/Assets/Bezier3D-master/Examples/Red.mat b/Unity/Assets/Bezier3D-master/Examples/Red.mat new file mode 100644 index 0000000..db12385 --- /dev/null +++ b/Unity/Assets/Bezier3D-master/Examples/Red.mat @@ -0,0 +1,76 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_PrefabParentObject: {fileID: 0} + m_PrefabInternal: {fileID: 0} + m_Name: Red + m_Shader: {fileID: 10755, guid: 0000000000000000f000000000000000, type: 0} + m_ShaderKeywords: + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _BumpScale: 1 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _GlossMapScale: 1 + - _Glossiness: 0.5 + - _GlossyReflections: 1 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.02 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _UVSec: 0 + - _ZWrite: 1 + m_Colors: + - _Color: {r: 0.8627451, g: 0, b: 0, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} diff --git a/Unity/Assets/Bezier3D-master/Examples/Red.mat.meta b/Unity/Assets/Bezier3D-master/Examples/Red.mat.meta new file mode 100644 index 0000000..a2274fe --- /dev/null +++ b/Unity/Assets/Bezier3D-master/Examples/Red.mat.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 4b4714dbfdf5f964ab32a3d5005d95cc +timeCreated: 1503295819 +licenseType: Free +NativeFormatImporter: + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity/Assets/Bezier3D-master/Examples/SplineTrain.cs b/Unity/Assets/Bezier3D-master/Examples/SplineTrain.cs new file mode 100644 index 0000000..d1d5461 --- /dev/null +++ b/Unity/Assets/Bezier3D-master/Examples/SplineTrain.cs @@ -0,0 +1,56 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class SplineTrain : MonoBehaviour { + + public bool distance = true; + public enum TrainType { Clamp, Loop, PingPong } + public Bezier3DSpline spline; + public TrainType trainType; + public float speed = 1; + public float startPos = 0; + + [ContextMenu("TEST")] + void Test( ) { + for (int i = 0; i < 100000; i++) { + spline.GetForwardLocal(startPos); + } + for (int i = 0; i < 100000; i++) { + spline.GetForwardLocalFast(startPos); + } + } + void Start() { + if (!spline) Debug.LogWarning("Please assign a spline to SplineTrain", this); + } + + void OnValidate() { + //if (trainType == TrainType.Clamp) startPos = Mathf.Clamp(startPos, 0, spline.totalLength); + if (spline != null) SetPos(startPos); + } + void Update () { + if (!spline) return; + SetPos((Time.time * speed) + startPos); + } + + void SetPos(float pos) { + switch (trainType) { + case TrainType.Clamp: + break; + case TrainType.Loop: + pos = Mathf.Repeat(pos, distance ? spline.totalLength : 1); + break; + case TrainType.PingPong: + pos = Mathf.PingPong(pos, distance ? spline.totalLength : 1); + break; + } + if (distance) { + transform.position = spline.GetPoint(pos); + transform.rotation = spline.GetOrientation(pos); + } + else { + transform.position = spline.GetPoint(spline.DistanceToTime(pos)); + transform.rotation = spline.GetOrientation(spline.DistanceToTime(pos)); + } + } +} diff --git a/Unity/Assets/Bezier3D-master/Examples/SplineTrain.cs.meta b/Unity/Assets/Bezier3D-master/Examples/SplineTrain.cs.meta new file mode 100644 index 0000000..25d1238 --- /dev/null +++ b/Unity/Assets/Bezier3D-master/Examples/SplineTrain.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: e990ee1fd69e3a040a8ec8a4d9349c6b +timeCreated: 1500642974 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity/Assets/Bezier3D-master/README.md b/Unity/Assets/Bezier3D-master/README.md new file mode 100644 index 0000000..eb1c019 --- /dev/null +++ b/Unity/Assets/Bezier3D-master/README.md @@ -0,0 +1,13 @@ +### Bezier3D +Core bezier implementation for Unity3D. +Contains basic bezier functionality with distance interpolation and orientation anchors. + +**Highlighted Methods** +* *GetPointDistance(float)* - Given distance, returns a point +* *GetOrientationDistance(float)* - Given distance, returns orientation + +**Simple Editor** + +![alt text](http://imgur.com/Ip95Pig.png "Bezier3D demonstration") + +![alt text](http://i.imgur.com/tbmW9R1.gif "Bezier3D demonstration") diff --git a/Unity/Assets/Bezier3D-master/Scripts.meta b/Unity/Assets/Bezier3D-master/Scripts.meta new file mode 100644 index 0000000..349a8ea --- /dev/null +++ b/Unity/Assets/Bezier3D-master/Scripts.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: d8dcf6f838d768e4086538db75f2a55f +folderAsset: yes +timeCreated: 1504774200 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity/Assets/Bezier3D-master/Scripts/Editor.meta b/Unity/Assets/Bezier3D-master/Scripts/Editor.meta new file mode 100644 index 0000000..4a1c55b --- /dev/null +++ b/Unity/Assets/Bezier3D-master/Scripts/Editor.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: aff6335a9bc5c39448293cd18634bac5 +folderAsset: yes +timeCreated: 1500120781 +licenseType: Free +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity/Assets/JCMG Curves.meta b/Unity/Assets/JCMG Curves.meta new file mode 100644 index 0000000..37fd8e6 --- /dev/null +++ b/Unity/Assets/JCMG Curves.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 36c829b800d0a2c4989f6fb263801195 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity/Assets/JCMG Curves/Licenses.meta b/Unity/Assets/JCMG Curves/Licenses.meta new file mode 100644 index 0000000..727213d --- /dev/null +++ b/Unity/Assets/JCMG Curves/Licenses.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 40527a6e86e0a9347a098edd331a55ab +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity/Assets/JCMG Curves/Licenses/LICENSE.md b/Unity/Assets/JCMG Curves/Licenses/LICENSE.md new file mode 100644 index 0000000..4356107 --- /dev/null +++ b/Unity/Assets/JCMG Curves/Licenses/LICENSE.md @@ -0,0 +1,9 @@ +MIT License + +Copyright (c) 2017 Thor Brigsted + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/Unity/Assets/JCMG Curves/Licenses/LICENSE.md.meta b/Unity/Assets/JCMG Curves/Licenses/LICENSE.md.meta new file mode 100644 index 0000000..f4fb672 --- /dev/null +++ b/Unity/Assets/JCMG Curves/Licenses/LICENSE.md.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: b2982e59ff6d6b341a57cc51fdcd1a95 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity/Assets/JCMG Curves/Scripts.meta b/Unity/Assets/JCMG Curves/Scripts.meta new file mode 100644 index 0000000..dac51b1 --- /dev/null +++ b/Unity/Assets/JCMG Curves/Scripts.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 66a2f4def4d45434d94abfb0bc1c25ce +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity/Assets/JCMG Curves/Scripts/Bezier3DCurve.cs b/Unity/Assets/JCMG Curves/Scripts/Bezier3DCurve.cs new file mode 100644 index 0000000..08450f5 --- /dev/null +++ b/Unity/Assets/JCMG Curves/Scripts/Bezier3DCurve.cs @@ -0,0 +1,165 @@ +using UnityEngine; + +/// Immutable Bezier curve between two points +[System.Serializable] +public class Bezier3DCurve { + + + /// Start point + public Vector3 a { get { return _a; } } + [SerializeField] private Vector3 _a; + /// First handle. Local to start point + public Vector3 b { get { return _b; } } + [SerializeField] private Vector3 _b; + /// Second handle. Local to end point + public Vector3 c { get { return _c; } } + [SerializeField] private Vector3 _c; + /// End point + public Vector3 d { get { return _d; } } + [SerializeField] private Vector3 _d; + + /// B and C in world coordinates + [SerializeField] private Vector3 _B, _C; + /// Total length of the curve + public float length { get { return _length; } } + [SerializeField] private float _length; + /// True if the curve is defined as a straight line + public bool isLinear { get { return _isLinear; } } + [SerializeField] private bool _isLinear; + + public AnimationCurve cache { get { return _cache; } } + [SerializeField] private AnimationCurve _cache; + [SerializeField] private Bezier3D.Vector3AnimationCurve _tangentCache; + + /// Constructor + /// Start point + /// First handle. Local to start point + /// Second handle. Local to end point + /// End point + public Bezier3DCurve(Vector3 a, Vector3 b, Vector3 c, Vector3 d, int steps) { + _a = a; + _b = b; + _c = c; + _d = d; + _B = a + b; + _C = d + c; + _isLinear = b.sqrMagnitude == 0f && c.sqrMagnitude == 0f; + _cache = GetDistanceCache(a,a+b,c+d,d,steps); + _tangentCache = GetTangentCache(a, a + b, c + d, d, steps); + _length = _cache.keys[_cache.keys.Length - 1].time; + } + + #region Public methods + public Vector3 GetPoint(float t) { + return GetPoint(_a, _B, _C, _d, t); + } + + public void GetPoint(float t, out Vector3 point) + { + GetPoint(ref _a, ref _B, ref _C, ref _d, t, out point); + } + + public void GetForward(float t, out Vector3 forward) + { + GetForward(ref _a, ref _B, ref _C, ref _d, t, out forward); + } + + + public Vector3 GetForward(float t) { + return GetForward(_a, _B, _C, _d, t); + } + + public Vector3 GetForwardFast(float t) { + return _tangentCache.Evaluate(t); + } + + public float Dist2Time(float distance) { + return _cache.Evaluate(distance); + } + #endregion + + #region Private methods + private static Bezier3D.Vector3AnimationCurve GetTangentCache(Vector3 p0, Vector3 p1, Vector3 p2, Vector3 p3, int steps) { + Bezier3D.Vector3AnimationCurve curve = new Bezier3D.Vector3AnimationCurve(); //time = distance, value = time + float delta = 1f / steps; + for (int i = 0; i < steps+1; i++) { + curve.AddKey(delta * i, GetForward(p0, p1, p2, p3, delta * i).normalized); + } + return curve; + } + + private static AnimationCurve GetDistanceCache(Vector3 p0, Vector3 p1, Vector3 p2, Vector3 p3, int steps) { + AnimationCurve curve = new AnimationCurve(); //time = distance, value = time + Vector3 prevPos = Vector3.zero; + float totalLength = 0f; + for (int i = 0; i <= steps; i++) { + //Normalize i + float t = (float)i / (float)steps; + //Get position from t + Vector3 newPos = GetPoint(p0, p1, p2, p3, t); + //First step + if (i == 0) { + //Add point at (0,0) + prevPos = GetPoint(p0, p1, p2, p3, 0); + curve.AddKey(0, 0); + } + //Per step + else { + //Get distance from previous point + float segmentLength = Vector3.Distance(prevPos, newPos); + //Accumulate total distance traveled + totalLength += segmentLength; + //Save current position for next iteration + prevPos = newPos; + //Cache data + curve.AddKey(totalLength, t); + } + } + return curve; + } + + public static Vector3 GetPoint(Vector3 a, Vector3 b, Vector3 c, Vector3 d, float t) { + t = Mathf.Clamp01(t); + float oneMinusT = 1f - t; + return + oneMinusT * oneMinusT * oneMinusT * a + + 3f * oneMinusT * oneMinusT * t * b + + 3f * oneMinusT * t * t * c + + t * t * t * d; + } + private static Vector3 GetForward(Vector3 a, Vector3 b, Vector3 c, Vector3 d, float t) { //Also known as first derivative + t = Mathf.Clamp01(t); + float oneMinusT = 1f - t; + return + 3f * oneMinusT * oneMinusT * (b - a) + + 6f * oneMinusT * t * (c - b) + + 3f * t * t * (d - c); + } + + private static void GetForward(ref Vector3 a, ref Vector3 b, ref Vector3 c, ref Vector3 d, float t, out Vector3 result) + { //Also known as first derivative + float oneMinusT = 1f - t; + float baScale = 3f * oneMinusT * oneMinusT; + float cbScale = 6f * oneMinusT * t; + float dcScale = 3f * t * t; + + result.x = baScale * (b.x - a.x) + cbScale * (c.x - b.x) + dcScale * (d.x - c.x); + result.y = baScale * (b.y - a.y) + cbScale * (c.y - b.y) + dcScale * (d.y - c.y); + result.z = baScale * (b.z - a.z) + cbScale * (c.z - b.z) + dcScale * (d.z - c.z); + } + + private static void GetPoint(ref Vector3 a, ref Vector3 b, ref Vector3 c, ref Vector3 d, float t, out Vector3 result) + { + float oneMinusT = 1f - t; + float aScale = oneMinusT * oneMinusT * oneMinusT; + float bScale = 3f * oneMinusT * oneMinusT * t; + float cScale = 3f * oneMinusT * t * t; + float dScale = t * t * t; + + result.x = aScale * a.x + bScale * b.x + cScale * c.x + dScale * d.x; + result.y = aScale * a.y + bScale * b.y + cScale * c.y + dScale * d.y; + result.z = aScale * a.z + bScale * b.z + cScale * c.z + dScale * d.z; + } + + #endregion +} diff --git a/Unity/Assets/JCMG Curves/Scripts/Bezier3DCurve.cs.meta b/Unity/Assets/JCMG Curves/Scripts/Bezier3DCurve.cs.meta new file mode 100644 index 0000000..9e5f80b --- /dev/null +++ b/Unity/Assets/JCMG Curves/Scripts/Bezier3DCurve.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 551e9067d77995e458de802d0b821900 +timeCreated: 1500120404 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity/Assets/JCMG Curves/Scripts/Bezier3DSpline.cs b/Unity/Assets/JCMG Curves/Scripts/Bezier3DSpline.cs new file mode 100644 index 0000000..6cd92fe --- /dev/null +++ b/Unity/Assets/JCMG Curves/Scripts/Bezier3DSpline.cs @@ -0,0 +1,588 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using System; +using System.Linq; +using UnityEngine.Serialization; + +[AddComponentMenu("Miscellaneous/Bezier Spline")] +public class Bezier3DSpline : MonoBehaviour{ + + public int KnotCount { get { return curves.Length+(closed?0:1); } } + public int CurveCount { get { return curves.Length; } } + /// Interpolation steps per curve + public int cacheDensity { get { return _cacheDensity; } } + [SerializeField] protected int _cacheDensity = 60; + /// Whether the end of the spline connects to the start of the spline + public bool closed { get { return _closed; } } + [SerializeField] protected bool _closed = false; + /// Sum of all curve lengths + public float totalLength { get { return _totalLength; } } + [SerializeField] protected float _totalLength = 2.370671f; + /// Curves of the spline + [SerializeField] protected Bezier3DCurve[] curves = new Bezier3DCurve[] { new Bezier3DCurve( new Vector3(-1,0,0), new Vector3(1,0,1), new Vector3(-1,0,-1), new Vector3(1,0,0), 60)}; + /// Automatic knots don't have handles. Instead they have a percentage and adjust their handles accordingly. A percentage of 0 indicates that this is not automatic + [SerializeField] protected List autoKnot = new List() { 0, 0 }; + [SerializeField] protected List orientations = new List() { new NullableQuaternion(null), new NullableQuaternion(null) }; + [SerializeField] protected Vector3[] tangentCache = new Vector3[0]; + + #region Public methods + + #region Public: get + + + public void GetOrientationRaw(int index, out Quaternion result) + { + for (int i = index; i < CurveCount; i++) + { + if (orientations[i].HasValue) + { + result = orientations[i].Value; + return; + } + } + for (int i = index-1; i >= 0; i++) + { + if (orientations[i].HasValue) + { + result = orientations[i].Value; + return; + } + } + result = Quaternion.identity; + } + + public float DistanceToTime(float dist) { + float t = 0f; + for (int i = 0; i < CurveCount; i++) { + if (curves[i].length < dist) { + dist -= curves[i].length; + t += 1f / CurveCount; + } + else { + t += curves[i].Dist2Time(dist) / CurveCount; + return t; + } + } + return 1f; + } + + /// Get by index + public Bezier3DCurve GetCurve(int i) { + if (i >= CurveCount || i < 0) throw new System.IndexOutOfRangeException("Cuve index " + i + " out of range"); + return curves[i]; + } + + /// Return info in local coordinates + public Knot GetKnot(int i) { + if (i == 0) { + if (closed) return new Knot(curves[0].a, curves[CurveCount - 1].c, curves[0].b, autoKnot[i], orientations[i].NullableValue); + else return new Knot(curves[0].a, Vector3.zero, curves[0].b, autoKnot[i], orientations[i].NullableValue); + } + else if (i == CurveCount) { + return new Knot(curves[i - 1].d, curves[i - 1].c, Vector3.zero, autoKnot[i], orientations[i].NullableValue); + } + else { + return new Knot(curves[i].a, curves[i - 1].c, curves[i].b, autoKnot[i], orientations[i].NullableValue); + } + } + + #region Public get: Forward + /// Return forward vector at set distance along the . + public Vector3 GetForward(float dist) { + return transform.TransformDirection(GetForwardLocal(dist)); + } + + /// Return forward vector at set distance along the in local coordinates. + public Vector3 GetForwardLocal(float dist) { + Bezier3DCurve curve = GetCurveDistance(dist, out dist); + return curve.GetForward(curve.Dist2Time(dist)); + } + + /// Return forward vector at set distance along the . Uses approximation. + public Vector3 GetForwardFast(float dist) { + return transform.TransformDirection(GetForwardLocalFast(dist)); + } + + /// Return forward vector at set distance along the in local coordinates. Uses approximation. + public Vector3 GetForwardLocalFast(float dist) { + Bezier3DCurve curve = GetCurveDistance(dist, out dist); + return curve.GetForwardFast(curve.Dist2Time(dist)); + } + #endregion + + #region Public get: Up + /// Return up vector at set distance along the . + public Vector3 GetUp(float dist) { + return GetUp(dist, GetForward(dist), false); + } + + /// Return up vector at set distance along the in local coordinates. + public Vector3 GetUpLocal(float dist) { + return GetUp(dist, GetForward(dist), true); + } + #endregion + + #region Public get: Point + /// Return up vector at set distance along the . + public Vector3 GetPoint(float dist) { + Bezier3DCurve curve = GetCurveDistance(dist, out dist); + return transform.TransformPoint(curve.GetPoint(curve.Dist2Time(dist))); + } + + /// Return point at lerped position where 0 = start, 1 = end + public Vector3 GetPointLocal(float dist) { + Bezier3DCurve curve = GetCurveDistance(dist, out dist); + return curve.GetPoint(curve.Dist2Time(dist)); + } + #endregion + + #region Public get: Orientation + public Quaternion GetOrientation(float dist) { + Vector3 forward = GetForward(dist); + Vector3 up = GetUp(dist, forward, false); + if (forward.sqrMagnitude != 0) return Quaternion.LookRotation(forward, up); + else return Quaternion.identity; + } + + public Quaternion GetOrientationFast(float dist) { + Vector3 forward = GetForwardFast(dist); + Vector3 up = GetUp(dist, forward, false); + if (forward.sqrMagnitude != 0) return Quaternion.LookRotation(forward, up); + else return Quaternion.identity; + } + + public Quaternion GetOrientationLocal(float dist) { + Vector3 forward = GetForwardLocal(dist); + Vector3 up = GetUp(dist, forward, true); + if (forward.sqrMagnitude != 0) return Quaternion.LookRotation(forward, up); + else return Quaternion.identity; + } + + public Quaternion GetOrientationLocalFast(float dist) { + Vector3 forward = GetForwardLocalFast(dist); + Vector3 up = GetUp(dist, forward, true); + if (forward.sqrMagnitude != 0) return Quaternion.LookRotation(forward, up); + else return Quaternion.identity; + } + #endregion + + #endregion + + #region Public: Set + /// Setting spline to closed will generate an extra curve, connecting end point to start point + public void SetClosed(bool closed) { + if (closed != _closed) { + _closed = closed; + if (closed) { + List curveList = new List(curves); + curveList.Add(new Bezier3DCurve(curves[CurveCount - 1].d, -curves[CurveCount - 1].c, -curves[0].b, curves[0].a, cacheDensity)); + curves = curveList.ToArray(); + } + else { + List curveList = new List(curves); + curveList.RemoveAt(CurveCount - 1); + curves = curveList.ToArray(); + } + _totalLength = GetTotalLength(); + } + } + + /// Recache all individual curves with new step amount + /// Number of steps per curve + public void SetCacheDensity(int steps) { + _cacheDensity = steps; + for (int i = 0; i < CurveCount; i++) { + curves[i] = new Bezier3DCurve(curves[i].a, curves[i].b, curves[i].c, curves[i].d, _cacheDensity); + } + _totalLength = GetTotalLength(); + } + + public void RemoveKnot(int i) { + if (i == 0) { + Knot knot = GetKnot(1); + + List curveList = new List(curves); + curveList.RemoveAt(0); + curves = curveList.ToArray(); + + autoKnot.RemoveAt(0); + orientations.RemoveAt(0); + + SetKnot(0, knot); + } + else if (i == CurveCount) { + + List curveList = new List(curves); + curveList.RemoveAt(i - 1); + curves = curveList.ToArray(); + + autoKnot.RemoveAt(i); + orientations.RemoveAt(i); + + if (autoKnot[KnotCount - 1] != 0) SetKnot(KnotCount - 1, GetKnot(KnotCount - 1)); + } + else { + int preCurveIndex, postCurveIndex; + GetCurveIndicesForKnot(i, out preCurveIndex, out postCurveIndex); + + Bezier3DCurve curve = new Bezier3DCurve(curves[preCurveIndex].a, curves[preCurveIndex].b, curves[postCurveIndex].c, curves[postCurveIndex].d, cacheDensity); + + curves[preCurveIndex] = curve; + + List curveList = new List(curves); + curveList.RemoveAt(postCurveIndex); + curves = curveList.ToArray(); + + autoKnot.RemoveAt(i); + orientations.RemoveAt(i); + + int preKnotIndex, postKnotIndex; + GetKnotIndicesForKnot(i, out preKnotIndex, out postKnotIndex); + + SetKnot(preKnotIndex, GetKnot(preKnotIndex)); + } + } + + public void AddKnot(Knot knot) { + Bezier3DCurve curve = new Bezier3DCurve(curves[CurveCount - 1].d, -curves[CurveCount - 1].c, knot.handleIn, knot.position, cacheDensity); + + List curveList = new List(curves); + curveList.Add(curve); + curves = curveList.ToArray(); + + autoKnot.Add(knot.auto); + orientations.Add(knot.orientation); + SetKnot(KnotCount - 1, knot); + } + + public void InsertKnot(int i, Knot knot) { + Bezier3DCurve curve; + if (i == 0) curve = new Bezier3DCurve(knot.position, knot.handleOut, -curves[0].b, curves[0].a, cacheDensity); + else if (i == CurveCount) curve = GetCurve(i - 1); + else curve = GetCurve(i); + + List curveList = new List(curves); + curveList.Insert(i, curve); + curves = curveList.ToArray(); + + autoKnot.Insert(i, knot.auto); + orientations.Insert(i, knot.orientation); + SetKnot(i, knot); + } + + /// Set Knot info in local coordinates + public void SetKnot(int i, Knot knot) { + //If knot is set to auto, adjust handles accordingly + orientations[i] = knot.orientation; + autoKnot[i] = knot.auto; + if (knot.auto != 0) AutomateHandles(i, ref knot); + + //Automate knots around this knot + int preKnotIndex, postKnotIndex; + GetKnotIndicesForKnot(i, out preKnotIndex, out postKnotIndex); + + Knot preKnot = new Knot(); + if (preKnotIndex != -1) { + preKnot = GetKnot(preKnotIndex); + if (preKnot.auto != 0) { + int preKnotPreCurveIndex, preKnotPostCurveIndex; + GetCurveIndicesForKnot(preKnotIndex, out preKnotPreCurveIndex, out preKnotPostCurveIndex); + if (preKnotPreCurveIndex != -1) { + AutomateHandles(preKnotIndex, ref preKnot, curves[preKnotPreCurveIndex].a, knot.position); + curves[preKnotPreCurveIndex] = new Bezier3DCurve(curves[preKnotPreCurveIndex].a, curves[preKnotPreCurveIndex].b, preKnot.handleIn, preKnot.position, cacheDensity); + } + else { + AutomateHandles(preKnotIndex, ref preKnot, Vector3.zero, knot.position); + } + } + } + + Knot postKnot = new Knot(); + if (postKnotIndex != -1) { + postKnot = GetKnot(postKnotIndex); + if (postKnot.auto != 0) { + int postKnotPreCurveIndex, postKnotPostCurveIndex; + GetCurveIndicesForKnot(postKnotIndex, out postKnotPreCurveIndex, out postKnotPostCurveIndex); + if (postKnotPostCurveIndex != -1) { + AutomateHandles(postKnotIndex, ref postKnot, knot.position, curves[postKnotPostCurveIndex].d); + curves[postKnotPostCurveIndex] = new Bezier3DCurve(postKnot.position, postKnot.handleOut, curves[postKnotPostCurveIndex].c, curves[postKnotPostCurveIndex].d, cacheDensity); + } + else { + AutomateHandles(postKnotIndex, ref postKnot, knot.position, Vector3.zero); + } + } + } + + //Get the curve indices in direct contact with knot + int preCurveIndex, postCurveIndex; + GetCurveIndicesForKnot(i, out preCurveIndex, out postCurveIndex); + + //Adjust curves in direct contact with the knot + if (preCurveIndex != -1) curves[preCurveIndex] = new Bezier3DCurve(preKnot.position, preKnot.handleOut, knot.handleIn, knot.position, cacheDensity); + if (postCurveIndex != -1) curves[postCurveIndex] = new Bezier3DCurve(knot.position, knot.handleOut, postKnot.handleIn, postKnot.position, cacheDensity); + + _totalLength = GetTotalLength(); + + } + + /// Flip the spline + public void Flip() { + Bezier3DCurve[] curves = new Bezier3DCurve[CurveCount]; + for (int i = 0; i < CurveCount; i++) { + curves[CurveCount - 1 - i] = new Bezier3DCurve(this.curves[i].d, this.curves[i].c, this.curves[i].b, this.curves[i].a, cacheDensity); + } + this.curves = curves; + autoKnot.Reverse(); + orientations.Reverse(); + } + #endregion + + #endregion + + public struct Knot { + public Vector3 position; + public Vector3 handleIn; + public Vector3 handleOut; + public float auto; + public Quaternion? orientation; + + /// Constructor + /// Position of the knot local to spline transform + /// Left handle position local to knot position + /// Right handle position local to knot position + /// Any value above 0 will result in an automatically configured knot (ignoring handle inputs) + public Knot(Vector3 position, Vector3 handleIn, Vector3 handleOut, float automatic = 0f, Quaternion? orientation = null) { + this.position = position; + this.handleIn = handleIn; + this.handleOut = handleOut; + this.auto = automatic; + this.orientation = orientation; + } + } + + #region Private methods + private Vector3 GetUp(float dist, Vector3 tangent, bool local) { + float t = DistanceToTime(dist); + t *= CurveCount; + + Quaternion rot_a = Quaternion.identity, rot_b = Quaternion.identity; + int t_a = 0, t_b = 0; + + //Find preceding rotation + for (int i = Mathf.Min((int)t, CurveCount); i >= 0; i--) { + i = (int)Mathf.Repeat(i, KnotCount - 1); + if (orientations[i].HasValue) { + rot_a = orientations[i].Value; + rot_b = orientations[i].Value; + t_a = i; + t_b = i; + break; + } + } + //Find proceding rotation + for (int i = Mathf.Max((int)t + 1, 0); i < orientations.Count; i++) { + if (orientations[i].HasValue) { + rot_b = orientations[i].Value; + t_b = i; + break; + } + } + t = Mathf.InverseLerp(t_a, t_b, t); + Quaternion rot = Quaternion.Lerp(rot_a, rot_b, t); + if (!local) rot = transform.rotation * rot; + //Debug.Log(t_a + " / " + t_b + " / " + t); + return Vector3.ProjectOnPlane(rot * Vector3.up, tangent).normalized; + } + + /// Get the curve indices in direct contact with knot + private void GetCurveIndicesForKnot(int knotIndex, out int preCurveIndex, out int postCurveIndex) { + //Get the curve index in direct contact with, before the knot + preCurveIndex = -1; + if (knotIndex != 0) preCurveIndex = knotIndex - 1; + else if (closed) preCurveIndex = CurveCount - 1; + + //Get the curve index in direct contact with, after the knot + postCurveIndex = -1; + if (knotIndex != CurveCount) postCurveIndex = knotIndex; + else if (closed) postCurveIndex = 0; + } + + /// Get the knot indices in direct contact with knot + private void GetKnotIndicesForKnot(int knotIndex, out int preKnotIndex, out int postKnotIndex) { + //Get the curve index in direct contact with, before the knot + preKnotIndex = -1; + if (knotIndex != 0) preKnotIndex = knotIndex - 1; + else if (closed) preKnotIndex = KnotCount - 1; + + //Get the curve index in direct contact with, after the knot + postKnotIndex = -1; + if (knotIndex != KnotCount - 1) postKnotIndex = knotIndex + 1; + else if (closed) postKnotIndex = 0; + } + + private Bezier3DCurve GetCurve(float splineT, out float curveT) { + splineT *= CurveCount; + for (int i = 0; i < CurveCount; i++) { + if (splineT > 1f) splineT -= 1f; + else { + curveT = splineT; + return curves[i]; + } + } + curveT = 1f; + return curves[CurveCount - 1]; + } + + public Bezier3DCurve GetCurveIndexTime(float splineDist, out int index, out float curveTime) + { + Bezier3DCurve result; + for (int i = 0; i < CurveCount; i++) + { + result = curves[i]; + if (result.length < splineDist) splineDist -= result.length; + else + { + index = i; + curveTime = result.Dist2Time(splineDist); + return result; + } + } + index = CurveCount - 1; + result = curves[index]; + curveTime = 1f; + return result; + } + + private Bezier3DCurve GetCurveDistance(float splineDist, out float curveDist) { + for (int i = 0; i < CurveCount; i++) { + if (curves[i].length < splineDist) splineDist -= curves[i].length; + else { + curveDist = splineDist; + return curves[i]; + } + } + curveDist = curves[CurveCount -1].length; + return curves[CurveCount - 1]; + } + + /// Automate handles based on previous and next point positions + private void AutomateHandles(int i, ref Knot knot) { + //Terminology: Points are referred to as A B and C + //A = prev point, B = current point, C = next point + + Vector3 prevPos; + if (i != 0) prevPos = curves[i - 1].a; + else if (closed) prevPos = curves[CurveCount - 1].a; + else prevPos = Vector3.zero; + + Vector3 nextPos; + if (i != KnotCount - 1) nextPos = curves[i].d; + else if (closed) nextPos = curves[0].a; + else nextPos = Vector3.zero; + + AutomateHandles(i, ref knot, prevPos, nextPos); + } + + /// Automate handles based on previous and next point positions + private void AutomateHandles(int i, ref Knot knot, Vector3 prevPos, Vector3 nextPos) { + //Terminology: Points are referred to as A B and C + //A = prev point, B = current point, C = next point + float amount = knot.auto; + + //Calculate directional vectors + Vector3 AB = knot.position - prevPos; + Vector3 CB = knot.position - nextPos; + //Calculate the across vector + Vector3 AB_CB = (CB.normalized - AB.normalized).normalized; + + if (!closed) { + if (i == 0) { + knot.handleOut = CB * -amount; + } + else if (i == CurveCount) { + knot.handleIn = AB * -amount; + } + else { + knot.handleOut = -AB_CB * CB.magnitude * amount; + knot.handleIn = AB_CB * AB.magnitude * amount; + } + } + else { + if (KnotCount == 2) { + Vector3 left = new Vector3(AB.z, 0,-AB.x) * amount; + if (i == 0) { + knot.handleIn = left; + knot.handleOut = -left; + } + if (i == 1) { + knot.handleIn = left; + knot.handleOut = -left; + } + } + else { + knot.handleIn = AB_CB * AB.magnitude * amount; + knot.handleOut = -AB_CB * CB.magnitude * amount; + } + } + } + + private float GetTotalLength() { + float length = 0f; + for (int i = 0; i < CurveCount; i++) { + length += curves[i].length; + } + return length; + } + #endregion + + /// Unity doesn't support serialization of nullable types, so here's a custom struct that does exactly the same thing + [Serializable] + protected struct NullableQuaternion { + public Quaternion Value { get { return rotation; } } + public Quaternion? NullableValue { get { if (hasValue) return rotation; else return null; } } + public bool HasValue { get { return hasValue; } } + + [SerializeField] private Quaternion rotation; + [SerializeField] private bool hasValue; + + public NullableQuaternion(Quaternion? rot) { + rotation = rot.HasValue?rot.Value:Quaternion.identity; + hasValue = rot.HasValue; + } + + // User-defined conversion from nullable type to NullableQuaternion + public static implicit operator NullableQuaternion(Quaternion? r) { + return new NullableQuaternion(r); + } + } +#if UNITY_EDITOR + void OnDrawGizmos() { + //Set color depending on selection + if (Array.IndexOf(UnityEditor.Selection.gameObjects, gameObject) >= 0) { + Gizmos.color = Color.yellow; + } else Gizmos.color = new Color(1, 0.6f, 0f); + + //Loop through each curve in spline + for (int i = 0; i < CurveCount; i++) { + Bezier3DCurve curve = GetCurve(i); + + //Get curve in world space + Vector3 a, b, c, d; + a = transform.TransformPoint(curve.a); + b = transform.TransformPoint(curve.b + curve.a); + c = transform.TransformPoint(curve.c + curve.d); + d = transform.TransformPoint(curve.d); + + int segments = 50; + float spacing = 1f / segments; + Vector3 prev = Bezier3DCurve.GetPoint(a, b, c, d, 0f); + for (int k = 0; k <= segments; k++) { + Vector3 cur = Bezier3DCurve.GetPoint(a, b, c, d, k * spacing); + Gizmos.DrawLine(prev, cur); + prev = cur; + } + } + } +#endif +} diff --git a/Unity/Assets/JCMG Curves/Scripts/Bezier3DSpline.cs.meta b/Unity/Assets/JCMG Curves/Scripts/Bezier3DSpline.cs.meta new file mode 100644 index 0000000..7283140 --- /dev/null +++ b/Unity/Assets/JCMG Curves/Scripts/Bezier3DSpline.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 50f6cb5b297175b42a8ae8a04b789fa4 +timeCreated: 1503304503 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity/Assets/JCMG Curves/Scripts/Editor.meta b/Unity/Assets/JCMG Curves/Scripts/Editor.meta new file mode 100644 index 0000000..7eeaa1c --- /dev/null +++ b/Unity/Assets/JCMG Curves/Scripts/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: de73badbd2f40df47b9eddaae710f038 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity/Assets/JCMG Curves/Scripts/Editor/Bezier3DSplineEditor.cs b/Unity/Assets/JCMG Curves/Scripts/Editor/Bezier3DSplineEditor.cs new file mode 100644 index 0000000..8af035d --- /dev/null +++ b/Unity/Assets/JCMG Curves/Scripts/Editor/Bezier3DSplineEditor.cs @@ -0,0 +1,615 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEditor; +using System; +using System.Reflection; + +[CustomEditor(typeof(Bezier3DSpline))] +public class Bezier3DSplineEditor : Editor { + public static Action onUpdateSpline; + + public static bool mirror = true; + public static float handleSize = 0.1f; + public static Vector2 guiOffset = new Vector2(10, 10); + public static bool visualizeOrientation = true; + int activeKnot = -1; + List selectedKnots = new List(); + static Bezier3DSpline spline; + + [MenuItem("GameObject/BezierSpline", false, 10)] + static void CreateBezierSpline() { + new GameObject("BezierSpline").AddComponent(); + } + + void OnEnable() { + spline = target as Bezier3DSpline; + } + + void OnDisable() { + Tools.hidden = false; + SelectKnot(-1, false); + } + + override public void OnInspectorGUI() { + Bezier3DSpline spline = target as Bezier3DSpline; + + ValidateSelected(); + + EditorGUILayout.LabelField("Spline settings"); + + EditorGUI.indentLevel = 1; + + EditorGUI.BeginChangeCheck(); + int steps = spline.cacheDensity; + steps = EditorGUILayout.DelayedIntField("Cache density", steps); + if (EditorGUI.EndChangeCheck()) { + spline.SetCacheDensity(steps); + if (onUpdateSpline != null) onUpdateSpline(spline); + } + + EditorGUI.BeginChangeCheck(); + bool closed = spline.closed; + closed = EditorGUILayout.Toggle(new GUIContent("Closed", "Generate an extra curve, connecting the final point to the first point."), closed); + if (EditorGUI.EndChangeCheck()) { + spline.SetClosed(closed); + if (onUpdateSpline != null) onUpdateSpline(spline); + SceneView.RepaintAll(); + } + + Rect position = EditorGUILayout.GetControlRect(false, 19f, EditorStyles.numberField); + position.xMin += EditorGUIUtility.labelWidth; + + Rect flipRect = new Rect(position.x, position.y, position.width, position.height); + if (GUI.Button(flipRect, new GUIContent("Flip", "Flip spline direction."))) { + spline.Flip(); + if (onUpdateSpline != null) onUpdateSpline(spline); + SceneView.RepaintAll(); + } + + + EditorGUI.indentLevel = 0; + + EditorGUILayout.Space(); + if (activeKnot != -1) { + EditorGUILayout.LabelField("Selected point"); + EditorGUI.indentLevel = 1; + Bezier3DSpline.Knot knot = spline.GetKnot(activeKnot); + + position = EditorGUILayout.GetControlRect(false, 19f, EditorStyles.numberField); + position.xMin += EditorGUIUtility.labelWidth; + + EditorGUI.BeginChangeCheck(); + bool orientation = knot.orientation != null; + Rect orientationRect = new Rect(position.x, position.y, position.height, position.height); + orientation = GUI.Toggle(orientationRect, orientation, new GUIContent("O", "Orientation Anchor"), "Button"); + if (EditorGUI.EndChangeCheck()) { + Undo.RecordObject(spline, "Toggle Bezier Orientation Anchor"); + if (orientation) knot.orientation = Quaternion.identity; + else knot.orientation = null; + spline.SetKnot(activeKnot, knot); + if (onUpdateSpline != null) onUpdateSpline(spline); + SceneView.RepaintAll(); + } + + EditorGUI.BeginChangeCheck(); + bool auto = knot.auto != 0f; + Rect autoRect = new Rect(position.x + position.height + 4, position.y, position.height, position.height); + auto = GUI.Toggle(autoRect, auto, new GUIContent("A", "Auto Handles"), "Button"); + if (EditorGUI.EndChangeCheck()) { + Undo.RecordObject(spline, "Toggle Bezier Auto Handles"); + if (auto) knot.auto = 0.33f; + else knot.auto = 0f; + spline.SetKnot(activeKnot, knot); + if (onUpdateSpline != null) onUpdateSpline(spline); + SceneView.RepaintAll(); + } + + + if (orientation) { + EditorGUILayout.Space(); + EditorGUI.BeginChangeCheck(); + Vector3 orientationEuler = knot.orientation.Value.eulerAngles; + orientationEuler = EditorGUILayout.Vector3Field("Orientation", orientationEuler); + if (EditorGUI.EndChangeCheck()) { + knot.orientation = Quaternion.Euler(orientationEuler); + spline.SetKnot(activeKnot, knot); + SceneView.RepaintAll(); + } + } + + if (auto) { + EditorGUILayout.Space(); + EditorGUI.BeginChangeCheck(); + knot.position = EditorGUILayout.Vector3Field("Position", knot.position); + if (EditorGUI.EndChangeCheck()) { + Undo.RecordObject(spline, "Edit Bezier Point"); + spline.SetKnot(activeKnot, knot); + if (onUpdateSpline != null) onUpdateSpline(spline); + SceneView.RepaintAll(); + } + EditorGUI.BeginChangeCheck(); + knot.auto = EditorGUILayout.FloatField("Distance", knot.auto); + if (EditorGUI.EndChangeCheck()) { + Undo.RecordObject(spline, "Edit Bezier Point"); + spline.SetKnot(activeKnot, knot); + if (onUpdateSpline != null) onUpdateSpline(spline); + SceneView.RepaintAll(); + } + } else { + EditorGUILayout.Space(); + EditorGUI.BeginChangeCheck(); + knot.position = EditorGUILayout.Vector3Field("Position", knot.position); + if (EditorGUI.EndChangeCheck()) { + Undo.RecordObject(spline, "Edit Bezier Point"); + spline.SetKnot(activeKnot, knot); + if (onUpdateSpline != null) onUpdateSpline(spline); + SceneView.RepaintAll(); + } + EditorGUI.BeginChangeCheck(); + knot.handleIn = EditorGUILayout.Vector3Field("Handle in", knot.handleIn); + if (EditorGUI.EndChangeCheck()) { + Undo.RecordObject(spline, "Edit Bezier Handle"); + if (mirror) knot.handleOut = -knot.handleIn; + spline.SetKnot(activeKnot, knot); + if (onUpdateSpline != null) onUpdateSpline(spline); + SceneView.RepaintAll(); + } + EditorGUI.BeginChangeCheck(); + knot.handleOut = EditorGUILayout.Vector3Field("Handle out", knot.handleOut); + if (EditorGUI.EndChangeCheck()) { + Undo.RecordObject(spline, "Edit Bezier Handle"); + if (mirror) knot.handleIn = -knot.handleOut; + spline.SetKnot(activeKnot, knot); + if (onUpdateSpline != null) onUpdateSpline(spline); + SceneView.RepaintAll(); + } + } + } + } + + void Hotkeys() { + Event e = Event.current; + switch (e.type) { + case EventType.ValidateCommand: + if (e.commandName == "UndoRedoPerformed") if (onUpdateSpline != null) onUpdateSpline(spline); + break; + case EventType.KeyDown: + if (e.keyCode == KeyCode.I) { + if ((e.modifiers & (EventModifiers.Control | EventModifiers.Command)) != 0) { + spline.Flip(); + } + } + break; + } + } + + void OnSceneGUI() { + Hotkeys(); + + Handles.BeginGUI(); + Color defaultColor = GUI.contentColor; + GUILayout.BeginArea(new Rect(guiOffset, new Vector2(100, 200))); + GUIStyle style = (GUIStyle)"ChannelStripAttenuationMarkerSquare"; + GUI.contentColor = mirror ? Color.green : Color.red; + mirror = GUILayout.Toggle(mirror, new GUIContent("Handle Mirror", "Should opposite handles mirror edited handles?"), style); + GUILayout.Space(4); + GUI.contentColor = visualizeOrientation ? Color.green : Color.red; + visualizeOrientation = GUILayout.Toggle(visualizeOrientation, new GUIContent("Show Orientation", "Visualize orientation along spline"), style); + GUILayout.EndArea(); + Handles.EndGUI(); + + ValidateSelected(); + DrawUnselectedKnots(); + + if (visualizeOrientation) VisualizeOrientations(); + if (activeKnot != -1) { + if (selectedKnots.Count == 1) { + DrawSelectedSplitters(); + DrawSelectedKnot(); + } else { + DrawMultiSelect(); + } + } + } + + void DrawMultiSelect() { + Handles.color = Color.blue; + for (int i = 0; i < selectedKnots.Count; i++) { + if (Handles.Button(spline.transform.TransformPoint(spline.GetKnot(selectedKnots[i]).position), Camera.current.transform.rotation, handleSize, handleSize, Handles.CircleHandleCap)) { + SelectKnot(selectedKnots[i], true); + } + } + Vector3 handlePos = Vector3.zero; + if (Tools.pivotMode == PivotMode.Center) { + for (int i = 0; i < selectedKnots.Count; i++) { + handlePos += spline.GetKnot(selectedKnots[i]).position; + } + handlePos /= selectedKnots.Count; + } else { + handlePos = spline.GetKnot(activeKnot).position; + } + handlePos = spline.transform.TransformPoint(handlePos); + + Handles.PositionHandle(handlePos, Tools.handleRotation); + } + + void DrawUnselectedKnots() { + for (int i = 0; i < spline.KnotCount; i++) { + if (selectedKnots.Contains(i)) continue; + Bezier3DSpline.Knot knot = spline.GetKnot(i); + + Vector3 knotWorldPos = spline.transform.TransformPoint(knot.position); + if (knot.orientation.HasValue) { + Handles.color = Handles.yAxisColor; + Quaternion rot = spline.transform.rotation * knot.orientation.Value; + Handles.ArrowHandleCap(0, knotWorldPos, rot * Quaternion.AngleAxis(90, Vector3.left), 0.15f, EventType.Repaint); + } + Handles.color = Color.white; + if (Handles.Button(knotWorldPos, Camera.current.transform.rotation, HandleUtility.GetHandleSize(knotWorldPos) * handleSize, HandleUtility.GetHandleSize(knotWorldPos) * handleSize, Handles.CircleHandleCap)) { + SelectKnot(i, Event.current.control); + } + } + } + + void DrawSelectedKnot() { + Bezier3DSpline.Knot knot = spline.GetKnot(activeKnot); + Handles.color = Color.green; + + Vector3 knotWorldPos = spline.transform.TransformPoint(knot.position); + + if (Tools.current == Tool.Move) { + //Position handle + EditorGUI.BeginChangeCheck(); + knotWorldPos = Handles.PositionHandle(knotWorldPos, Tools.handleRotation); + if (EditorGUI.EndChangeCheck()) { + Undo.RecordObject(spline, "Edit Bezier Point"); + knot.position = spline.transform.InverseTransformPoint(knotWorldPos); + spline.SetKnot(activeKnot, knot); + if (onUpdateSpline != null) onUpdateSpline(spline); + } + } + else if (Tools.current == Tool.Rotate) { + //Draw arrow + + //Rotation handle + EditorGUI.BeginChangeCheck(); + Quaternion rot = knot.orientation.HasValue ? knot.orientation.Value : Quaternion.identity; + Handles.color = Handles.yAxisColor; + Handles.ArrowHandleCap(0, knotWorldPos, rot * Quaternion.AngleAxis(90, Vector3.left), HandleUtility.GetHandleSize(knotWorldPos), EventType.Repaint); + rot = Handles.RotationHandle(rot, knotWorldPos); + if (EditorGUI.EndChangeCheck()) { + Undo.RecordObject(spline, "Edit Bezier Point"); + knot.orientation = rot; + spline.SetKnot(activeKnot, knot); + if (onUpdateSpline != null) onUpdateSpline(spline); + Repaint(); + } + } + + + Handles.color = Handles.zAxisColor; + + //In Handle + if (knot.handleIn != Vector3.zero) { + EditorGUI.BeginChangeCheck(); + Vector3 inHandleWorldPos = spline.transform.TransformPoint(knot.position + knot.handleIn); + //inHandleWorldPos = Handles.PositionHandle(inHandleWorldPos, Tools.handleRotation); + if (knot.auto == 0) inHandleWorldPos = SmallPositionHandle(inHandleWorldPos, Tools.handleRotation,0.5f,1f); + else inHandleWorldPos = SmallPositionHandle(inHandleWorldPos, Tools.handleRotation,0.5f,0.5f); + if (EditorGUI.EndChangeCheck()) { + Undo.RecordObject(spline, "Edit Bezier Handle"); + knot.handleIn = spline.transform.InverseTransformPoint(inHandleWorldPos) - knot.position; + knot.auto = 0; + if (mirror) knot.handleOut = -knot.handleIn; + spline.SetKnot(activeKnot, knot); + if (onUpdateSpline != null) onUpdateSpline(spline); + } + Handles.DrawLine(knotWorldPos, inHandleWorldPos); + } + + + //outHandle + if (knot.handleOut != Vector3.zero) { + EditorGUI.BeginChangeCheck(); + Vector3 outHandleWorldPos = spline.transform.TransformPoint(knot.position + knot.handleOut); + //outHandleWorldPos = Handles.PositionHandle(outHandleWorldPos, Tools.handleRotation); + if (knot.auto == 0) outHandleWorldPos = SmallPositionHandle(outHandleWorldPos, Tools.handleRotation,0.5f, 1f); + else outHandleWorldPos = SmallPositionHandle(outHandleWorldPos, Tools.handleRotation,0.5f, 0.5f); + if (EditorGUI.EndChangeCheck()) { + Undo.RecordObject(spline, "Edit Bezier Handle"); + knot.handleOut = spline.transform.InverseTransformPoint(outHandleWorldPos) - knot.position; + knot.auto = 0; + if (mirror) knot.handleIn = -knot.handleOut; + spline.SetKnot(activeKnot, knot); + if (onUpdateSpline != null) onUpdateSpline(spline); + } + Handles.DrawLine(knotWorldPos, outHandleWorldPos); + } + + // Hotkeys + Event e = Event.current; + switch (e.type) { + case EventType.KeyDown: + if (e.keyCode == KeyCode.Delete) { + if (spline.KnotCount > 2) { + Undo.RecordObject(spline, "Remove Bezier Point"); + spline.RemoveKnot(activeKnot); + SelectKnot(-1, false); + if (onUpdateSpline != null) onUpdateSpline(spline); + } + e.Use(); + + } + if (e.keyCode == KeyCode.Escape) { + SelectKnot(-1, false); + e.Use(); + } + break; + } + } + + void DrawSelectedSplitters() { + Handles.color = Color.white; + //Start add + if (!spline.closed && activeKnot == 0) { + Bezier3DCurve curve = spline.GetCurve(0); + Vector3 + a = spline.transform.TransformPoint(curve.a), + b = spline.transform.TransformDirection(curve.b.normalized) * 2f; + + float handleScale = HandleUtility.GetHandleSize(a); + b *= handleScale; + Handles.DrawDottedLine(a, a - b, 3f); + if (Handles.Button(a - b, Camera.current.transform.rotation, handleScale * handleSize * 0.4f, handleScale * handleSize * 0.4f, Handles.DotHandleCap)) { + Undo.RecordObject(spline, "Add Bezier Point"); + Bezier3DSpline.Knot knot = spline.GetKnot(activeKnot); + spline.InsertKnot(0, new Bezier3DSpline.Knot(curve.a - (curve.b.normalized * handleScale * 2), Vector3.zero, curve.b.normalized * 0.5f,knot.auto, knot.orientation)); + if (onUpdateSpline != null) onUpdateSpline(spline); + } + } + + //End add + if (!spline.closed && activeKnot == spline.CurveCount) { + Bezier3DCurve curve = spline.GetCurve(spline.CurveCount - 1); + Vector3 + c = spline.transform.TransformDirection(curve.c.normalized) * 2f, + d = spline.transform.TransformPoint(curve.d); + float handleScale = HandleUtility.GetHandleSize(d); + c *= handleScale; + Handles.DrawDottedLine(d, d - c, 3f); + if (Handles.Button(d - c, Camera.current.transform.rotation, handleScale * handleSize * 0.4f, handleScale * handleSize * 0.4f, Handles.DotHandleCap)) { + Undo.RecordObject(spline, "Add Bezier Point"); + Bezier3DSpline.Knot knot = spline.GetKnot(activeKnot); + spline.AddKnot(new Bezier3DSpline.Knot(curve.d - (curve.c.normalized * handleScale * 2), curve.c.normalized * 0.5f, Vector3.zero, knot.auto, knot.orientation)); + SelectKnot(spline.CurveCount, false); + if (onUpdateSpline != null) onUpdateSpline(spline); + } + } + + // Prev split + if (spline.closed || activeKnot != 0) { + + Bezier3DCurve curve = spline.GetCurve(activeKnot == 0 ? spline.CurveCount - 1 : activeKnot - 1); + Vector3 centerLocal = curve.GetPoint(curve.Dist2Time(curve.length * 0.5f)); + Vector3 center = spline.transform.TransformPoint(centerLocal); + + Vector3 a = curve.a + curve.b; + Vector3 b = curve.c + curve.d; + Vector3 ab = (b - a) * 0.3f; + float handleScale = HandleUtility.GetHandleSize(center); + + if (Handles.Button(center, Camera.current.transform.rotation, handleScale * handleSize * 0.4f, handleScale * handleSize * 0.4f, Handles.DotHandleCap)) { + Undo.RecordObject(spline, "Add Bezier Point"); + Bezier3DSpline.Knot knot = spline.GetKnot(activeKnot); + spline.InsertKnot(activeKnot == 0 ? spline.CurveCount : activeKnot, new Bezier3DSpline.Knot(centerLocal, -ab, ab, knot.auto, knot.orientation)); + if (activeKnot == 0) SelectKnot(spline.CurveCount - 1, false); + if (onUpdateSpline != null) onUpdateSpline(spline); + } + } + + // Next split + if (activeKnot != spline.CurveCount) { + Bezier3DCurve curve = spline.GetCurve(activeKnot); + Vector3 centerLocal = curve.GetPoint(curve.Dist2Time(curve.length * 0.5f)); + Vector3 center = spline.transform.TransformPoint(centerLocal); + + Vector3 a = curve.a + curve.b; + Vector3 b = curve.c + curve.d; + Vector3 ab = (b - a) * 0.3f; + float handleScale = HandleUtility.GetHandleSize(center); + if (Handles.Button(center, Camera.current.transform.rotation, handleScale * handleSize * 0.4f, handleScale * handleSize * 0.4f, Handles.DotHandleCap)) { + Undo.RecordObject(spline, "Add Bezier Point"); + spline.InsertKnot(activeKnot + 1, new Bezier3DSpline.Knot(centerLocal, -ab, ab)); + SelectKnot(activeKnot + 1, false); + if (onUpdateSpline != null) onUpdateSpline(spline); + } + } + + } + + static void DrawSelectedHandle(Transform local, ref Vector3 a, ref Vector3 b) { + //a + Vector3 aWorldPos = local.TransformPoint(a); + aWorldPos = Handles.PositionHandle(aWorldPos, Quaternion.identity); + a = local.InverseTransformPoint(aWorldPos); + + //b + Vector3 bWorldPos = local.TransformPoint(b); + bWorldPos = Handles.PositionHandle(bWorldPos, Quaternion.identity); + b = local.InverseTransformPoint(bWorldPos); + + //line + Handles.DrawLine(aWorldPos, bWorldPos); + } + + void ValidateSelected() { + if (activeKnot > spline.CurveCount) SelectKnot(-1, false); + } + + void SelectKnot(int i, bool add) { + activeKnot = i; + if (i == -1) { + selectedKnots = new List() { }; + Tools.hidden = false; + } + else { + Tools.hidden = true; + if (add) { + if (selectedKnots.Contains(i)) { + selectedKnots.Remove(i); + if (selectedKnots.Count == 0) { + activeKnot = -1; + Tools.hidden = false; + } else { + activeKnot = selectedKnots[selectedKnots.Count - 1]; + } + } else { + selectedKnots.Add(i); + activeKnot = i; + } + } + else { + selectedKnots = new List() { i }; + activeKnot = i; + } + } + Repaint(); + } + + private void VisualizeOrientations() { + for (float dist = 0f; dist < spline.totalLength; dist += 1) { + Vector3 point = spline.GetPoint(dist); + Quaternion rot = spline.GetOrientationFast(dist); + Vector3 up = rot * Vector3.up; + Handles.color = Color.white; + Handles.DrawLine(point, point + up); + Handles.color = Handles.zAxisColor; + Vector3 forward = rot * Vector3.forward; + Handles.DrawLine(point, point + forward); + } + } + + private Vector3 SmallPositionHandle(Vector3 position, Quaternion rotation, float size, float alpha) { + float handleSize = HandleUtility.GetHandleSize(position) * size; + Color color = Handles.color; + + Color col; + //X axis + col = Handles.xAxisColor; + col.a = alpha; + Handles.color = col; + GUI.SetNextControlName("xAxis"); + position = Handles.Slider(position, rotation * Vector3.right, handleSize, Handles.ArrowHandleCap, EditorPrefs.GetFloat("MoveSnapX")); + + //Y axis + col = Handles.yAxisColor; + col.a = alpha; + Handles.color = col; + GUI.SetNextControlName("yAxis"); + position = Handles.Slider(position, rotation * Vector3.up, handleSize, Handles.ArrowHandleCap, EditorPrefs.GetFloat("MoveSnapY")); + + //Z axis + col = Handles.zAxisColor; + col.a = alpha; + Handles.color = col; + GUI.SetNextControlName("zAxis"); + position = Handles.Slider(position, rotation * Vector3.forward, handleSize, Handles.ArrowHandleCap, EditorPrefs.GetFloat("MoveSnapZ")); + //Handles.Slider2D() + /* + if (Handles.free) { + Handles.color = Handles.centerColor; + GUI.SetNextControlName("FreeMoveAxis"); + Vector3 arg_1CF_0 = position; + float arg_1CF_2 = handleSize * 0.15f; + Vector3 arg_1CF_3 = SnapSettings.move; + if (Handles.<> f__mg$cache5 == null) + { + Handles.<> f__mg$cache5 = new Handles.CapFunction(Handles.RectangleHandleCap); + } + position = Handles.FreeMoveHandle(arg_1CF_0, rotation, arg_1CF_2, arg_1CF_3, Handles.<> f__mg$cache5); + }*/ + position = DoPlanarHandle(PlaneHandle.xyPlane, position, rotation, HandleUtility.GetHandleSize(position) * 0.2f, alpha); + position = DoPlanarHandle(PlaneHandle.xzPlane, position, rotation, HandleUtility.GetHandleSize(position) * 0.2f, alpha); + position = DoPlanarHandle(PlaneHandle.yzPlane, position, rotation, HandleUtility.GetHandleSize(position) * 0.2f, alpha); + + Handles.color = color; + return position; + } + + private enum PlaneHandle { + xzPlane, + xyPlane, + yzPlane + } + + private static Vector3 DoPlanarHandle(PlaneHandle planeID, Vector3 handlePos, Quaternion rotation, float handleSize, float alpha) { + int num = 0; + int num2 = 0; + switch (planeID) { + case PlaneHandle.xyPlane: + Handles.color = new Color(Handles.zAxisColor.r, Handles.zAxisColor.g, Handles.zAxisColor.b, alpha); + num = 0; + num2 = 1; + break; + case PlaneHandle.xzPlane: + Handles.color = new Color(Handles.yAxisColor.r, Handles.yAxisColor.g, Handles.yAxisColor.b, alpha); + num = 0; + num2 = 2; + break; + case PlaneHandle.yzPlane: + Handles.color = new Color(Handles.xAxisColor.r, Handles.xAxisColor.g, Handles.xAxisColor.b, alpha); + num = 1; + num2 = 2; + break; + } + int index = 3 - num2 - num; + Color color = Handles.color; + + Matrix4x4 matrix4x = Matrix4x4.TRS(handlePos, rotation, Vector3.one); + Vector3 normalized; + if (Camera.current.orthographic) { + normalized = matrix4x.inverse.MultiplyVector(SceneView.currentDrawingSceneView.rotation * -Vector3.forward).normalized; + } + else { + normalized = matrix4x.inverse.MultiplyPoint(SceneView.currentDrawingSceneView.camera.transform.position).normalized; + } + + Vector3 result = handlePos; + if (Mathf.Abs(normalized[index]) < 0.05f) { + Handles.color = color; + result = handlePos; + } + else { + int id = GUIUtility.GetControlID(planeID.GetHashCode(), FocusType.Passive); + Vector3 offset = Vector3.one; + offset[num] = (normalized[num] >= -0.01f) ? 1 : -1; + offset[num2] = (normalized[num2] >= -0.01f) ? 1 : -1; + offset[index] = 0f; + offset = rotation * (offset * handleSize * 0.5f); + Vector3 slideDir1 = Vector3.zero; + Vector3 slideDir2 = Vector3.zero; + Vector3 handleDir = Vector3.zero; + slideDir1[num] = 1f; + slideDir2[num2] = 1f; + handleDir[index] = 1f; + slideDir1 = rotation * slideDir1; + slideDir2 = rotation * slideDir2; + handleDir = rotation * handleDir; + Vector3[] verts = new Vector3[4] { + handlePos + offset + (slideDir1 + slideDir2) * handleSize * 0.5f, + handlePos + offset + (-slideDir1 + slideDir2) * handleSize * 0.5f, + handlePos + offset + (-slideDir1 - slideDir2) * handleSize * 0.5f, + handlePos + offset + (slideDir1 - slideDir2) * handleSize * 0.5f + }; + Vector3 snapSettings = new Vector3(EditorPrefs.GetFloat("MoveSnapX"), EditorPrefs.GetFloat("MoveSnapY"), EditorPrefs.GetFloat("MoveSnapZ")); + Handles.DrawSolidRectangleWithOutline(verts, new Color(Handles.color.r, Handles.color.g, Handles.color.b, 0.1f), new Color(0f, 0f, 0f, 0f)); + handlePos = Handles.Slider2D(id, handlePos, offset, handleDir, slideDir1, slideDir2, handleSize * 0.5f, Handles.RectangleHandleCap, new Vector2(snapSettings[num], snapSettings[num2])); + Handles.color = color; + result = handlePos; + } + return result; + } + + +} diff --git a/Unity/Assets/JCMG Curves/Scripts/Editor/Bezier3DSplineEditor.cs.meta b/Unity/Assets/JCMG Curves/Scripts/Editor/Bezier3DSplineEditor.cs.meta new file mode 100644 index 0000000..b6cb63c --- /dev/null +++ b/Unity/Assets/JCMG Curves/Scripts/Editor/Bezier3DSplineEditor.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 648d794ee79dffb41a470f33bbef33be +timeCreated: 1504351767 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity/Assets/JCMG Curves/Scripts/Editor/Bezier3DSplinePreview.cs b/Unity/Assets/JCMG Curves/Scripts/Editor/Bezier3DSplinePreview.cs new file mode 100644 index 0000000..a6252fd --- /dev/null +++ b/Unity/Assets/JCMG Curves/Scripts/Editor/Bezier3DSplinePreview.cs @@ -0,0 +1,52 @@ +using UnityEngine; +using UnityEditor; + +[CustomPreview(typeof(Bezier3DSpline))] +public class Bezier3DSplinePreview : ObjectPreview { + + private class Styles { + public GUIStyle labelStyle = new GUIStyle(EditorStyles.label); + public GUIStyle headerStyle = new GUIStyle(EditorStyles.boldLabel); + + public Styles() { + Color textColor = new Color(0.7f, 0.7f, 0.7f); + labelStyle.padding.right += 4; + labelStyle.normal.textColor = textColor; + headerStyle.padding.right += 4; + headerStyle.normal.textColor = textColor; + } + } + + private Styles styles = new Styles(); + + public override bool HasPreviewGUI() { + return true; + } + + public override void OnPreviewGUI(Rect r, GUIStyle background) { + if (Event.current.type == EventType.Repaint) { + Bezier3DSpline spline = target as Bezier3DSpline; + + RectOffset rectOffset = new RectOffset(-5, -5, -5, -5); + r = rectOffset.Add(r); + Rect position1 = r; + Rect position2 = r; + position1.width = 110f; + position2.xMin += 110f; + position2.width = 110f; + EditorGUI.LabelField(position1, "Property", styles.headerStyle); + EditorGUI.LabelField(position2, "Value", styles.headerStyle); + position1.y += EditorGUIUtility.singleLineHeight + EditorGUIUtility.standardVerticalSpacing; + position2.y += EditorGUIUtility.singleLineHeight + EditorGUIUtility.standardVerticalSpacing; + ShowProperty(ref position1, ref position2, "Point Count", spline.KnotCount.ToString()); + ShowProperty(ref position1, ref position2, "Total Length", spline.totalLength.ToString()); + } + } + + private void ShowProperty(ref Rect labelRect, ref Rect valueRect, string label, string value) { + EditorGUI.LabelField(labelRect, label, styles.labelStyle); + EditorGUI.LabelField(valueRect, value, styles.labelStyle); + labelRect.y += EditorGUIUtility.singleLineHeight; + valueRect.y += EditorGUIUtility.singleLineHeight; + } +} diff --git a/Unity/Assets/JCMG Curves/Scripts/Editor/Bezier3DSplinePreview.cs.meta b/Unity/Assets/JCMG Curves/Scripts/Editor/Bezier3DSplinePreview.cs.meta new file mode 100644 index 0000000..cedc1c2 --- /dev/null +++ b/Unity/Assets/JCMG Curves/Scripts/Editor/Bezier3DSplinePreview.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 0c865634102966c46ac55ec636acbc9c +timeCreated: 1503151146 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Unity/Assets/JCMG Curves/Scripts/ExtendedAnimationCurves.cs b/Unity/Assets/JCMG Curves/Scripts/ExtendedAnimationCurves.cs new file mode 100644 index 0000000..045c7ac --- /dev/null +++ b/Unity/Assets/JCMG Curves/Scripts/ExtendedAnimationCurves.cs @@ -0,0 +1,208 @@ +using UnityEngine; +using System.Collections.Generic; + +namespace Bezier3D { + /// + /// Class Extensions + /// + public static class ExtendedAnimationCurves { + public static void Serialize(this AnimationCurve anim, out float[] times, out float[] values) { + times = new float[anim.length]; + values = new float[anim.length]; + for (int i = 0; i < anim.length; i++) { + times[i] = anim.keys[i].time; + values[i] = anim.keys[i].value; + } + } + public static AnimationCurve Deserialize(float[] times, float[] values) { + AnimationCurve anim = new AnimationCurve(); + if (times.Length != values.Length) Debug.LogWarning("Input data lengths do not match"); + else { + for (int i = 0; i < times.Length; i++) anim.AddKey(new Keyframe(times[i], values[i])); + } + return anim; + } + } + + /// + /// Animation curve which stores quaternions, and can evaluate smoothed values in between keyframes + /// + [System.Serializable] + public class QuaternionAnimationCurve { + [SerializeField] + private AnimationCurve + xQ = new AnimationCurve(), + yQ = new AnimationCurve(), + zQ = new AnimationCurve(), + wQ = new AnimationCurve(); + + /// + /// The number of keys in the curve (Read Only) + /// + public int length { get { return xQ.length; } } + + public Quaternion Evaluate(float time) { + return new Quaternion(xQ.Evaluate(time), yQ.Evaluate(time), zQ.Evaluate(time), wQ.Evaluate(time)); + } + + public QuaternionAnimationCurve() { + + } + public QuaternionAnimationCurve(Serializable serialized) { + xQ = ExtendedAnimationCurves.Deserialize(serialized.xT, serialized.xV); + yQ = ExtendedAnimationCurves.Deserialize(serialized.yT, serialized.yV); + zQ = ExtendedAnimationCurves.Deserialize(serialized.zT, serialized.zV); + wQ = ExtendedAnimationCurves.Deserialize(serialized.wT, serialized.wV); + } + public void AddKey(float time, Quaternion value) { + xQ.AddKey(time, value.x); + yQ.AddKey(time, value.y); + zQ.AddKey(time, value.z); + wQ.AddKey(time, value.w); + } + + /// + /// Gets the rotation of the last key + /// + public Quaternion EvaluateEnd() { + return GetKeyValue(xQ.length - 1); + } + + public float GetKeyTime(int keyIndex) { + return wQ.keys[keyIndex].time; + } + + public Quaternion GetKeyValue(int keyIndex) { + return new Quaternion(xQ.keys[keyIndex].value, yQ.keys[keyIndex].value, zQ.keys[keyIndex].value, wQ.keys[keyIndex].value); + } + + [System.Serializable] + public class Serializable { + public Serializable(QuaternionAnimationCurve curve) { + curve.xQ.Serialize(out xT, out xV); + curve.yQ.Serialize(out yT, out yV); + curve.zQ.Serialize(out zT, out zV); + curve.wQ.Serialize(out wT, out wV); + } + public float[] xT, xV, yT, yV, zT, zV, wT, wV; + } + } + + /// + /// Similar to AnimationCurve, except all values are constant. No smoothing applied between keys + /// + [System.Serializable] + public class ConstantAnimationCurve { + [SerializeField] + List _time = new List(); + [SerializeField] + List _value = new List(); + + /// + /// The number of keys in the curve (Read Only) + /// + public int length { get { return _time.Count; } } + + public float Evaluate(float time) { + if (length == 0) return 0; + float returnValue = GetKeyValue(0); + for (int i = 0; i < _time.Count; i++) { + if (_time[i] <= time) returnValue = _value[i]; + else break; + } + return returnValue; + } + + public void AddKey(float time, float value) { + for (int i = 0; i < _time.Count; i++) { + if (_time[i] > time) { + _time.Insert(i, time); + _value.Insert(i, value); + return; + } + else if (_time[i] == time) { + _time[i] = time; + _value[i] = value; + return; + } + } + _time.Add(time); + _value.Add(value); + } + + /// + /// Gets the last value + /// + public float EvaluateEnd() { + return _value[_value.Count - 1]; + } + + public float GetKeyTime(int keyIndex) { + return _time[keyIndex]; + } + + public float GetKeyValue(int keyIndex) { + return _value[keyIndex]; + } + } + + /// + /// Animation curve which stores quaternions, and can evaluate smoothed values in between keyframes + /// + [System.Serializable] + public class Vector3AnimationCurve { + [SerializeField] + private AnimationCurve + xV = new AnimationCurve(), + yV = new AnimationCurve(), + zV = new AnimationCurve(); + + /// + /// The number of keys in the curve (Read Only) + /// + public int length { get { return xV.length; } } + + public Vector3 Evaluate(float time) { + return new Vector3(xV.Evaluate(time), yV.Evaluate(time), zV.Evaluate(time)); + } + + public void AddKey(float time, Vector3 value) { + xV.AddKey(time, value.x); + yV.AddKey(time, value.y); + zV.AddKey(time, value.z); + } + + /// + /// Gets the rotation of the last key + /// + public Vector3 EvaluateEnd() { + return GetKeyValue(xV.length - 1); + } + + public float GetKeyTime(int keyIndex) { + return xV.keys[keyIndex].time; + } + + public Vector3 GetKeyValue(int keyIndex) { + return new Vector3(xV.keys[keyIndex].value, yV.keys[keyIndex].value, zV.keys[keyIndex].value); + } + public Vector3AnimationCurve() { + + } + public Vector3AnimationCurve(Serializable serialized) { + xV = ExtendedAnimationCurves.Deserialize(serialized.xT, serialized.xV); + yV = ExtendedAnimationCurves.Deserialize(serialized.yT, serialized.yV); + zV = ExtendedAnimationCurves.Deserialize(serialized.zT, serialized.zV); + } + + [System.Serializable] + public class Serializable { + public Serializable(Vector3AnimationCurve curve) { + curve.xV.Serialize(out xT, out xV); + curve.yV.Serialize(out yT, out yV); + curve.zV.Serialize(out zT, out zV); + } + public float[] xT, xV, yT, yV, zT, zV; + } + } +} \ No newline at end of file diff --git a/Unity/Assets/JCMG Curves/Scripts/ExtendedAnimationCurves.cs.meta b/Unity/Assets/JCMG Curves/Scripts/ExtendedAnimationCurves.cs.meta new file mode 100644 index 0000000..8c8ebaa --- /dev/null +++ b/Unity/Assets/JCMG Curves/Scripts/ExtendedAnimationCurves.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: e30fc6cb227cb5841b745983df04c3d3 +timeCreated: 1504439235 +licenseType: Free +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: