lvjincheng пре 4 година
родитељ
комит
df47da6038

+ 18 - 1076
Assets/BowArrow/Scenes/Game.unity

@@ -298,7 +298,7 @@ Transform:
   - {fileID: 543450653046805445}
   - {fileID: 543450653274718124}
   m_Father: {fileID: 0}
-  m_RootOrder: 6
+  m_RootOrder: 5
   m_LocalEulerAnglesHint: {x: 0, y: 90, z: 0}
 --- !u!1001 &137594108
 PrefabInstance:
@@ -2115,7 +2115,7 @@ Transform:
   m_Children:
   - {fileID: 1908395045}
   m_Father: {fileID: 0}
-  m_RootOrder: 4
+  m_RootOrder: 3
   m_LocalEulerAnglesHint: {x: 90, y: 0, z: 90}
 --- !u!45 &394830268
 Skybox:
@@ -2252,7 +2252,7 @@ RectTransform:
   m_RootOrder: 0
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_AnchorMin: {x: 0, y: 0}
-  m_AnchorMax: {x: 0.2, y: 1}
+  m_AnchorMax: {x: 0, y: 0}
   m_AnchoredPosition: {x: 0, y: 0}
   m_SizeDelta: {x: 10, y: 0}
   m_Pivot: {x: 0.5, y: 0.5}
@@ -2406,7 +2406,7 @@ GameObject:
   m_Icon: {fileID: 0}
   m_NavMeshLayer: 0
   m_StaticEditorFlags: 0
-  m_IsActive: 0
+  m_IsActive: 1
 --- !u!224 &485623848
 RectTransform:
   m_ObjectHideFlags: 0
@@ -2526,37 +2526,6 @@ Transform:
   m_Father: {fileID: 105398403}
   m_RootOrder: 21
   m_LocalEulerAnglesHint: {x: -90, y: 90, z: 0}
---- !u!1 &564096306
-GameObject:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  serializedVersion: 6
-  m_Component:
-  - component: {fileID: 564096307}
-  m_Layer: 0
-  m_Name: CameraRoot
-  m_TagString: Untagged
-  m_Icon: {fileID: 0}
-  m_NavMeshLayer: 0
-  m_StaticEditorFlags: 0
-  m_IsActive: 0
---- !u!4 &564096307
-Transform:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 564096306}
-  m_LocalRotation: {x: -0.5, y: 0.5, z: -0.5, w: 0.5}
-  m_LocalPosition: {x: 0, y: 1.56, z: 0}
-  m_LocalScale: {x: 1, y: 1, z: 1}
-  m_Children:
-  - {fileID: 977843527}
-  m_Father: {fileID: 0}
-  m_RootOrder: 3
-  m_LocalEulerAnglesHint: {x: 0, y: 90, z: -90}
 --- !u!1 &579954627
 GameObject:
   m_ObjectHideFlags: 0
@@ -2566,8 +2535,6 @@ GameObject:
   serializedVersion: 6
   m_Component:
   - component: {fileID: 579954631}
-  - component: {fileID: 579954630}
-  - component: {fileID: 579954629}
   - component: {fileID: 579954632}
   - component: {fileID: 579954628}
   m_Layer: 0
@@ -2589,36 +2556,8 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: 03f9a0fbe68c3ea4885d4fe852ac90a9, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  shootSpeed: 0
   text: {fileID: 1691070389}
---- !u!114 &579954629
-MonoBehaviour:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 579954627}
-  m_Enabled: 0
-  m_EditorHideFlags: 0
-  m_Script: {fileID: 11500000, guid: 09564a4e51862624cbffae6e76118f7e, type: 3}
-  m_Name: 
-  m_EditorClassIdentifier: 
-  targetDeviceName: BGBox_202012
-  textUI: {fileID: 0}
---- !u!114 &579954630
-MonoBehaviour:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 579954627}
-  m_Enabled: 0
-  m_EditorHideFlags: 0
-  m_Script: {fileID: 11500000, guid: e5464d6e6018e9446afd6b54a9ef1431, type: 3}
-  m_Name: 
-  m_EditorClassIdentifier: 
-  serverIP: 110.43.54.43
-  text: {fileID: 0}
+  shootSpeed: 0
 --- !u!4 &579954631
 Transform:
   m_ObjectHideFlags: 0
@@ -2631,7 +2570,7 @@ Transform:
   m_LocalScale: {x: 1, y: 1, z: 1}
   m_Children: []
   m_Father: {fileID: 0}
-  m_RootOrder: 9
+  m_RootOrder: 7
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!114 &579954632
 MonoBehaviour:
@@ -2977,7 +2916,7 @@ MonoBehaviour:
     m_HorizontalOverflow: 0
     m_VerticalOverflow: 0
     m_LineSpacing: 1
-  m_Text: "\u6700\u5927\u521D\u901F\u5EA6 40m/s"
+  m_Text: "\u53D1\u5C04\u901F\u5EA6\u500D\u7387 6.00"
 --- !u!222 &690906579
 CanvasRenderer:
   m_ObjectHideFlags: 0
@@ -4211,37 +4150,6 @@ MeshFilter:
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 965338316}
   m_Mesh: {fileID: 4300002, guid: b71599c33e2760745bc3bfe9d115b1be, type: 3}
---- !u!1 &977843526
-GameObject:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  serializedVersion: 6
-  m_Component:
-  - component: {fileID: 977843527}
-  m_Layer: 0
-  m_Name: Rotate
-  m_TagString: Untagged
-  m_Icon: {fileID: 0}
-  m_NavMeshLayer: 0
-  m_StaticEditorFlags: 0
-  m_IsActive: 1
---- !u!4 &977843527
-Transform:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 977843526}
-  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:
-  - {fileID: 1633128731}
-  m_Father: {fileID: 564096307}
-  m_RootOrder: 0
-  m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0}
 --- !u!1 &989120686
 GameObject:
   m_ObjectHideFlags: 0
@@ -4569,311 +4477,6 @@ CanvasRenderer:
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 1082385024}
   m_CullTransparentMesh: 0
---- !u!1 &1090597441
-GameObject:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  serializedVersion: 6
-  m_Component:
-  - component: {fileID: 1090597444}
-  - component: {fileID: 1090597443}
-  - component: {fileID: 1090597442}
-  - component: {fileID: 1090597447}
-  - component: {fileID: 1090597446}
-  - component: {fileID: 1090597445}
-  - component: {fileID: 1090597449}
-  m_Layer: 5
-  m_Name: DebugLine
-  m_TagString: Untagged
-  m_Icon: {fileID: 0}
-  m_NavMeshLayer: 0
-  m_StaticEditorFlags: 0
-  m_IsActive: 0
---- !u!114 &1090597442
-MonoBehaviour:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 1090597441}
-  m_Enabled: 0
-  m_EditorHideFlags: 0
-  m_Script: {fileID: 11500000, guid: 0567b20da927d5a408a08a3cab217538, type: 3}
-  m_Name: 
-  m_EditorClassIdentifier: 
---- !u!120 &1090597443
-LineRenderer:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 1090597441}
-  m_Enabled: 0
-  m_CastShadows: 1
-  m_ReceiveShadows: 1
-  m_DynamicOccludee: 1
-  m_MotionVectors: 0
-  m_LightProbeUsage: 0
-  m_ReflectionProbeUsage: 0
-  m_RayTracingMode: 0
-  m_RayTraceProcedural: 0
-  m_RenderingLayerMask: 1
-  m_RendererPriority: 0
-  m_Materials:
-  - {fileID: 10306, 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_ReceiveGI: 1
-  m_PreserveUVs: 0
-  m_IgnoreNormalsForChartDetection: 0
-  m_ImportantGI: 0
-  m_StitchLightmapSeams: 1
-  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_Positions:
-  - {x: -6, y: 0, z: 0}
-  - {x: 6, y: 0, z: 0}
-  - {x: 1, y: 0, z: 0}
-  - {x: 1, y: 0, z: 0}
-  - {x: 1, y: 0, z: 0}
-  - {x: 1, y: 0, z: 0}
-  - {x: 1, y: 0, z: 0}
-  - {x: 1, y: 0, z: 0}
-  - {x: 1, y: 0, z: 0}
-  - {x: 1, y: 0, z: 0}
-  - {x: 1, y: 0, z: 0}
-  - {x: 1, y: 0, z: 0}
-  - {x: 1, y: 0, z: 0}
-  - {x: 1, y: 0, z: 0}
-  - {x: 1, y: 0, z: 0}
-  - {x: 1, y: 0, z: 0}
-  - {x: 1, y: 0, z: 0}
-  - {x: 1, y: 0, z: 0}
-  - {x: 1, y: 0, z: 0}
-  - {x: 1, y: 0, z: 0}
-  - {x: 1, y: 0, z: 0}
-  - {x: 1, y: 0, z: 0}
-  - {x: 1, y: 0, z: 0}
-  - {x: 1, y: 0, z: 0}
-  - {x: 1, y: 0, z: 0}
-  - {x: 1, y: 0, z: 0}
-  - {x: 1, y: 0, z: 0}
-  - {x: 1, y: 0, z: 0}
-  - {x: 1, y: 0, z: 0}
-  - {x: 1, y: 0, z: 0}
-  - {x: 1, y: 0, z: 0}
-  - {x: 1, y: 0, z: 0}
-  - {x: 1, y: 0, z: 0}
-  - {x: 1, y: 0, z: 0}
-  - {x: 1, y: 0, z: 0}
-  - {x: 1, y: 0, z: 0}
-  - {x: 1, y: 0, z: 0}
-  - {x: 1, y: 0, z: 0}
-  - {x: 1, y: 0, z: 0}
-  - {x: 1, y: 0, z: 0}
-  - {x: 1, y: 0, z: 0}
-  - {x: 1, y: 0, z: 0}
-  - {x: 1, y: 0, z: 0}
-  - {x: 1, y: 0, z: 0}
-  - {x: 1, y: 0, z: 0}
-  - {x: 1, y: 0, z: 0}
-  - {x: 1, y: 0, z: 0}
-  - {x: 1, y: 0, z: 0}
-  - {x: 1, y: 0, z: 0}
-  - {x: 1, y: 0, z: 0}
-  - {x: 1, y: 0, z: 0}
-  - {x: 1, y: 0, z: 0}
-  - {x: 1, y: 0, z: 0}
-  - {x: 1, y: 0, z: 0}
-  - {x: 1, y: 0, z: 0}
-  - {x: 1, y: 0, z: 0}
-  - {x: 1, y: 0, z: 0}
-  - {x: 1, y: 0, z: 0}
-  - {x: 1, y: 0, z: 0}
-  - {x: 1, y: 0, z: 0}
-  - {x: 1, y: 0, z: 0}
-  - {x: 1, y: 0, z: 0}
-  - {x: 1, y: 0, z: 0}
-  - {x: 1, y: 0, z: 0}
-  - {x: 1, y: 0, z: 0}
-  - {x: 1, y: 0, z: 0}
-  - {x: 1, y: 0, z: 0}
-  - {x: 1, y: 0, z: 0}
-  - {x: 1, y: 0, z: 0}
-  - {x: 1, y: 0, z: 0}
-  - {x: 1, y: 0, z: 0}
-  - {x: 1, y: 0, z: 0}
-  - {x: 1, y: 0, z: 0}
-  - {x: 1, y: 0, z: 0}
-  - {x: 1, y: 0, z: 0}
-  - {x: 1, y: 0, z: 0}
-  - {x: 1, y: 0, z: 0}
-  - {x: 1, y: 0, z: 0}
-  - {x: 1, y: 0, z: 0}
-  - {x: 1, y: 0, z: 0}
-  - {x: 1, y: 0, z: 0}
-  - {x: 1, y: 0, z: 0}
-  - {x: 1, y: 0, z: 0}
-  - {x: 1, y: 0, z: 0}
-  - {x: 1, y: 0, z: 0}
-  - {x: 1, y: 0, z: 0}
-  - {x: 1, y: 0, z: 0}
-  - {x: 1, y: 0, z: 0}
-  - {x: 1, y: 0, z: 0}
-  - {x: 1, y: 0, z: 0}
-  - {x: 1, y: 0, z: 0}
-  - {x: 1, y: 0, z: 0}
-  - {x: 1, y: 0, z: 0}
-  - {x: 1, y: 0, z: 0}
-  - {x: 1, y: 0, z: 0}
-  - {x: 1, y: 0, z: 0}
-  - {x: 1, y: 0, z: 0}
-  - {x: 1, y: 0, z: 0}
-  - {x: 1, y: 0, z: 0}
-  - {x: 1, y: 0, z: 0}
-  m_Parameters:
-    serializedVersion: 3
-    widthMultiplier: 0.1
-    widthCurve:
-      serializedVersion: 2
-      m_Curve:
-      - serializedVersion: 3
-        time: 0
-        value: 1
-        inSlope: 0
-        outSlope: 0
-        tangentMode: 0
-        weightedMode: 0
-        inWeight: 0.33333334
-        outWeight: 0.33333334
-      m_PreInfinity: 2
-      m_PostInfinity: 2
-      m_RotationOrder: 4
-    colorGradient:
-      serializedVersion: 2
-      key0: {r: 0, g: 0.8158095, b: 1, a: 1}
-      key1: {r: 0, g: 0.81960785, b: 1, a: 1}
-      key2: {r: 1, g: 1, b: 1, a: 1}
-      key3: {r: 1, g: 1, b: 1, a: 1}
-      key4: {r: 1, g: 1, b: 1, a: 1}
-      key5: {r: 1, g: 1, b: 1, a: 1}
-      key6: {r: 1, g: 1, b: 1, a: 0.9411621}
-      key7: {r: 0, g: 0, b: 0, a: 0}
-      ctime0: 0
-      ctime1: 65535
-      ctime2: 32768
-      ctime3: 33924
-      ctime4: 49151
-      ctime5: 50115
-      ctime6: 65535
-      ctime7: 0
-      atime0: 0
-      atime1: 65535
-      atime2: 17348
-      atime3: 18311
-      atime4: 32768
-      atime5: 49151
-      atime6: 50115
-      atime7: 65535
-      m_Mode: 0
-      m_NumColorKeys: 2
-      m_NumAlphaKeys: 2
-    numCornerVertices: 0
-    numCapVertices: 0
-    alignment: 0
-    textureMode: 0
-    shadowBias: 0.5
-    generateLightingData: 0
-  m_UseWorldSpace: 0
-  m_Loop: 0
---- !u!224 &1090597444
-RectTransform:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 1090597441}
-  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
-  m_LocalPosition: {x: 0, y: 0, z: 6}
-  m_LocalScale: {x: 1, y: 1, z: 1}
-  m_Children:
-  - {fileID: 2121873985}
-  - {fileID: 1931621525}
-  m_Father: {fileID: 0}
-  m_RootOrder: 7
-  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
-  m_AnchorMin: {x: 0.5, y: 0.5}
-  m_AnchorMax: {x: 0.5, y: 0.5}
-  m_AnchoredPosition: {x: 0, y: 1.5}
-  m_SizeDelta: {x: 0, y: 0}
-  m_Pivot: {x: 0.5, y: 0.5}
---- !u!114 &1090597445
-MonoBehaviour:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 1090597441}
-  m_Enabled: 1
-  m_EditorHideFlags: 0
-  m_Script: {fileID: 11500000, guid: 09564a4e51862624cbffae6e76118f7e, type: 3}
-  m_Name: 
-  m_EditorClassIdentifier: 
-  targetDeviceName: BGBox_202012
-  textUI: {fileID: 0}
---- !u!114 &1090597446
-MonoBehaviour:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 1090597441}
-  m_Enabled: 1
-  m_EditorHideFlags: 0
-  m_Script: {fileID: 11500000, guid: e5464d6e6018e9446afd6b54a9ef1431, type: 3}
-  m_Name: 
-  m_EditorClassIdentifier: 
-  serverIP: 110.43.54.43
-  text: {fileID: 0}
---- !u!114 &1090597447
-MonoBehaviour:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 1090597441}
-  m_Enabled: 1
-  m_EditorHideFlags: 0
-  m_Script: {fileID: 11500000, guid: 03f9a0fbe68c3ea4885d4fe852ac90a9, type: 3}
-  m_Name: 
-  m_EditorClassIdentifier: 
-  shootSpeed: 0
-  text: {fileID: 0}
---- !u!114 &1090597449
-MonoBehaviour:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 1090597441}
-  m_Enabled: 0
-  m_EditorHideFlags: 0
-  m_Script: {fileID: 11500000, guid: 002a35c3187438e44a8141a5dbdc242e, type: 3}
-  m_Name: 
-  m_EditorClassIdentifier: 
 --- !u!1 &1091604528
 GameObject:
   m_ObjectHideFlags: 0
@@ -5552,7 +5155,7 @@ Transform:
   m_LocalScale: {x: 1, y: 1, z: 1}
   m_Children: []
   m_Father: {fileID: 0}
-  m_RootOrder: 5
+  m_RootOrder: 4
   m_LocalEulerAnglesHint: {x: 50, y: 60, z: 0}
 --- !u!1 &1228727255
 GameObject:
@@ -5767,8 +5370,8 @@ RectTransform:
   m_Father: {fileID: 327121313}
   m_RootOrder: 0
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
-  m_AnchorMin: {x: 0.2, y: 0}
-  m_AnchorMax: {x: 0.2, y: 1}
+  m_AnchorMin: {x: 0, y: 0}
+  m_AnchorMax: {x: 0, y: 0}
   m_AnchoredPosition: {x: 0, y: 0}
   m_SizeDelta: {x: 20, y: 0}
   m_Pivot: {x: 0.5, y: 0.5}
@@ -7088,87 +6691,6 @@ Transform:
   m_Father: {fileID: 2128212339}
   m_RootOrder: 1
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!1 &1633128730
-GameObject:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  serializedVersion: 6
-  m_Component:
-  - component: {fileID: 1633128731}
-  - component: {fileID: 1633128734}
-  - component: {fileID: 1633128733}
-  m_Layer: 0
-  m_Name: Sphere
-  m_TagString: Untagged
-  m_Icon: {fileID: 0}
-  m_NavMeshLayer: 0
-  m_StaticEditorFlags: 0
-  m_IsActive: 1
---- !u!4 &1633128731
-Transform:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 1633128730}
-  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
-  m_LocalPosition: {x: 0, y: 0, z: 30}
-  m_LocalScale: {x: 1, y: 1, z: 1}
-  m_Children: []
-  m_Father: {fileID: 977843527}
-  m_RootOrder: 0
-  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!23 &1633128733
-MeshRenderer:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 1633128730}
-  m_Enabled: 0
-  m_CastShadows: 1
-  m_ReceiveShadows: 1
-  m_DynamicOccludee: 1
-  m_MotionVectors: 1
-  m_LightProbeUsage: 1
-  m_ReflectionProbeUsage: 1
-  m_RayTracingMode: 2
-  m_RayTraceProcedural: 0
-  m_RenderingLayerMask: 1
-  m_RendererPriority: 0
-  m_Materials:
-  - {fileID: 10303, 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_ReceiveGI: 1
-  m_PreserveUVs: 0
-  m_IgnoreNormalsForChartDetection: 0
-  m_ImportantGI: 0
-  m_StitchLightmapSeams: 1
-  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_AdditionalVertexStreams: {fileID: 0}
---- !u!33 &1633128734
-MeshFilter:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 1633128730}
-  m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
 --- !u!1001 &1651750537
 PrefabInstance:
   m_ObjectHideFlags: 0
@@ -7557,7 +7079,7 @@ Transform:
   m_Children:
   - {fileID: 383624205}
   m_Father: {fileID: 0}
-  m_RootOrder: 8
+  m_RootOrder: 6
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
 --- !u!114 &1680053130
 MonoBehaviour:
@@ -7641,11 +7163,11 @@ RectTransform:
   m_Father: {fileID: 1979114040}
   m_RootOrder: 6
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
-  m_AnchorMin: {x: 1, y: 1}
-  m_AnchorMax: {x: 1, y: 1}
-  m_AnchoredPosition: {x: -30, y: -500}
+  m_AnchorMin: {x: 0, y: 1}
+  m_AnchorMax: {x: 0, y: 1}
+  m_AnchoredPosition: {x: 30, y: -500}
   m_SizeDelta: {x: 0, y: 0}
-  m_Pivot: {x: 1, y: 1}
+  m_Pivot: {x: 0, y: 1}
 --- !u!114 &1691070388
 MonoBehaviour:
   m_ObjectHideFlags: 0
@@ -8393,151 +7915,6 @@ Animation:
   m_PlayAutomatically: 1
   m_AnimatePhysics: 0
   m_CullingType: 0
---- !u!1 &1931621524
-GameObject:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  serializedVersion: 6
-  m_Component:
-  - component: {fileID: 1931621525}
-  - component: {fileID: 1931621526}
-  m_Layer: 5
-  m_Name: Line (1)
-  m_TagString: Untagged
-  m_Icon: {fileID: 0}
-  m_NavMeshLayer: 0
-  m_StaticEditorFlags: 0
-  m_IsActive: 0
---- !u!224 &1931621525
-RectTransform:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 1931621524}
-  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: 1090597444}
-  m_RootOrder: 1
-  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
-  m_AnchorMin: {x: 0.5, y: 0.5}
-  m_AnchorMax: {x: 0.5, y: 0.5}
-  m_AnchoredPosition: {x: -6, y: 0}
-  m_SizeDelta: {x: 0, y: 0}
-  m_Pivot: {x: 0.5, y: 0.5}
---- !u!120 &1931621526
-LineRenderer:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 1931621524}
-  m_Enabled: 1
-  m_CastShadows: 1
-  m_ReceiveShadows: 1
-  m_DynamicOccludee: 1
-  m_MotionVectors: 0
-  m_LightProbeUsage: 0
-  m_ReflectionProbeUsage: 0
-  m_RayTracingMode: 0
-  m_RayTraceProcedural: 0
-  m_RenderingLayerMask: 1
-  m_RendererPriority: 0
-  m_Materials:
-  - {fileID: 10306, 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_ReceiveGI: 1
-  m_PreserveUVs: 0
-  m_IgnoreNormalsForChartDetection: 0
-  m_ImportantGI: 0
-  m_StitchLightmapSeams: 1
-  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_Positions:
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0.5, z: 0}
-  - {x: -0.5, y: 0.5, z: 0}
-  - {x: 0, y: 0.5, z: 0}
-  - {x: 0, y: 1, z: 0}
-  - {x: -0.5, y: 1, z: 0}
-  - {x: 0, y: 1, z: 0}
-  - {x: 0, y: 1.5, z: 0}
-  - {x: -0.5, y: 1.5, z: 0}
-  - {x: 0, y: 1.5, z: 0}
-  - {x: 0, y: 2, z: 0}
-  - {x: -0.5, y: 2, z: 0}
-  - {x: 0, y: 2, z: 0}
-  m_Parameters:
-    serializedVersion: 3
-    widthMultiplier: 0.1
-    widthCurve:
-      serializedVersion: 2
-      m_Curve:
-      - serializedVersion: 3
-        time: 0
-        value: 1
-        inSlope: 0
-        outSlope: 0
-        tangentMode: 0
-        weightedMode: 0
-        inWeight: 0.33333334
-        outWeight: 0.33333334
-      m_PreInfinity: 2
-      m_PostInfinity: 2
-      m_RotationOrder: 4
-    colorGradient:
-      serializedVersion: 2
-      key0: {r: 0.60784316, g: 0.21568628, b: 0, a: 1}
-      key1: {r: 0.60784316, g: 0.21568628, b: 0, a: 1}
-      key2: {r: 1, g: 1, b: 1, a: 1}
-      key3: {r: 1, g: 1, b: 1, a: 1}
-      key4: {r: 1, g: 1, b: 1, a: 1}
-      key5: {r: 1, g: 1, b: 1, a: 1}
-      key6: {r: 1, g: 1, b: 1, a: 0.9411621}
-      key7: {r: 0, g: 0, b: 0, a: 0}
-      ctime0: 0
-      ctime1: 65535
-      ctime2: 32768
-      ctime3: 33924
-      ctime4: 49151
-      ctime5: 50115
-      ctime6: 65535
-      ctime7: 0
-      atime0: 0
-      atime1: 65535
-      atime2: 17348
-      atime3: 18311
-      atime4: 32768
-      atime5: 49151
-      atime6: 50115
-      atime7: 65535
-      m_Mode: 0
-      m_NumColorKeys: 2
-      m_NumAlphaKeys: 2
-    numCornerVertices: 0
-    numCapVertices: 0
-    alignment: 0
-    textureMode: 0
-    shadowBias: 0.5
-    generateLightingData: 0
-  m_UseWorldSpace: 0
-  m_Loop: 0
 --- !u!4 &1932897820 stripped
 Transform:
   m_CorrespondingSourceObject: {fileID: 7852382657316826920, guid: f8df6c6e35700784c9a4156abb612e0d, type: 3}
@@ -10067,10 +9444,10 @@ MonoBehaviour:
   m_FillRect: {fileID: 432507220}
   m_HandleRect: {fileID: 1259726582}
   m_Direction: 0
-  m_MinValue: 0
-  m_MaxValue: 1
+  m_MinValue: 1
+  m_MaxValue: 20
   m_WholeNumbers: 0
-  m_Value: 0.2
+  m_Value: 6
   m_OnValueChanged:
     m_PersistentCalls:
       m_Calls:
@@ -10165,441 +9542,6 @@ CanvasRenderer:
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 2120343880}
   m_CullTransparentMesh: 0
---- !u!1 &2121873984
-GameObject:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  serializedVersion: 6
-  m_Component:
-  - component: {fileID: 2121873985}
-  - component: {fileID: 2121873987}
-  m_Layer: 5
-  m_Name: Line
-  m_TagString: Untagged
-  m_Icon: {fileID: 0}
-  m_NavMeshLayer: 0
-  m_StaticEditorFlags: 0
-  m_IsActive: 0
---- !u!224 &2121873985
-RectTransform:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 2121873984}
-  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: 1090597444}
-  m_RootOrder: 0
-  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
-  m_AnchorMin: {x: 0.5, y: 0.5}
-  m_AnchorMax: {x: 0.5, y: 0.5}
-  m_AnchoredPosition: {x: 0, y: -0.1}
-  m_SizeDelta: {x: 0, y: 0}
-  m_Pivot: {x: 0.5, y: 0.5}
---- !u!120 &2121873987
-LineRenderer:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 2121873984}
-  m_Enabled: 1
-  m_CastShadows: 1
-  m_ReceiveShadows: 1
-  m_DynamicOccludee: 1
-  m_MotionVectors: 0
-  m_LightProbeUsage: 0
-  m_ReflectionProbeUsage: 0
-  m_RayTracingMode: 0
-  m_RayTraceProcedural: 0
-  m_RenderingLayerMask: 1
-  m_RendererPriority: 0
-  m_Materials:
-  - {fileID: 10306, 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_ReceiveGI: 1
-  m_PreserveUVs: 0
-  m_IgnoreNormalsForChartDetection: 0
-  m_ImportantGI: 0
-  m_StitchLightmapSeams: 1
-  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_Positions:
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  - {x: 0, y: 0, z: 0}
-  m_Parameters:
-    serializedVersion: 3
-    widthMultiplier: 0.06
-    widthCurve:
-      serializedVersion: 2
-      m_Curve:
-      - serializedVersion: 3
-        time: 0
-        value: 1
-        inSlope: 0
-        outSlope: 0
-        tangentMode: 0
-        weightedMode: 0
-        inWeight: 0.33333334
-        outWeight: 0.33333334
-      m_PreInfinity: 2
-      m_PostInfinity: 2
-      m_RotationOrder: 4
-    colorGradient:
-      serializedVersion: 2
-      key0: {r: 1, g: 0.4790018, b: 0.19245279, a: 1}
-      key1: {r: 1, g: 0.4790018, b: 0.19245279, a: 1}
-      key2: {r: 1, g: 1, b: 1, a: 1}
-      key3: {r: 1, g: 1, b: 1, a: 1}
-      key4: {r: 1, g: 1, b: 1, a: 1}
-      key5: {r: 1, g: 1, b: 1, a: 1}
-      key6: {r: 1, g: 1, b: 1, a: 0.9411621}
-      key7: {r: 0, g: 0, b: 0, a: 0}
-      ctime0: 0
-      ctime1: 65535
-      ctime2: 32768
-      ctime3: 33924
-      ctime4: 49151
-      ctime5: 50115
-      ctime6: 65535
-      ctime7: 0
-      atime0: 0
-      atime1: 65535
-      atime2: 17348
-      atime3: 18311
-      atime4: 32768
-      atime5: 49151
-      atime6: 50115
-      atime7: 65535
-      m_Mode: 0
-      m_NumColorKeys: 2
-      m_NumAlphaKeys: 2
-    numCornerVertices: 0
-    numCapVertices: 0
-    alignment: 0
-    textureMode: 0
-    shadowBias: 0.5
-    generateLightingData: 0
-  m_UseWorldSpace: 0
-  m_Loop: 0
 --- !u!1 &2126558683
 GameObject:
   m_ObjectHideFlags: 0

+ 41 - 34
Assets/BowArrow/Scripts/Bluetooth/BluetoothAim.cs

@@ -23,7 +23,7 @@ public class BluetoothAim : MonoBehaviour
 
     AimHandler aimHandler = null;
 
-    public static bool scanLock = false;
+    public static bool scanLock = false; //防止同时扫描冲突
 
     void Start()
     {
@@ -250,11 +250,7 @@ class AimHandler
         this.CalibrationButton = CalibrationButton;
         this.MagScaleText = MagScaleText;
         
-        SetIdentity.onClick.AddListener(delegate {
-            AccIdentity = AccOld;
-            MagIdentity = MagOld;
-            Debug.Log("reset identity");
-        });
+        SetIdentity.onClick.AddListener(DoIdentity);
         
         MagCalibrater = new o0MagneticCalibrater();
         string caliraterDataStr = PlayerPrefs.GetString("o0MagneticCalibrater");
@@ -292,10 +288,13 @@ class AimHandler
 
     public void onDataReceived(byte[] bytes)
     {
-        if (bytes[3] == 125)
+        if (bytes.Length != 26)
         {
-            AccIdentity = AccOld;
-            MagIdentity = MagOld;
+            if (bytes[3] == 125)
+            {
+                DoIdentity();
+            }
+            return;
         }
         if (bytes[4] == 0 && bytes[5] == 0 && bytes[6] == 0 && bytes[7] == 0 && bytes[8] == 0 && bytes[9] == 0)
             return;
@@ -339,41 +338,49 @@ class AimHandler
         var TimeGap = ms - msOld;
         msOld = ms;
 
-        Quaternion rotation = o06DOFUpdate(Acc * 10, Gyr, Mag, TimeGap);
+        newRotation = o06DOFUpdate(Acc * 10, Gyr, Mag, TimeGap);
         
         receiveDataCount++;
-        if (notIdentity)
-        {
-            if (receiveDataCount == 5)
-            {
-                AccIdentity = AccOld;
-                MagIdentity = MagOld;
-            }
-            else if (receiveDataCount > 5)
-            {
-                if (Mathf.Abs(rotation.eulerAngles.x) < 15 && Mathf.Abs(rotation.eulerAngles.y) < 15)
-                {
-                    notIdentity = false;
-                } else if (receiveDataCount % 100 == 0) {
-                    AccIdentity = AccOld;
-                    MagIdentity = MagOld;
-                }
-            }
-            MagScaleText.text = "正在自动纠正视角\n请拿好板子\n充电口朝上\n板子背对自己";
-        } else {
-            this.rotation = rotation;
+        if (!hasAutoIdentity && receiveDataCount == 5) {
+            doIdentity = true;
         }
     }   
 
+    void DoIdentity()
+    {
+        if (hasAutoIdentity)
+        {
+            doIdentity = true;
+            Debug.Log("reset identity");
+        }
+    }
+
     public void Update()
     {
-        if (!notIdentity)
+        if (hasAutoIdentity)
+        {
+            controlObj.transform.localRotation = Quaternion.Lerp(controlObj.transform.localRotation, newRotation, Time.deltaTime * 6);
+        }
+        if (doIdentity)
         {
-            controlObj.transform.localRotation = Quaternion.Lerp(controlObj.transform.localRotation, rotation, Time.deltaTime * 5.0f);
+            if (Quaternion.Angle(newRotation, baseRotation) < 2) 
+            {
+                if (!hasAutoIdentity)
+                {
+                    controlObj.transform.localRotation = newRotation;
+                }
+                doIdentity = false;
+                hasAutoIdentity = true;
+            } else {
+                AccIdentity = AccOld;
+                MagIdentity = MagOld;
+            }
         }
     }
 
     int receiveDataCount = 0;
-    bool notIdentity = true;
-    Quaternion rotation;
+    bool doIdentity = false;
+    bool hasAutoIdentity = false;
+    Quaternion newRotation;
+    Quaternion baseRotation = new Quaternion(0, 0, 0, 1);
 }

+ 0 - 145
Assets/BowArrow/Scripts/Bluetooth/BluetoothBC.cs

@@ -1,145 +0,0 @@
-using System;
-using System.Collections.Generic;
-using UnityEngine;
-using UnityEngine.UI;
-using ArduinoBluetoothAPI;
-
-public class BluetoothBC : MonoBehaviour
-{
-    BluetoothHelper bluetoothHelper;
-    BluetoothHelperCharacteristic characteristicWrite;
-    BluetoothHelperService bluetoothService;
-    string deviceName = "";
-    bool canConnect = true;
-
-    void OnDestroy()
-    {
-        if (bluetoothHelper != null)
-        {
-            bluetoothHelper.Disconnect();
-        }
-    }
-
-    void FixedUpdate()
-    {
-        Connect();
-    }
-
-    void Connect()
-    {
-        if (!canConnect)
-        {
-            return;
-        }
-        canConnect = false;
-        try
-        {
-            BluetoothHelper.BLE = true;
-            bluetoothHelper = BluetoothHelper.GetNewInstance();
-
-            bluetoothHelper.OnConnected += (BluetoothHelper helper) =>
-            {
-                Log("连接成功\n" + helper.getDeviceName());
-                foreach (BluetoothHelperService service in helper.getGattServices())
-                {
-                  
-                    if (service.getName().ToLower().StartsWith("0000fff0"))
-                    {
-                        bluetoothService = service;
-
-                        foreach (BluetoothHelperCharacteristic characteristic in service.getCharacteristics())
-                        {
-                            if (characteristic.getName().ToLower().StartsWith("0000fff2"))
-                            {
-                                characteristicWrite = characteristic;
-                            }
-                            else if (characteristic.getName().ToLower().StartsWith("0000fff1"))
-                            {
-
-                                BluetoothHelperCharacteristic ch = new BluetoothHelperCharacteristic(characteristic.getName());
-                                ch.setService(bluetoothService.getName());
-                                bluetoothHelper.Subscribe(ch);
-                            }
-                        }
-                    }
-                }
-                Invoke("OpenReceiveData", 1);
-                Invoke("SetReceiveDataInterval20", 2);
-            };
-            bluetoothHelper.OnConnectionFailed += (BluetoothHelper helper) =>
-            {
-                canConnect = true;
-                Log("连接失败\n" + helper.getDeviceName());
-            };
-            bluetoothHelper.OnCharacteristicChanged += (helper, value, characteristic) =>
-            {
-                byte[] bytes = value;
-                float ay = ToAcceleratedSpeed(bytes[6], bytes[7]);
-                if (ShootCheck.ins.check(ay)) {
-                    if (ArmBow.ins != null) {
-                        ArmBow.ins.ADS_fire();
-                    }      
-                }
-            };
-            bluetoothHelper.OnScanEnded += (BluetoothHelper helper, LinkedList<BluetoothDevice> nearbyDevices) =>
-            {
-                foreach (BluetoothDevice device in nearbyDevices)
-                {
-                    if (device.DeviceName == "BGBox_202012")
-                    {
-                        deviceName = device.DeviceName;
-                        bluetoothHelper.setDeviceName(deviceName);
-                        bluetoothHelper.Connect();
-                        Log("发现设备\n" + device.DeviceName);
-                        return;
-                    }
-                }
-                canConnect = true;
-                Log("没有发现设备");
-            };
-
-            bluetoothHelper.ScanNearbyDevices();
-            Log("正在扫描设备");
-        }
-        catch (Exception e)
-        {
-            Debug.Log(e.Message);
-            canConnect = true;
-            Log("请打开蓝牙");
-        }
-    }
-
-    void OpenReceiveData()
-    {
-        BluetoothHelperCharacteristic ch = new BluetoothHelperCharacteristic(characteristicWrite.getName());
-        ch.setService(bluetoothService.getName());
-        bluetoothHelper.WriteCharacteristic(ch, "3");
-        Log("开始接收信息\n" + deviceName);
-    }
-
-    void SetReceiveDataInterval20()
-    {
-        bluetoothHelper.WriteCharacteristic(characteristicWrite, "b");
-        Log("修改接收频率\n" + deviceName);
-    }
-
-    float ToAcceleratedSpeed(byte b1, byte b2)
-    {
-        int value = TwoByteToInt(b1, b2);
-        return (float)value / 32768 * 16;
-    }
-
-    int TwoByteToInt(byte b1, byte b2)
-    {
-        ushort twoByte = (ushort)(b1 * 256 + b2);
-        short shortNum = (short)twoByte;
-        return (int)shortNum;
-    }
-
-    void Log(string text)
-    {
-        if (DebugText.ins != null) {
-            DebugText.ins.show(text);
-        }
-    }
-}

+ 0 - 11
Assets/BowArrow/Scripts/Bluetooth/BluetoothBC.cs.meta

@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: 002a35c3187438e44a8141a5dbdc242e
-MonoImporter:
-  externalObjects: {}
-  serializedVersion: 2
-  defaultReferences: []
-  executionOrder: 0
-  icon: {instanceID: 0}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 

+ 0 - 121
Assets/BowArrow/Scripts/Bluetooth/BluetoothBC_Old.cs

@@ -1,121 +0,0 @@
-using System;
-using System.Collections.Generic;
-using UnityEngine;
-using UnityEngine.UI;
-using ArduinoBluetoothAPI;
-
-public class BluetoothBC_Old : MonoBehaviour
-{
-    private BluetoothHelper bluetoothHelper;
-    private BluetoothHelperCharacteristic characteristicWrite;
-    private string deviceName = "PBox-000000b";
-    private bool canConnect = true;
-
-    [SerializeField] string targetDeviceName = "BGBox_202012";
-    [SerializeField] Text textUI;
-    
-    void OnDestroy() 
-    {
-        if (bluetoothHelper != null) {
-            bluetoothHelper.Disconnect();
-        }
-    }
-
-    void FixedUpdate() 
-    {
-        this.Connect();
-    }
-
-    void Connect() 
-    {
-        if (!canConnect) {
-            return;
-        }
-        canConnect = false;
-        try {
-            BluetoothHelper.BLE = true;
-            bluetoothHelper = BluetoothHelper.GetNewInstance();
-            bluetoothHelper.setFixedLengthBasedStream(20);
-            
-            bluetoothHelper.OnConnected += (BluetoothHelper helper) =>
-            {
-                Log("连接成功\n" + helper.getDeviceName());
-                bluetoothHelper.StartListening();
-                foreach(BluetoothHelperService service in helper.getGattServices()) {
-                    foreach (BluetoothHelperCharacteristic characteristic in service.getCharacteristics()) {
-                        if (service.getName().ToLower().StartsWith("0000fff0")) {
-                            if (characteristic.getName().ToLower().StartsWith("0000fff2")) {
-                                characteristicWrite = characteristic;
-                            } else if (characteristic.getName().ToLower().StartsWith("0000fff1")) {
-                                bluetoothHelper.Subscribe(characteristic);
-                                bluetoothHelper.ReadCharacteristic(characteristic);
-                            }
-                        }
-                    }
-                }
-                Invoke("OpenReceiveData", 2);
-                Invoke("SetReceiveDataInterval20", 4);
-            };
-            bluetoothHelper.OnConnectionFailed += (BluetoothHelper helper) =>
-            {
-                canConnect = true;
-                Log("连接失败\n" + helper.getDeviceName());
-            };
-            bluetoothHelper.OnDataReceived += (BluetoothHelper helper) =>
-            {
-                byte[] bytes = helper.ReadBytes();
-                // float ax = ToAcceleratedSpeed(bytes[4], bytes[5]);
-                // float ay = ToAcceleratedSpeed(bytes[6], bytes[7]);
-                // float az = ToAcceleratedSpeed(bytes[8], bytes[9]);
-            };
-            bluetoothHelper.OnScanEnded += (BluetoothHelper helper, LinkedList<BluetoothDevice> nearbyDevices) => {
-                foreach (BluetoothDevice device in nearbyDevices) {
-                    if (device.DeviceName == targetDeviceName) {
-                        deviceName = device.DeviceName;
-                        bluetoothHelper.setDeviceName(deviceName);
-                        bluetoothHelper.Connect();
-                        Log("发现设备\n" + device.DeviceName);
-                        return;
-                    }
-                }
-                canConnect = true;
-                Log("没有发现设备");
-            };
-            bluetoothHelper.ScanNearbyDevices();
-            Log("正在扫描设备");
-        } catch (Exception e) {
-            Debug.Log(e.Message);
-            canConnect = true;
-            Log("请打开蓝牙");
-        }
-    }
-
-    void OpenReceiveData() {
-        bluetoothHelper.WriteCharacteristic(characteristicWrite, "3");
-        Log("开始接收信息\n" + deviceName);
-    }
-
-    void SetReceiveDataInterval20() {
-        bluetoothHelper.WriteCharacteristic(characteristicWrite, "b");
-        Log("修改接收频率\n" + deviceName);
-    }
-
-    int TwoByteToInt(byte b1, byte b2) {
-        ushort twoByte = (ushort) (b1 * 256 + b2);
-        short shortNum = (short) twoByte;
-        return (int) shortNum; 
-    }
-
-    float ToAcceleratedSpeed(byte b1, byte b2) {
-        int value = TwoByteToInt(b1, b2);
-        return (float) value / 32768  * 16;
-    }
-
-    void Log(string text)
-    {
-        if (textUI != null) 
-        {
-            textUI.text = text;
-        }
-    }
-}

+ 0 - 11
Assets/BowArrow/Scripts/Bluetooth/BluetoothBC_Old.cs.meta

@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: d68eace987f35fa4e93a16a3ed7984c5
-MonoImporter:
-  externalObjects: {}
-  serializedVersion: 2
-  defaultReferences: []
-  executionOrder: 0
-  icon: {instanceID: 0}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 

+ 0 - 131
Assets/BowArrow/Scripts/Bluetooth/BluetoothD.cs

@@ -1,131 +0,0 @@
-using ArduinoBluetoothAPI;
-using System;
-using UnityEngine;
-
-public class BluetoothD : MonoBehaviour
-{
-    
-    BluetoothHelper bluetoothHelper;
-    private bool btnCanClick = true;
-    private float roll = 0;
-    private float pitch = 0;
-    private float yaw = 0;
-    private float baseX = 0;//EulerAngleX
-    private float baseY = 0;//EulerAngleY
-    private float baseZ = 0;//EulerAngleY
-    private int ReceiveDataCount = 0;
-    private bool hasSetBasePoint = false;
-    public static GameObject controlTarget;
-
-    public static BluetoothD ins;
-
-    void Start() 
-    {
-        ins = this;
-        try {
-            BluetoothHelper.BLE = false;
-            bluetoothHelper = BluetoothHelper.GetNewInstance("HC-06");
-            bluetoothHelper.setFixedLengthBasedStream(11);
-
-            bluetoothHelper.OnConnected += (BluetoothHelper helper) =>
-            {
-                Log("连接成功");
-                bluetoothHelper.StartListening();
-                Log("开始采集信息\n" + bluetoothHelper.getDeviceName());
-            };
-            bluetoothHelper.OnConnectionFailed += (BluetoothHelper helper) =>
-            {
-                btnCanClick = true;
-                Log("连接失败");
-            };
-            bluetoothHelper.OnDataReceived += (BluetoothHelper helper) =>
-            {
-                byte[] bytes = helper.ReadBytes();
-                if (bytes[1] == 89) {
-                    float q1 = TwoByteToFloat(bytes[3], bytes[2]);
-                    float q2 = TwoByteToFloat(bytes[5], bytes[4]);
-                    float q3 = TwoByteToFloat(bytes[7], bytes[6]);
-                    float q4 = TwoByteToFloat(bytes[9], bytes[8]);
-                    q1 = q1 / 32768;
-                    q2 = q2 / 32768;
-                    q3 = q3 / 32768;
-                    q4 = q4 / 32768;
-                    q2 = 0f - q2;
-                    q3 = 0f - q3;
-                    ReceiveDataCount++;
-
-                    if (controlTarget != null) {
-                        controlTarget.transform.rotation = new Quaternion(q2, q1, q3, q4);
-                        pitch = controlTarget.transform.eulerAngles.x;
-                        yaw = controlTarget.transform.eulerAngles.y;
-                        roll = controlTarget.transform.eulerAngles.z;
-                        controlTarget.transform.eulerAngles = new Vector3(controlTarget.transform.eulerAngles.x + baseX, controlTarget.transform.eulerAngles.y + baseY, controlTarget.transform.eulerAngles.z + baseZ);
-                    }
-
-                    Log(q1 + ", " + q2 + ", " + q3 + ", " + q4);
-                }
-            };
-        } catch (Exception e) {
-            Debug.Log(e.Message);
-            Log("请打开蓝牙");
-        }
-        this.Invoke("Connect", 1);
-    }
-
-    void OnDestroy() 
-    {
-        if (bluetoothHelper != null) {
-            bluetoothHelper.Disconnect();
-        }
-    }
-
-    public void SetBasePoint() 
-    {
-        baseX = -pitch;
-        baseY = 90 -yaw;
-        baseZ = -90 -roll ;
-        if (ReceiveDataCount > 10) {
-            hasSetBasePoint = true;
-        }
-    }
-
-    public void AutoSetBasePoint() 
-    {
-        if (!hasSetBasePoint && ReceiveDataCount > 10 && (roll > 87 && roll < 93) && (pitch < 3 || pitch > 357)) {
-            SetBasePoint();
-        }
-    }
-
-    public void Connect()
-    {
-        if (!btnCanClick) {
-            return;
-        }
-        btnCanClick = false;
-        try {
-            if (bluetoothHelper != null) {
-                bluetoothHelper.Connect();
-                Log("正在扫描设备");
-            } else {
-                btnCanClick = true;
-                Log("蓝牙初始化失败");
-            }
-        } catch (Exception e) {
-            btnCanClick = true;
-            Debug.Log(e.Message);
-            Log("请先配对蓝牙");
-        }
-    }
-
-    float TwoByteToFloat(byte b1, byte b2) 
-    {
-        ushort twoByte = (ushort) (b1 * 256 + b2);
-        short shortNum = (short) twoByte;
-        return (float) shortNum; 
-    }
-
-    void Log(string text) 
-    {
-        
-    }
-}

+ 5 - 2
Assets/DebugShoot/BluetoothShoot.cs → Assets/BowArrow/Scripts/Bluetooth/BluetoothShoot.cs

@@ -15,7 +15,7 @@ public class BluetoothShoot : MonoBehaviour
     [SerializeField] string targetDeviceName = "BGBox_202012";
     [SerializeField] Text textUI;
 
-    public static bool scanLock = false;
+    public static bool scanLock = false; //防止同时扫描冲突
 
     void OnDestroy()
     {
@@ -85,7 +85,10 @@ public class BluetoothShoot : MonoBehaviour
             bluetoothHelper.OnCharacteristicChanged += (helper, value, characteristic) =>
             {
                 byte[] bytes = value;
-                ShootCheck.ins.OnDataReceived(bytes);
+                if (ShootCheck.ins != null)
+                {
+                    ShootCheck.ins.OnDataReceived(bytes);
+                }
             };
             bluetoothHelper.OnScanEnded += (BluetoothHelper helper, LinkedList<BluetoothDevice> nearbyDevices) =>
             {

+ 0 - 0
Assets/DebugShoot/BluetoothShoot.cs.meta → Assets/BowArrow/Scripts/Bluetooth/BluetoothShoot.cs.meta


+ 34 - 26
Assets/DebugShoot/ShootCheck.cs → Assets/BowArrow/Scripts/Bluetooth/ShootCheck.cs

@@ -11,18 +11,22 @@ public class ShootCheck : MonoBehaviour
     bool hasReachShootThreshold = false;
     bool locked = false;
     int hitCount = 0;
-    public float shootSpeed;
     [SerializeField] Text text;
+    public float shootSpeed;
     public static ShootCheck ins; 
 
-    float[] ays = new float[4];
-
     void Start()
     {
         ins = this;
-        BluetoothClient.onDataReceived = OnDataReceived;
+        // BluetoothClient.onDataReceived = OnDataReceived;
     } 
 
+    void OnDestroy()
+    {
+        ins = null;
+    }
+
+    float[] ays = new float[4];
     public void OnDataReceived(byte[] bytes) {
         ays[0] = ToAcceleratedSpeed(bytes[7], bytes[8]);
         ays[1] = ToAcceleratedSpeed(bytes[17], bytes[18]);
@@ -32,7 +36,7 @@ public class ShootCheck : MonoBehaviour
         {
             try 
             {
-                if (ShootCheck.ins.check(ay))
+                if (ins.check(ay))
                 {
                     if (ArmBow.ins != null)
                     {
@@ -61,9 +65,11 @@ public class ShootCheck : MonoBehaviour
     }
 
     int afterReachShootFrameCount = 0;
-    public bool check(float acc)
+    int steadyFrameCount = 6;
+    bool check(float acc)
     {
         DebugLine.show(acc);
+        DebugLine.showSteady(gravity);
         for (int i = accList.Length - 1; i > 0; i--)
         {
             accList[i] = accList[i - 1];
@@ -77,23 +83,19 @@ public class ShootCheck : MonoBehaviour
         if (hasReachShootThreshold) {
             if (acc <= gravity) {
                 hitCount++;
-                shootSpeed = (maxAcc - gravity) * 6.0f;
-                Log("第" + hitCount + "次识别射箭,过滤正轴重力" + gravity.ToString("#0.000") + "后,所得最大加速度峰值" + (maxAcc - gravity).ToString("#0.000") + ",峰后坡帧数" + afterReachShootFrameCount);
+                shootSpeed = maxAcc - gravity;
+                Log("第" + hitCount + "次识别射箭\n过滤正轴重力" + gravity.ToString("#0.000") + "后\n所得最大加速度峰值" + (maxAcc - gravity).ToString("#0.000") + "\n有效帧数" + afterReachShootFrameCount);
                 maxAcc = 0;
                 afterReachShootFrameCount = 0;
                 hasReachShootThreshold = false;
                 Dolock();
                 Invoke("Unlock", 0.8f);
                 return true;
-            } else if (accList[1] > accList[0] && accList[1] > accList[2]) {
-                if (accList[1] > maxAcc)
-                {
-                    maxAcc = accList[1];
-                }
-                return false;
+            } else if (acc > maxAcc) {
+                maxAcc = acc;
             }
             afterReachShootFrameCount++;
-            if (afterReachShootFrameCount >= 15)
+            if (afterReachShootFrameCount >= 20)
             {
                 maxAcc = 0;
                 afterReachShootFrameCount = 0;
@@ -102,31 +104,37 @@ public class ShootCheck : MonoBehaviour
             }
             return false;
         }
-        if (dataCount > 3)
+        if (dataCount > steadyFrameCount)
         {
             float totalAcc = 0;
-            for (int i = 0; i < 3; i++)
+            for (int i = 0; i < steadyFrameCount; i++)
             {
                 totalAcc += accList[i];
             }
-            float rangeAcc = totalAcc / 3;
+            float rangeAcc = totalAcc / steadyFrameCount;
             float squareAcc = 0;
-            for (int i = 0; i < 3; i++)
+            for (int i = 0; i < steadyFrameCount; i++)
             {
                 squareAcc += (float) Mathf.Pow(accList[i] - rangeAcc, 2);
             }
-            squareAcc /= 3;
-            if (squareAcc < 0.0003)
+            squareAcc /= steadyFrameCount;
+            if (squareAcc < 0.00012)
             {
                 gravity = Mathf.Clamp(rangeAcc, -0.981f, 0.981f);
             } 
-            if (accList[1] - gravity > 3.3)
+            if (acc - gravity > 2.4)
             {
-                if (accList[1] > accList[0] && accList[1] > accList[2])
+                for (int i = 1; i < dataCount && i < 15; i++)
                 {
-                    hasReachShootThreshold = true;
-                    maxAcc = accList[1];
+                    if (accList[i] - gravity < - 1)
+                    {
+                        Dolock();
+                        Invoke("Unlock", 0.2f);
+                        return false;
+                    }
                 }
+                hasReachShootThreshold = true;
+                maxAcc = acc;
             }
         }
         return false;
@@ -137,7 +145,7 @@ public class ShootCheck : MonoBehaviour
         this.locked = true;
     }
 
-    public void Unlock()
+    void Unlock()
     {
         this.locked = false;
     }

+ 0 - 0
Assets/DebugShoot/ShootCheck.cs.meta → Assets/BowArrow/Scripts/Bluetooth/ShootCheck.cs.meta


+ 60 - 0
Assets/BowArrow/Scripts/Bluetooth/o0FilterVector3.cs

@@ -0,0 +1,60 @@
+using System;
+using UnityEngine;
+
+public class o0FilterVector3
+{
+    public o0FilterVector3(float noise)
+    {
+        this.noise = Mathf.Abs(noise);
+    }
+    //public Vector3 value { get; protected set; } = default;
+    float noise = 10;
+
+    public void Update(ref Vector3 value, Vector3 measuredValue)
+    {
+        if (value == default)
+        {
+            value = measuredValue;
+            return;
+        }
+        var noiseBuffer = noise / 10;
+        var differenceVector = measuredValue - value;
+        float sigmoidResult = SigmoidIntegration(differenceVector.magnitude / noiseBuffer - 5) * noiseBuffer;//处理value过大时为无穷
+        value += sigmoidResult * differenceVector.normalized;
+    }
+
+    public float SigmoidIntegration(float to)//计算优化过的sigmoid算法
+    {
+        if (to > 700)
+            return to - 0.00671534848911797f;
+        return (float)Math.Log(1 + Math.Pow(Math.E, to)) - 0.00671534848911797f;
+    }
+}
+
+public class o0FilterQuaternion
+{
+    public o0FilterQuaternion(float noise)
+    {
+        this.noise = Mathf.Abs(noise);
+    }
+    float noise = 10;
+
+    public Quaternion Update(Quaternion value, Quaternion measuredValue)
+    {
+        if (value == default)
+        {
+            return measuredValue;
+        }
+        var noiseBuffer = noise / 10;
+        var difference = Quaternion.Angle(measuredValue, value);
+        float sigmoidResult = SigmoidIntegration(difference / noiseBuffer - 5) * noiseBuffer;//处理value过大时为无穷
+        return Quaternion.Slerp(value, measuredValue, sigmoidResult);
+    }
+
+    public float SigmoidIntegration(float to)//计算优化过的sigmoid算法
+    {
+        if (to > 700)
+            return to - 0.00671534848911797f;
+        return (float)Math.Log(1 + Math.Pow(Math.E, to)) - 0.00671534848911797f;
+    }
+}

+ 1 - 1
Assets/BowArrow/Scripts/Bluetooth/BluetoothD.cs.meta → Assets/BowArrow/Scripts/Bluetooth/o0FilterVector3.cs.meta

@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: 83b6913318cd38e498b952d5ab0ad7fa
+guid: d4f79a92466f60747bfe3ec2ce286c5c
 MonoImporter:
   externalObjects: {}
   serializedVersion: 2

+ 3 - 3
Assets/BowArrow/Scripts/Debug/BaseSpeedSlider.cs

@@ -17,11 +17,11 @@ public class BaseSpeedSlider : MonoBehaviour
     public void onSlider() 
     {
         float value = this.GetComponent<Slider>().value;
-        text.text = "最大初速度 " + (value * 200f).ToString("#0.00") + "m/s";
+        text.text = "发射速度倍率 " + (value).ToString("#0.00");
     }
 
     public float getValue()
     {
-        return this.GetComponent<Slider>().value * 200f  * 0.5f;
+        return this.GetComponent<Slider>().value;
     }
-}
+}

+ 1 - 1
Assets/BowArrow/Scripts/Game/ArmBow.cs

@@ -133,7 +133,7 @@ public class ArmBow : MonoBehaviour
         // arrowComp.calculateSpeed(rayHitPoint);
         // Arrow.speed = BaseSpeedSlider.ins.getValue() * DebugBowPower.ins.getPowerPercent();
         // Arrow.speed = BaseSpeedSlider.ins.getValue();
-        Arrow.speed = ShootCheck.ins.shootSpeed;
+        Arrow.speed = ShootCheck.ins.shootSpeed * BaseSpeedSlider.ins.getValue();
 
         arrowCopy.SetActive(true);  
         arrow.SetActive(false);

+ 0 - 5
Assets/BowArrow/Scripts/Manager/GameMgr.cs

@@ -17,16 +17,11 @@ public class GameMgr : MonoBehaviour
         this.initGameMode();
     }
 
-    void OnDestroy() {
-        BluetoothD.controlTarget = null;
-    }
-
     void initGameMode() {
         if (gameMode == 1) 
         {
             this.gameMode1 = new GameMode1();
             this.gameMode1.init(this);
-            BluetoothD.controlTarget = GameObject.Find("CameraRoot");
         }
     }
 

+ 1 - 1
Assets/BowArrow/Scripts/View/ChallengeGameView.cs

@@ -27,7 +27,7 @@ public class ChallengeGameView : MonoBehaviour
 
     public void SetBasePoint() 
     {
-        BluetoothD.ins.SetBasePoint();
+        
     }
 
     public void back() 

+ 1 - 6
Assets/DebugShoot/BluetoothClient.cs

@@ -15,7 +15,6 @@ public class BluetoothClient : MonoBehaviour
 {
     WebSocket ws;
     bool loaded = false;
-
     [SerializeField] string serverIP = "192.168.101.14";
     [SerializeField] Text text;
     public static System.Action<byte[]> onDataReceived;
@@ -76,11 +75,7 @@ public class BluetoothClient : MonoBehaviour
         {
             string data = String.Join(",", bytes);
             ins.ws.Send(ins.PackData("uploadData", new string[]{data}, 1));
-            ins.Log("发送数据\n" + data);
-            if (onDataReceived != null)
-            {
-                onDataReceived(bytes);
-            }
+            ins.Log("正在上传数据");
         }
     }
 

+ 6 - 16
Assets/DebugShoot/BluetoothNew.cs

@@ -12,7 +12,9 @@ public class BluetoothNew : MonoBehaviour
     string deviceName = "";
     bool canConnect = true;
 
-    [SerializeField] string targetDeviceName = "BGBox_202012";
+    string targetDeviceName = "BGBox_202012";
+    // string targetDeviceName = "Bbow_20210501";
+
     [SerializeField] Text textUI;
 
     void OnDestroy()
@@ -66,8 +68,8 @@ public class BluetoothNew : MonoBehaviour
                         }
                     }
                 }
-                Invoke("OpenReceiveData", 2);
-                Invoke("SetReceiveDataInterval20", 4);
+                Invoke("OpenReceiveData", 1);
+                Invoke("SetReceiveDataInterval20", 2);
             };
             bluetoothHelper.OnConnectionFailed += (BluetoothHelper helper) =>
             {
@@ -111,6 +113,7 @@ public class BluetoothNew : MonoBehaviour
     {
         BluetoothHelperCharacteristic ch = new BluetoothHelperCharacteristic(characteristicWrite.getName());
         ch.setService(bluetoothService.getName());
+        // bluetoothHelper.WriteCharacteristic(ch, "3");
         bluetoothHelper.WriteCharacteristic(ch, "5");
         Log("开始接收信息\n" + deviceName);
     }
@@ -121,19 +124,6 @@ public class BluetoothNew : MonoBehaviour
         Log("修改接收频率\n" + deviceName);
     }
 
-    float ToAcceleratedSpeed(byte b1, byte b2)
-    {
-        int value = TwoByteToInt(b1, b2);
-        return (float)value / 32768 * 16;
-    }
-
-    int TwoByteToInt(byte b1, byte b2)
-    {
-        ushort twoByte = (ushort)(b1 * 256 + b2);
-        short shortNum = (short)twoByte;
-        return (int)shortNum;
-    }
-
     void Log(string text)
     {
         if (textUI != null) 

+ 145 - 2
Assets/DebugShoot/DebugShoot.unity → Assets/DebugShoot/DebugBluetooth.unity

@@ -213,6 +213,15 @@ LineRenderer:
   - {x: 0, y: 2, z: 0}
   - {x: -0.5, y: 2, z: 0}
   - {x: 0, y: 2, z: 0}
+  - {x: 0, y: 2.5, z: 0}
+  - {x: -0.5, y: 2.5, z: 0}
+  - {x: 0, y: 2.5, z: 0}
+  - {x: 0, y: 3, z: 0}
+  - {x: -0.5, y: 3, z: 0}
+  - {x: 0, y: 3, z: 0}
+  - {x: 0, y: 3.5, z: 0}
+  - {x: -0.5, y: 3.5, z: 0}
+  - {x: 0, y: 3.5, z: 0}
   m_Parameters:
     serializedVersion: 3
     widthMultiplier: 0.1
@@ -299,8 +308,8 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: 03f9a0fbe68c3ea4885d4fe852ac90a9, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  shootSpeed: 0
   text: {fileID: 948485339}
+  shootSpeed: 0
 --- !u!114 &417067451
 MonoBehaviour:
   m_ObjectHideFlags: 0
@@ -313,7 +322,6 @@ MonoBehaviour:
   m_Script: {fileID: 11500000, guid: 09564a4e51862624cbffae6e76118f7e, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  targetDeviceName: BGBox_202012
   textUI: {fileID: 2081173761}
 --- !u!114 &417067452
 MonoBehaviour:
@@ -582,6 +590,7 @@ RectTransform:
   m_Children:
   - {fileID: 909293987}
   - {fileID: 407940832}
+  - {fileID: 656646620}
   m_Father: {fileID: 0}
   m_RootOrder: 3
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@@ -590,6 +599,140 @@ RectTransform:
   m_AnchoredPosition: {x: 0, y: -0.5}
   m_SizeDelta: {x: 0, y: 0}
   m_Pivot: {x: 0.5, y: 0.5}
+--- !u!1 &656646619
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 656646620}
+  - component: {fileID: 656646621}
+  m_Layer: 5
+  m_Name: SteadyLine
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &656646620
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 656646619}
+  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: 557747848}
+  m_RootOrder: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 0.5, y: 0.5}
+  m_AnchorMax: {x: 0.5, y: 0.5}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!120 &656646621
+LineRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 656646619}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_DynamicOccludee: 1
+  m_MotionVectors: 0
+  m_LightProbeUsage: 0
+  m_ReflectionProbeUsage: 0
+  m_RayTracingMode: 0
+  m_RayTraceProcedural: 0
+  m_RenderingLayerMask: 1
+  m_RendererPriority: 0
+  m_Materials:
+  - {fileID: 10306, 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_ReceiveGI: 1
+  m_PreserveUVs: 0
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 1
+  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_Positions:
+  - {x: -6, y: 0, z: 0}
+  - {x: 6, y: 0, z: 0}
+  m_Parameters:
+    serializedVersion: 3
+    widthMultiplier: 0.1
+    widthCurve:
+      serializedVersion: 2
+      m_Curve:
+      - serializedVersion: 3
+        time: 0
+        value: 1
+        inSlope: 0
+        outSlope: 0
+        tangentMode: 0
+        weightedMode: 0
+        inWeight: 0.33333334
+        outWeight: 0.33333334
+      m_PreInfinity: 2
+      m_PostInfinity: 2
+      m_RotationOrder: 4
+    colorGradient:
+      serializedVersion: 2
+      key0: {r: 0, g: 0, b: 0.60784316, a: 1}
+      key1: {r: 0, g: 0, b: 0.60784316, a: 1}
+      key2: {r: 1, g: 1, b: 1, a: 1}
+      key3: {r: 1, g: 1, b: 1, a: 1}
+      key4: {r: 1, g: 1, b: 1, a: 1}
+      key5: {r: 1, g: 1, b: 1, a: 1}
+      key6: {r: 1, g: 1, b: 1, a: 0.9411621}
+      key7: {r: 0, g: 0, b: 0, a: 0}
+      ctime0: 0
+      ctime1: 65535
+      ctime2: 32768
+      ctime3: 33924
+      ctime4: 49151
+      ctime5: 50115
+      ctime6: 65535
+      ctime7: 0
+      atime0: 0
+      atime1: 65535
+      atime2: 17348
+      atime3: 18311
+      atime4: 32768
+      atime5: 49151
+      atime6: 50115
+      atime7: 65535
+      m_Mode: 0
+      m_NumColorKeys: 2
+      m_NumAlphaKeys: 2
+    numCornerVertices: 0
+    numCapVertices: 0
+    alignment: 0
+    textureMode: 0
+    shadowBias: 0.5
+    generateLightingData: 0
+  m_UseWorldSpace: 0
+  m_Loop: 0
 --- !u!1 &909293986
 GameObject:
   m_ObjectHideFlags: 0

+ 0 - 0
Assets/DebugShoot/DebugShoot.unity.meta → Assets/DebugShoot/DebugBluetooth.unity.meta


+ 10 - 0
Assets/DebugShoot/DebugLine.cs

@@ -45,4 +45,14 @@ public class DebugLine : MonoBehaviour
             ins.lr.SetPositions(ins.vs);
         }
     }
+
+    public static void showSteady(float value)
+    {
+        if (ins != null) {
+            Transform t = ins.transform.Find("SteadyLine");
+            Vector3 p = t.localPosition;
+            p.y = value;
+            t.localPosition = p;
+        }
+    }
 }

+ 8 - 1
ProjectSettings/ProjectSettings.asset

@@ -274,7 +274,14 @@ PlayerSettings:
   AndroidMinifyDebug: 0
   AndroidValidateAppBundleSize: 1
   AndroidAppBundleSizeToValidate: 150
-  m_BuildTargetIcons: []
+  m_BuildTargetIcons:
+  - m_BuildTarget: 
+    m_Icons:
+    - serializedVersion: 2
+      m_Icon: {fileID: 0}
+      m_Width: 128
+      m_Height: 128
+      m_Kind: 0
   m_BuildTargetPlatformIcons:
   - m_BuildTarget: Android
     m_Icons: