diff --git a/Assets/Resources/Prefabs/Angle.prefab b/Assets/Resources/Prefabs/Angle.prefab
index 39b7d02518829d80a89d4e98c316f23bdfd49c2a..29b1719c0cd94178beff4423ff2dcdcabe7cf650 100644
--- a/Assets/Resources/Prefabs/Angle.prefab
+++ b/Assets/Resources/Prefabs/Angle.prefab
@@ -1,6 +1,6 @@
 %YAML 1.1
 %TAG !u! tag:unity3d.com,2011:
---- !u!1 &1047820262597827614
+--- !u!1 &874001566494999466
 GameObject:
   m_ObjectHideFlags: 0
   m_CorrespondingSourceObject: {fileID: 0}
@@ -8,11 +8,11 @@ GameObject:
   m_PrefabAsset: {fileID: 0}
   serializedVersion: 6
   m_Component:
-  - component: {fileID: 776204628661091474}
-  - component: {fileID: 1611341617565119760}
-  - component: {fileID: 5847986162312327669}
-  - component: {fileID: 3727883962287805668}
-  - component: {fileID: 8678993674720081185}
+  - component: {fileID: 5828814633827486385}
+  - component: {fileID: 7699224541667766671}
+  - component: {fileID: 6694473473003647560}
+  - component: {fileID: 562364442917191108}
+  - component: {fileID: 6234540560952625969}
   m_Layer: 12
   m_Name: AngleText_Back
   m_TagString: Untagged
@@ -20,32 +20,32 @@ GameObject:
   m_NavMeshLayer: 0
   m_StaticEditorFlags: 0
   m_IsActive: 1
---- !u!224 &776204628661091474
+--- !u!224 &5828814633827486385
 RectTransform:
   m_ObjectHideFlags: 0
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 1047820262597827614}
+  m_GameObject: {fileID: 874001566494999466}
   m_LocalRotation: {x: -0.5, y: -0.5, z: -0.5, w: 0.5}
   m_LocalPosition: {x: 0, y: 0, z: 0}
-  m_LocalScale: {x: 1, y: 1, z: 0.25}
+  m_LocalScale: {x: 0.95, y: 0.95, z: 0.0025}
   m_Children: []
-  m_Father: {fileID: 4650993679319476103}
+  m_Father: {fileID: 3394522496185282011}
   m_RootOrder: 1
   m_LocalEulerAnglesHint: {x: -90, y: -90, z: 0}
   m_AnchorMin: {x: 0.5, y: 0.5}
   m_AnchorMax: {x: 0.5, y: 0.5}
-  m_AnchoredPosition: {x: 0.7, y: -1.5}
+  m_AnchoredPosition: {x: 0.66499996, y: -0.015}
   m_SizeDelta: {x: 1, y: 1}
   m_Pivot: {x: 0.5, y: 0.5}
---- !u!23 &1611341617565119760
+--- !u!23 &7699224541667766671
 MeshRenderer:
   m_ObjectHideFlags: 0
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 1047820262597827614}
+  m_GameObject: {fileID: 874001566494999466}
   m_Enabled: 1
   m_CastShadows: 0
   m_ReceiveShadows: 0
@@ -78,29 +78,29 @@ MeshRenderer:
   m_SortingLayerID: 0
   m_SortingLayer: 0
   m_SortingOrder: 1
---- !u!33 &5847986162312327669
+--- !u!33 &6694473473003647560
 MeshFilter:
   m_ObjectHideFlags: 0
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 1047820262597827614}
+  m_GameObject: {fileID: 874001566494999466}
   m_Mesh: {fileID: 0}
---- !u!222 &3727883962287805668
+--- !u!222 &562364442917191108
 CanvasRenderer:
   m_ObjectHideFlags: 0
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 1047820262597827614}
+  m_GameObject: {fileID: 874001566494999466}
   m_CullTransparentMesh: 0
---- !u!114 &8678993674720081185
+--- !u!114 &6234540560952625969
 MonoBehaviour:
   m_ObjectHideFlags: 0
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 1047820262597827614}
+  m_GameObject: {fileID: 874001566494999466}
   m_Enabled: 1
   m_EditorHideFlags: 0
   m_Script: {fileID: 11500000, guid: 9541d86e2fd84c1d9990edf0852d74ab, type: 3}
@@ -181,7 +181,7 @@ MonoBehaviour:
   m_pageToDisplay: 1
   m_margin: {x: 0, y: 0, z: 0, w: 0}
   m_textInfo:
-    textComponent: {fileID: 8678993674720081185}
+    textComponent: {fileID: 6234540560952625969}
     characterCount: 4
     spriteCount: 0
     spaceCount: 0
@@ -194,7 +194,7 @@ MonoBehaviour:
   m_isVolumetricText: 0
   m_spriteAnimator: {fileID: 0}
   m_hasFontAssetChanged: 0
-  m_renderer: {fileID: 1611341617565119760}
+  m_renderer: {fileID: 7699224541667766671}
   m_subTextObjects:
   - {fileID: 0}
   - {fileID: 0}
@@ -205,7 +205,7 @@ MonoBehaviour:
   - {fileID: 0}
   - {fileID: 0}
   m_maskType: 0
---- !u!1 &4650993678488610235
+--- !u!1 &3394522495515098197
 GameObject:
   m_ObjectHideFlags: 0
   m_CorrespondingSourceObject: {fileID: 0}
@@ -213,48 +213,49 @@ GameObject:
   m_PrefabAsset: {fileID: 0}
   serializedVersion: 6
   m_Component:
-  - component: {fileID: 4650993678488610234}
-  - component: {fileID: 4650993678488610228}
-  - component: {fileID: 4650993678488610229}
-  - component: {fileID: 4650993678488610230}
-  - component: {fileID: 4650993678488610231}
-  m_Layer: 12
+  - component: {fileID: 3394522495515098200}
+  - component: {fileID: 3394522495515098201}
+  - component: {fileID: 3394522495515098202}
+  - component: {fileID: 3394522495515098203}
+  - component: {fileID: 3394522495515098196}
+  - component: {fileID: 7137147696081341476}
+  m_Layer: 0
   m_Name: AngleOuter
-  m_TagString: Selectable
+  m_TagString: Untagged
   m_Icon: {fileID: 0}
   m_NavMeshLayer: 0
   m_StaticEditorFlags: 0
   m_IsActive: 1
---- !u!4 &4650993678488610234
+--- !u!4 &3394522495515098200
 Transform:
   m_ObjectHideFlags: 0
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 4650993678488610235}
+  m_GameObject: {fileID: 3394522495515098197}
   m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
   m_LocalPosition: {x: 0, y: 0, z: 0}
-  m_LocalScale: {x: 1, y: 0.02, z: 1}
+  m_LocalScale: {x: 1, y: 1, z: 1}
   m_Children:
-  - {fileID: 4650993679319476103}
-  m_Father: {fileID: 4650993679089994826}
+  - {fileID: 3394522496185282011}
+  m_Father: {fileID: 5781467132517744785}
   m_RootOrder: 0
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!33 &4650993678488610228
+--- !u!33 &3394522495515098201
 MeshFilter:
   m_ObjectHideFlags: 0
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 4650993678488610235}
-  m_Mesh: {fileID: 4300000, guid: 4fe93ee2ed2d8c64389611c85232bf23, type: 2}
---- !u!23 &4650993678488610229
+  m_GameObject: {fileID: 3394522495515098197}
+  m_Mesh: {fileID: 0}
+--- !u!23 &3394522495515098202
 MeshRenderer:
   m_ObjectHideFlags: 0
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 4650993678488610235}
+  m_GameObject: {fileID: 3394522495515098197}
   m_Enabled: 1
   m_CastShadows: 1
   m_ReceiveShadows: 1
@@ -278,7 +279,7 @@ MeshRenderer:
   m_PreserveUVs: 0
   m_IgnoreNormalsForChartDetection: 0
   m_ImportantGI: 0
-  m_StitchLightmapSeams: 0
+  m_StitchLightmapSeams: 1
   m_SelectedEditorRenderState: 3
   m_MinimumChartSize: 4
   m_AutoUVMaxDistance: 0.5
@@ -287,65 +288,48 @@ MeshRenderer:
   m_SortingLayerID: 0
   m_SortingLayer: 0
   m_SortingOrder: 0
---- !u!114 &4650993678488610230
-MonoBehaviour:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 4650993678488610235}
-  m_Enabled: 1
-  m_EditorHideFlags: 0
-  m_Script: {fileID: 11500000, guid: 626c435b76e0d334f959ede8b54b07ac, type: 3}
-  m_Name: 
-  m_EditorClassIdentifier: 
-  Id: 0
---- !u!64 &4650993678488610231
+--- !u!64 &3394522495515098203
 MeshCollider:
   m_ObjectHideFlags: 0
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 4650993678488610235}
+  m_GameObject: {fileID: 3394522495515098197}
   m_Material: {fileID: 0}
   m_IsTrigger: 0
   m_Enabled: 1
   serializedVersion: 4
   m_Convex: 0
   m_CookingOptions: 30
-  m_Mesh: {fileID: 4300000, guid: 4fe93ee2ed2d8c64389611c85232bf23, type: 2}
---- !u!1 &4650993679089994827
-GameObject:
+  m_Mesh: {fileID: 0}
+--- !u!114 &3394522495515098196
+MonoBehaviour:
   m_ObjectHideFlags: 0
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
-  serializedVersion: 6
-  m_Component:
-  - component: {fileID: 4650993679089994826}
-  m_Layer: 12
-  m_Name: Angle
-  m_TagString: Selectable
-  m_Icon: {fileID: 0}
-  m_NavMeshLayer: 0
-  m_StaticEditorFlags: 0
-  m_IsActive: 1
---- !u!4 &4650993679089994826
-Transform:
+  m_GameObject: {fileID: 3394522495515098197}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: a607442cfe796274da703e1c9ebe4f39, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  radius: 1
+  height: 0.02
+--- !u!114 &7137147696081341476
+MonoBehaviour:
   m_ObjectHideFlags: 0
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 4650993679089994827}
-  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:
-  - {fileID: 4650993678488610234}
-  m_Father: {fileID: 0}
-  m_RootOrder: 0
-  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!1 &4650993679319476100
+  m_GameObject: {fileID: 3394522495515098197}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 626c435b76e0d334f959ede8b54b07ac, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  Id: 0
+--- !u!1 &3394522496185282000
 GameObject:
   m_ObjectHideFlags: 0
   m_CorrespondingSourceObject: {fileID: 0}
@@ -353,48 +337,50 @@ GameObject:
   m_PrefabAsset: {fileID: 0}
   serializedVersion: 6
   m_Component:
-  - component: {fileID: 4650993679319476103}
-  - component: {fileID: 4650993679319476097}
-  - component: {fileID: 4650993679319476102}
-  - component: {fileID: 7310199272454353937}
-  m_Layer: 12
+  - component: {fileID: 3394522496185282011}
+  - component: {fileID: 3394522496185282004}
+  - component: {fileID: 3394522496185282005}
+  - component: {fileID: 3394522496185282006}
+  - component: {fileID: 3394522496185282007}
+  - component: {fileID: 2270583313952035853}
+  m_Layer: 0
   m_Name: AngleInner
   m_TagString: Untagged
   m_Icon: {fileID: 0}
   m_NavMeshLayer: 0
   m_StaticEditorFlags: 0
   m_IsActive: 1
---- !u!4 &4650993679319476103
+--- !u!4 &3394522496185282011
 Transform:
   m_ObjectHideFlags: 0
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 4650993679319476100}
+  m_GameObject: {fileID: 3394522496185282000}
   m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
   m_LocalPosition: {x: 0, y: 0, z: 0}
-  m_LocalScale: {x: 0.95, y: 0.5, z: 0.95}
+  m_LocalScale: {x: 1, y: 1, z: 1}
   m_Children:
-  - {fileID: 6834100498144429849}
-  - {fileID: 776204628661091474}
-  m_Father: {fileID: 4650993678488610234}
+  - {fileID: 6114879545313836302}
+  - {fileID: 5828814633827486385}
+  m_Father: {fileID: 3394522495515098200}
   m_RootOrder: 0
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!33 &4650993679319476097
+--- !u!33 &3394522496185282004
 MeshFilter:
   m_ObjectHideFlags: 0
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 4650993679319476100}
-  m_Mesh: {fileID: 4300000, guid: 4fe93ee2ed2d8c64389611c85232bf23, type: 2}
---- !u!23 &4650993679319476102
+  m_GameObject: {fileID: 3394522496185282000}
+  m_Mesh: {fileID: 0}
+--- !u!23 &3394522496185282005
 MeshRenderer:
   m_ObjectHideFlags: 0
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 4650993679319476100}
+  m_GameObject: {fileID: 3394522496185282000}
   m_Enabled: 1
   m_CastShadows: 1
   m_ReceiveShadows: 1
@@ -418,7 +404,7 @@ MeshRenderer:
   m_PreserveUVs: 0
   m_IgnoreNormalsForChartDetection: 0
   m_ImportantGI: 0
-  m_StitchLightmapSeams: 0
+  m_StitchLightmapSeams: 1
   m_SelectedEditorRenderState: 3
   m_MinimumChartSize: 4
   m_AutoUVMaxDistance: 0.5
@@ -427,23 +413,79 @@ MeshRenderer:
   m_SortingLayerID: 0
   m_SortingLayer: 0
   m_SortingOrder: 0
---- !u!114 &7310199272454353937
+--- !u!64 &3394522496185282006
+MeshCollider:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3394522496185282000}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 4
+  m_Convex: 0
+  m_CookingOptions: 30
+  m_Mesh: {fileID: 0}
+--- !u!114 &3394522496185282007
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 3394522496185282000}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: a607442cfe796274da703e1c9ebe4f39, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  radius: 0.95
+  height: 0.01
+--- !u!114 &2270583313952035853
 MonoBehaviour:
   m_ObjectHideFlags: 0
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 4650993679319476100}
+  m_GameObject: {fileID: 3394522496185282000}
   m_Enabled: 1
   m_EditorHideFlags: 0
   m_Script: {fileID: 11500000, guid: a6b9fc46f5bfe6b4eb4adf01e6b65bac, type: 3}
   m_Name: 
   m_EditorClassIdentifier: 
-  meshRendererToChange: {fileID: 4650993679319476102}
-  animationStartColor: {r: 0.98039216, g: 0.99215686, b: 0.03137255, a: 1}
-  animationEndColor: {r: 1, g: 0.52156866, b: 0.007843138, a: 1}
-  animateDuration: 5
---- !u!1 &7003220517868882106
+  meshRendererToChange: {fileID: 0}
+--- !u!1 &7144232170300037021
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 5781467132517744785}
+  m_Layer: 0
+  m_Name: Angle
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &5781467132517744785
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7144232170300037021}
+  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:
+  - {fileID: 3394522495515098200}
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &8247887023038618208
 GameObject:
   m_ObjectHideFlags: 0
   m_CorrespondingSourceObject: {fileID: 0}
@@ -451,11 +493,11 @@ GameObject:
   m_PrefabAsset: {fileID: 0}
   serializedVersion: 6
   m_Component:
-  - component: {fileID: 6834100498144429849}
-  - component: {fileID: 2708246422010202965}
-  - component: {fileID: 9133314279872122108}
-  - component: {fileID: 8080899974220995652}
-  - component: {fileID: 3620593617881097249}
+  - component: {fileID: 6114879545313836302}
+  - component: {fileID: 2846497428082229918}
+  - component: {fileID: 7050397055091509308}
+  - component: {fileID: 8918036850658686416}
+  - component: {fileID: 3527746868028771423}
   m_Layer: 12
   m_Name: AngleText_Front
   m_TagString: Untagged
@@ -463,32 +505,32 @@ GameObject:
   m_NavMeshLayer: 0
   m_StaticEditorFlags: 0
   m_IsActive: 1
---- !u!224 &6834100498144429849
+--- !u!224 &6114879545313836302
 RectTransform:
   m_ObjectHideFlags: 0
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 7003220517868882106}
+  m_GameObject: {fileID: 8247887023038618208}
   m_LocalRotation: {x: 0.5, y: 0.5, z: -0.5, w: 0.5}
   m_LocalPosition: {x: 0, y: 0, z: 0}
-  m_LocalScale: {x: 1, y: 1, z: 0.25}
+  m_LocalScale: {x: 0.95, y: 0.95, z: 0.0025}
   m_Children: []
-  m_Father: {fileID: 4650993679319476103}
+  m_Father: {fileID: 3394522496185282011}
   m_RootOrder: 0
   m_LocalEulerAnglesHint: {x: 90, y: 90, z: 0}
   m_AnchorMin: {x: 0.5, y: 0.5}
   m_AnchorMax: {x: 0.5, y: 0.5}
-  m_AnchoredPosition: {x: 0.7, y: 1.5}
+  m_AnchoredPosition: {x: 0.66499996, y: 0.015}
   m_SizeDelta: {x: 1, y: 1}
   m_Pivot: {x: 0.5, y: 0.5}
---- !u!23 &2708246422010202965
+--- !u!23 &2846497428082229918
 MeshRenderer:
   m_ObjectHideFlags: 0
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 7003220517868882106}
+  m_GameObject: {fileID: 8247887023038618208}
   m_Enabled: 1
   m_CastShadows: 0
   m_ReceiveShadows: 0
@@ -521,29 +563,29 @@ MeshRenderer:
   m_SortingLayerID: 0
   m_SortingLayer: 0
   m_SortingOrder: 1
---- !u!33 &9133314279872122108
+--- !u!33 &7050397055091509308
 MeshFilter:
   m_ObjectHideFlags: 0
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 7003220517868882106}
+  m_GameObject: {fileID: 8247887023038618208}
   m_Mesh: {fileID: 0}
---- !u!222 &8080899974220995652
+--- !u!222 &8918036850658686416
 CanvasRenderer:
   m_ObjectHideFlags: 0
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 7003220517868882106}
+  m_GameObject: {fileID: 8247887023038618208}
   m_CullTransparentMesh: 0
---- !u!114 &3620593617881097249
+--- !u!114 &3527746868028771423
 MonoBehaviour:
   m_ObjectHideFlags: 0
   m_CorrespondingSourceObject: {fileID: 0}
   m_PrefabInstance: {fileID: 0}
   m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 7003220517868882106}
+  m_GameObject: {fileID: 8247887023038618208}
   m_Enabled: 1
   m_EditorHideFlags: 0
   m_Script: {fileID: 11500000, guid: 9541d86e2fd84c1d9990edf0852d74ab, type: 3}
@@ -624,7 +666,7 @@ MonoBehaviour:
   m_pageToDisplay: 1
   m_margin: {x: 0, y: 0, z: 0, w: 0}
   m_textInfo:
-    textComponent: {fileID: 3620593617881097249}
+    textComponent: {fileID: 3527746868028771423}
     characterCount: 4
     spriteCount: 0
     spaceCount: 0
@@ -637,7 +679,7 @@ MonoBehaviour:
   m_isVolumetricText: 0
   m_spriteAnimator: {fileID: 0}
   m_hasFontAssetChanged: 0
-  m_renderer: {fileID: 2708246422010202965}
+  m_renderer: {fileID: 2846497428082229918}
   m_subTextObjects:
   - {fileID: 0}
   - {fileID: 0}
diff --git a/Assets/Resources/Prefabs/Angle.prefab.meta b/Assets/Resources/Prefabs/Angle.prefab.meta
index 0fe7520528e8f31614a9ac4db59bdc0c2bda2ce7..7c1324e31274c4c3927373704151a30248cefa81 100644
--- a/Assets/Resources/Prefabs/Angle.prefab.meta
+++ b/Assets/Resources/Prefabs/Angle.prefab.meta
@@ -1,5 +1,5 @@
 fileFormatVersion: 2
-guid: 88cc44a1ed1ae2444b3bd45c300ad7da
+guid: 303a593e7b3272a40a7d1a71b1f0639c
 PrefabImporter:
   externalObjects: {}
   userData: 
diff --git a/Assets/Resources/Prefabs/Angle_Old.prefab b/Assets/Resources/Prefabs/Angle_Old.prefab
new file mode 100644
index 0000000000000000000000000000000000000000..39b7d02518829d80a89d4e98c316f23bdfd49c2a
--- /dev/null
+++ b/Assets/Resources/Prefabs/Angle_Old.prefab
@@ -0,0 +1,650 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &1047820262597827614
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 776204628661091474}
+  - component: {fileID: 1611341617565119760}
+  - component: {fileID: 5847986162312327669}
+  - component: {fileID: 3727883962287805668}
+  - component: {fileID: 8678993674720081185}
+  m_Layer: 12
+  m_Name: AngleText_Back
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &776204628661091474
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1047820262597827614}
+  m_LocalRotation: {x: -0.5, y: -0.5, z: -0.5, w: 0.5}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 0.25}
+  m_Children: []
+  m_Father: {fileID: 4650993679319476103}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: -90, y: -90, z: 0}
+  m_AnchorMin: {x: 0.5, y: 0.5}
+  m_AnchorMax: {x: 0.5, y: 0.5}
+  m_AnchoredPosition: {x: 0.7, y: -1.5}
+  m_SizeDelta: {x: 1, y: 1}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!23 &1611341617565119760
+MeshRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1047820262597827614}
+  m_Enabled: 1
+  m_CastShadows: 0
+  m_ReceiveShadows: 0
+  m_DynamicOccludee: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_RayTracingMode: 2
+  m_RenderingLayerMask: 1
+  m_RendererPriority: 0
+  m_Materials:
+  - {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+  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: 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: 1
+--- !u!33 &5847986162312327669
+MeshFilter:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1047820262597827614}
+  m_Mesh: {fileID: 0}
+--- !u!222 &3727883962287805668
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1047820262597827614}
+  m_CullTransparentMesh: 0
+--- !u!114 &8678993674720081185
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1047820262597827614}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 9541d86e2fd84c1d9990edf0852d74ab, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_text: Test
+  m_isRightToLeft: 0
+  m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+  m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+  m_fontSharedMaterials: []
+  m_fontMaterial: {fileID: 0}
+  m_fontMaterials: []
+  m_fontColor32:
+    serializedVersion: 2
+    rgba: 4293282880
+  m_fontColor: {r: 0.25, g: 0.3, b: 0.9, a: 1}
+  m_enableVertexGradient: 0
+  m_colorMode: 3
+  m_fontColorGradient:
+    topLeft: {r: 1, g: 1, b: 1, a: 1}
+    topRight: {r: 1, g: 1, b: 1, a: 1}
+    bottomLeft: {r: 1, g: 1, b: 1, a: 1}
+    bottomRight: {r: 1, g: 1, b: 1, a: 1}
+  m_fontColorGradientPreset: {fileID: 0}
+  m_spriteAsset: {fileID: 0}
+  m_tintAllSprites: 0
+  m_overrideHtmlColors: 0
+  m_faceColor:
+    serializedVersion: 2
+    rgba: 4294967295
+  m_outlineColor:
+    serializedVersion: 2
+    rgba: 4278190080
+  m_fontSize: 2
+  m_fontSizeBase: 2
+  m_fontWeight: 400
+  m_enableAutoSizing: 0
+  m_fontSizeMin: 18
+  m_fontSizeMax: 72
+  m_fontStyle: 0
+  m_textAlignment: 514
+  m_characterSpacing: 0
+  m_wordSpacing: 0
+  m_lineSpacing: 0
+  m_lineSpacingMax: 0
+  m_paragraphSpacing: 0
+  m_charWidthMaxAdj: 0
+  m_enableWordWrapping: 1
+  m_wordWrappingRatios: 0.4
+  m_overflowMode: 0
+  m_firstOverflowCharacterIndex: -1
+  m_linkedTextComponent: {fileID: 0}
+  m_isLinkedTextComponent: 0
+  m_isTextTruncated: 0
+  m_enableKerning: 1
+  m_enableExtraPadding: 0
+  checkPaddingRequired: 0
+  m_isRichText: 1
+  m_parseCtrlCharacters: 1
+  m_isOrthographic: 0
+  m_isCullingEnabled: 0
+  m_ignoreRectMaskCulling: 0
+  m_ignoreCulling: 1
+  m_horizontalMapping: 0
+  m_verticalMapping: 0
+  m_uvLineOffset: 0
+  m_geometrySortingOrder: 0
+  m_VertexBufferAutoSizeReduction: 1
+  m_firstVisibleCharacter: 0
+  m_useMaxVisibleDescender: 1
+  m_pageToDisplay: 1
+  m_margin: {x: 0, y: 0, z: 0, w: 0}
+  m_textInfo:
+    textComponent: {fileID: 8678993674720081185}
+    characterCount: 4
+    spriteCount: 0
+    spaceCount: 0
+    wordCount: 1
+    linkCount: 0
+    lineCount: 1
+    pageCount: 1
+    materialCount: 1
+  m_isUsingLegacyAnimationComponent: 0
+  m_isVolumetricText: 0
+  m_spriteAnimator: {fileID: 0}
+  m_hasFontAssetChanged: 0
+  m_renderer: {fileID: 1611341617565119760}
+  m_subTextObjects:
+  - {fileID: 0}
+  - {fileID: 0}
+  - {fileID: 0}
+  - {fileID: 0}
+  - {fileID: 0}
+  - {fileID: 0}
+  - {fileID: 0}
+  - {fileID: 0}
+  m_maskType: 0
+--- !u!1 &4650993678488610235
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 4650993678488610234}
+  - component: {fileID: 4650993678488610228}
+  - component: {fileID: 4650993678488610229}
+  - component: {fileID: 4650993678488610230}
+  - component: {fileID: 4650993678488610231}
+  m_Layer: 12
+  m_Name: AngleOuter
+  m_TagString: Selectable
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &4650993678488610234
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4650993678488610235}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 0.02, z: 1}
+  m_Children:
+  - {fileID: 4650993679319476103}
+  m_Father: {fileID: 4650993679089994826}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!33 &4650993678488610228
+MeshFilter:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4650993678488610235}
+  m_Mesh: {fileID: 4300000, guid: 4fe93ee2ed2d8c64389611c85232bf23, type: 2}
+--- !u!23 &4650993678488610229
+MeshRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4650993678488610235}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_DynamicOccludee: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_RayTracingMode: 2
+  m_RenderingLayerMask: 1
+  m_RendererPriority: 0
+  m_Materials:
+  - {fileID: 2100000, guid: 8ae9adf4dc782964387385c1e8c0eb72, type: 2}
+  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: 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!114 &4650993678488610230
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4650993678488610235}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 626c435b76e0d334f959ede8b54b07ac, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  Id: 0
+--- !u!64 &4650993678488610231
+MeshCollider:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4650993678488610235}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 4
+  m_Convex: 0
+  m_CookingOptions: 30
+  m_Mesh: {fileID: 4300000, guid: 4fe93ee2ed2d8c64389611c85232bf23, type: 2}
+--- !u!1 &4650993679089994827
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 4650993679089994826}
+  m_Layer: 12
+  m_Name: Angle
+  m_TagString: Selectable
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &4650993679089994826
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4650993679089994827}
+  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:
+  - {fileID: 4650993678488610234}
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &4650993679319476100
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 4650993679319476103}
+  - component: {fileID: 4650993679319476097}
+  - component: {fileID: 4650993679319476102}
+  - component: {fileID: 7310199272454353937}
+  m_Layer: 12
+  m_Name: AngleInner
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &4650993679319476103
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4650993679319476100}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 0.95, y: 0.5, z: 0.95}
+  m_Children:
+  - {fileID: 6834100498144429849}
+  - {fileID: 776204628661091474}
+  m_Father: {fileID: 4650993678488610234}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!33 &4650993679319476097
+MeshFilter:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4650993679319476100}
+  m_Mesh: {fileID: 4300000, guid: 4fe93ee2ed2d8c64389611c85232bf23, type: 2}
+--- !u!23 &4650993679319476102
+MeshRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4650993679319476100}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_DynamicOccludee: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_RayTracingMode: 2
+  m_RenderingLayerMask: 1
+  m_RendererPriority: 0
+  m_Materials:
+  - {fileID: 2100000, guid: 8a28cccde2536794c97ec91954e34e90, type: 2}
+  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: 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!114 &7310199272454353937
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 4650993679319476100}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: a6b9fc46f5bfe6b4eb4adf01e6b65bac, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  meshRendererToChange: {fileID: 4650993679319476102}
+  animationStartColor: {r: 0.98039216, g: 0.99215686, b: 0.03137255, a: 1}
+  animationEndColor: {r: 1, g: 0.52156866, b: 0.007843138, a: 1}
+  animateDuration: 5
+--- !u!1 &7003220517868882106
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 6834100498144429849}
+  - component: {fileID: 2708246422010202965}
+  - component: {fileID: 9133314279872122108}
+  - component: {fileID: 8080899974220995652}
+  - component: {fileID: 3620593617881097249}
+  m_Layer: 12
+  m_Name: AngleText_Front
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &6834100498144429849
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7003220517868882106}
+  m_LocalRotation: {x: 0.5, y: 0.5, z: -0.5, w: 0.5}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 0.25}
+  m_Children: []
+  m_Father: {fileID: 4650993679319476103}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 90, y: 90, z: 0}
+  m_AnchorMin: {x: 0.5, y: 0.5}
+  m_AnchorMax: {x: 0.5, y: 0.5}
+  m_AnchoredPosition: {x: 0.7, y: 1.5}
+  m_SizeDelta: {x: 1, y: 1}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!23 &2708246422010202965
+MeshRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7003220517868882106}
+  m_Enabled: 1
+  m_CastShadows: 0
+  m_ReceiveShadows: 0
+  m_DynamicOccludee: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 1
+  m_RayTracingMode: 2
+  m_RenderingLayerMask: 1
+  m_RendererPriority: 0
+  m_Materials:
+  - {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+  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: 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: 1
+--- !u!33 &9133314279872122108
+MeshFilter:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7003220517868882106}
+  m_Mesh: {fileID: 0}
+--- !u!222 &8080899974220995652
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7003220517868882106}
+  m_CullTransparentMesh: 0
+--- !u!114 &3620593617881097249
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 7003220517868882106}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 9541d86e2fd84c1d9990edf0852d74ab, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 1
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_text: Test
+  m_isRightToLeft: 0
+  m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+  m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+  m_fontSharedMaterials: []
+  m_fontMaterial: {fileID: 0}
+  m_fontMaterials: []
+  m_fontColor32:
+    serializedVersion: 2
+    rgba: 4293282880
+  m_fontColor: {r: 0.25, g: 0.3, b: 0.9, a: 1}
+  m_enableVertexGradient: 0
+  m_colorMode: 3
+  m_fontColorGradient:
+    topLeft: {r: 1, g: 1, b: 1, a: 1}
+    topRight: {r: 1, g: 1, b: 1, a: 1}
+    bottomLeft: {r: 1, g: 1, b: 1, a: 1}
+    bottomRight: {r: 1, g: 1, b: 1, a: 1}
+  m_fontColorGradientPreset: {fileID: 0}
+  m_spriteAsset: {fileID: 0}
+  m_tintAllSprites: 0
+  m_overrideHtmlColors: 0
+  m_faceColor:
+    serializedVersion: 2
+    rgba: 4294967295
+  m_outlineColor:
+    serializedVersion: 2
+    rgba: 4278190080
+  m_fontSize: 2
+  m_fontSizeBase: 2
+  m_fontWeight: 400
+  m_enableAutoSizing: 0
+  m_fontSizeMin: 18
+  m_fontSizeMax: 72
+  m_fontStyle: 0
+  m_textAlignment: 514
+  m_characterSpacing: 0
+  m_wordSpacing: 0
+  m_lineSpacing: 0
+  m_lineSpacingMax: 0
+  m_paragraphSpacing: 0
+  m_charWidthMaxAdj: 0
+  m_enableWordWrapping: 1
+  m_wordWrappingRatios: 0.4
+  m_overflowMode: 0
+  m_firstOverflowCharacterIndex: -1
+  m_linkedTextComponent: {fileID: 0}
+  m_isLinkedTextComponent: 0
+  m_isTextTruncated: 0
+  m_enableKerning: 1
+  m_enableExtraPadding: 0
+  checkPaddingRequired: 0
+  m_isRichText: 1
+  m_parseCtrlCharacters: 1
+  m_isOrthographic: 0
+  m_isCullingEnabled: 0
+  m_ignoreRectMaskCulling: 0
+  m_ignoreCulling: 1
+  m_horizontalMapping: 0
+  m_verticalMapping: 0
+  m_uvLineOffset: 0
+  m_geometrySortingOrder: 0
+  m_VertexBufferAutoSizeReduction: 1
+  m_firstVisibleCharacter: 0
+  m_useMaxVisibleDescender: 1
+  m_pageToDisplay: 1
+  m_margin: {x: 0, y: 0, z: 0, w: 0}
+  m_textInfo:
+    textComponent: {fileID: 3620593617881097249}
+    characterCount: 4
+    spriteCount: 0
+    spaceCount: 0
+    wordCount: 1
+    linkCount: 0
+    lineCount: 1
+    pageCount: 1
+    materialCount: 1
+  m_isUsingLegacyAnimationComponent: 0
+  m_isVolumetricText: 0
+  m_spriteAnimator: {fileID: 0}
+  m_hasFontAssetChanged: 0
+  m_renderer: {fileID: 2708246422010202965}
+  m_subTextObjects:
+  - {fileID: 0}
+  - {fileID: 0}
+  - {fileID: 0}
+  - {fileID: 0}
+  - {fileID: 0}
+  - {fileID: 0}
+  - {fileID: 0}
+  - {fileID: 0}
+  m_maskType: 0
diff --git a/Assets/Resources/Prefabs/Angle_Old.prefab.meta b/Assets/Resources/Prefabs/Angle_Old.prefab.meta
new file mode 100644
index 0000000000000000000000000000000000000000..0fe7520528e8f31614a9ac4db59bdc0c2bda2ce7
--- /dev/null
+++ b/Assets/Resources/Prefabs/Angle_Old.prefab.meta
@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 88cc44a1ed1ae2444b3bd45c300ad7da
+PrefabImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Scripts/CircleSegmentGenerator.cs b/Assets/Scripts/CircleSegmentGenerator.cs
new file mode 100644
index 0000000000000000000000000000000000000000..6c17abfe28c63d153aab5d23f7179e9d384799b1
--- /dev/null
+++ b/Assets/Scripts/CircleSegmentGenerator.cs
@@ -0,0 +1,111 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+[RequireComponent(typeof(MeshFilter))]
+public class CircleSegmentGenerator : MonoBehaviour
+{
+    public float radius;
+    public float height;
+
+    private Mesh mesh;
+
+    //Every 0.5° of the circle segment, there starts a new triangle
+    private float angleAccuracy = 0.5f;
+
+    public void setAngle(float angle)
+    {
+        CreateSegment(angle, radius);
+    }
+
+    private void CreateSegment(float angle, float radius)
+    {
+        float absoluteAngle = Mathf.Abs(angle);
+        List<Vector3> verticeList = new List<Vector3>();
+        List<int> triangleList = new List<int>();
+
+        //Center-Point of lower side
+        Vector3 center0 = new Vector3(0, 0, 0);
+        int center0Index = 0;
+        verticeList.Add(center0);
+
+        //Center-Point of upper side
+        Vector3 center1 = new Vector3(0, height, 0);
+        int center1Index = 1;
+        verticeList.Add(center1);
+
+        float posAngle = absoluteAngle / 2;
+        float negAngle = posAngle * -1;
+
+        int i = 2;
+        for (float x = negAngle; x < posAngle; x += angleAccuracy)
+        {
+            float nextAngle;
+
+            if (x + angleAccuracy > posAngle)
+                nextAngle = posAngle;
+            else
+                nextAngle = x + angleAccuracy;
+
+            float newPointX = radius * Mathf.Cos(nextAngle * Mathf.Deg2Rad);
+            float newPointZ = radius * Mathf.Sin(nextAngle * Mathf.Deg2Rad);
+
+
+            if (i == 2)
+            {
+                //Add first Points at the beginning of the angle
+                float firstPointX = radius * Mathf.Cos(negAngle * Mathf.Deg2Rad);
+                float firstPointZ = radius * Mathf.Sin(negAngle * Mathf.Deg2Rad);
+                verticeList.Add(new Vector3(firstPointX, 0, firstPointZ));
+                verticeList.Add(new Vector3(firstPointX, height, firstPointZ));
+                
+                //Adding triangles for left side
+                triangleList.Add(center0Index);
+                triangleList.Add(center1Index);
+                triangleList.Add(i + 1);
+                triangleList.Add(center0Index);
+                triangleList.Add(i + 1);
+                triangleList.Add(i);
+
+                i += 2;
+            }
+
+            verticeList.Add(new Vector3(newPointX, 0, newPointZ));
+            verticeList.Add(new Vector3(newPointX, height, newPointZ));
+
+            //Adding triangles for upper- and lower-side
+            triangleList.Add(center0Index);
+            triangleList.Add(i - 2);
+            triangleList.Add(i);
+            triangleList.Add(center1Index);
+            triangleList.Add(i + 1);
+            triangleList.Add(i - 1);
+            //Adding triangles for front side
+            triangleList.Add(i - 2);
+            triangleList.Add(i - 1);
+            triangleList.Add(i + 1);
+            triangleList.Add(i - 2);
+            triangleList.Add(i + 1);
+            triangleList.Add(i);
+
+            if (nextAngle == posAngle)
+            {
+                //Adding triangles for right side
+                triangleList.Add(center0Index);
+                triangleList.Add(i + 1);
+                triangleList.Add(center1Index);
+                triangleList.Add(center0Index);
+                triangleList.Add(i);
+                triangleList.Add(i + 1);
+            }
+
+            i += 2;
+        }
+
+        mesh = new Mesh();
+        mesh.vertices = verticeList.ToArray();
+        mesh.triangles = triangleList.ToArray();
+        GetComponent<MeshFilter>().mesh = mesh;
+        mesh.RecalculateNormals();
+    }
+}
diff --git a/Assets/Scripts/CircleSegmentGenerator.cs.meta b/Assets/Scripts/CircleSegmentGenerator.cs.meta
new file mode 100644
index 0000000000000000000000000000000000000000..27ac6289d88a385cc4a140220af981a9e169a27d
--- /dev/null
+++ b/Assets/Scripts/CircleSegmentGenerator.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: a607442cfe796274da703e1c9ebe4f39
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Assets/Scripts/InteractionEngine/FactSpawner.cs b/Assets/Scripts/InteractionEngine/FactSpawner.cs
index 186d029e0998e17ee86deee7ea869fc133d3b11a..e71545e3919722723df22df647bf8b32c66953b6 100644
--- a/Assets/Scripts/InteractionEngine/FactSpawner.cs
+++ b/Assets/Scripts/InteractionEngine/FactSpawner.cs
@@ -8,6 +8,7 @@
 public class FactSpawner : MonoBehaviour
 {
     private GameObject FactRepresentation;
+    private Camera camera;
 
     void Start()
     {
@@ -20,6 +21,8 @@ void Start()
         //Default FactRepresenation = Sphere-Prefab for Points
         this.FactRepresentation = (GameObject) Resources.Load("Prefabs/Sphere", typeof(GameObject));
 
+        camera = Camera.main;
+
     }
 
     public void FactAction(Fact fact) {
@@ -148,29 +151,14 @@ public Fact SpawnAngle(Fact fact)
         Vector3 point2 = (Facts[angleFact.Pid2] as PointFact).Point;
         Vector3 point3 = (Facts[angleFact.Pid3] as PointFact).Point;
 
-        Vector3 tempPoint1;
-        Vector3 tempPoint3;
-
         //Length of the Angle relative to the Length of the shortest of the two lines (point2->point1) and (point2->point3)
         float lengthFactor = 0.3f;
-        //AngleGO: Triangle-Length: 3/4, Circle-Length: 1/4
-        float angleGoFactorTriangleToCircle = 1.33f;// 1.27f;
-
-        //Make 2 TempPoints positioned on length% from Point2 to Point3 and on length% from Point2 to Point1
-        //Will be used for z-Coordinate of the Angle
+        
         float length = 0;
         if ((point1 - point2).magnitude >= (point3 - point2).magnitude)
-        {
             length = lengthFactor * (point3 - point2).magnitude;
-            tempPoint1 = point2 + length * (point1 - point2).normalized;
-            tempPoint3 = point2 + length * (point3 - point2).normalized;
-        }
         else
-        {
             length = lengthFactor * (point1 - point2).magnitude;
-            tempPoint1 = point2 + length * (point1 - point2).normalized;
-            tempPoint3 = point2 + length * (point3 - point2).normalized;
-        }
 
         //Change FactRepresentation to Angle
         this.FactRepresentation = (GameObject)Resources.Load("Prefabs/Angle", typeof(GameObject));
@@ -181,48 +169,35 @@ public Fact SpawnAngle(Fact fact)
 
         //Change scale and rotation, so that the angle is in between the two lines
         var v3T = angle.transform.localScale;
-        //Calculate the Vector from point 2 to a POINT, where (point2->POINT) is orthogonal to (POINT->tempPoint3)
-        Vector3 tempProjection = Vector3.Project((tempPoint3 - point2), (Vector3.Lerp((tempPoint1 - point2).normalized, (tempPoint3 - point2).normalized, 0.5f)));
+        v3T = new Vector3(length, v3T.y, length);
 
-        //Make the Angle as long as length + length of the half-circle
-        v3T.x = (tempProjection).magnitude * angleGoFactorTriangleToCircle;
+        //Calculate Angle:
+        Vector3 from = (point1 - point2).normalized;
+        Vector3 to = (point3 - point2).normalized;
+        float angleValue = Vector3.Angle(from, to); //We always get an angle between 0 and 180° here
+        //Vector3 direction = point2 - camera.transform.position;
+        //float angleSign = Mathf.Sign( Vector3.Dot( direction, Vector3.Cross( from, to ) ) );
 
-        //For every Coordinate x,y,z we have to devide it by the LocalScale of the Child,
-        //because actually the Child should be of this length and not the parent, which is only the Collider
-        v3T.x = v3T.x / angle.transform.GetChild(0).GetChild(0).localScale.x;
-
-        //y of the angle-GameObject here hard coded = ratio of sphere-prefab
-        v3T.y = 0.05f / angle.transform.GetChild(0).GetChild(0).localScale.y;
-
-        //z should be as long as the distance between tempPoint1 and tempPoint3
-        v3T.z = (tempPoint3 - tempPoint1).magnitude / angle.transform.GetChild(0).GetChild(0).localScale.z;
-
-        //Change Scale/Rotation of the Line-GameObject without affecting Scale of the Text
-        angle.transform.GetChild(0).localScale = v3T;
-
-        //Rotate so that the rotation points from point2 to the middle of point3 and point1
-        angle.transform.GetChild(0).rotation = Quaternion.FromToRotation(Vector3.right, (Vector3.Lerp((tempPoint1 - point2).normalized, (tempPoint3 - point2).normalized, 0.5f)));
-        //Now the rotation around that direction must also be adjusted
-        //We calculate the Angle not with Vector3.Angle() because it only returns absolute angle-values
-        float signedAngle = Mathf.Atan2(Vector3.Dot((Vector3.Lerp((tempPoint1 - point2).normalized, (tempPoint3 - point2).normalized, 0.5f)), Vector3.Cross(angle.transform.GetChild(0).forward.normalized, (tempPoint1 - tempPoint3).normalized)), Vector3.Dot(angle.transform.GetChild(0).forward.normalized, (tempPoint1 - tempPoint3).normalized)) * Mathf.Rad2Deg;
+        angle.transform.rotation = Quaternion.FromToRotation(Vector3.right, (Vector3.Lerp((point1 - point2).normalized, (point3 - point2).normalized, 0.5f)));
+        float signedAngle = Mathf.Atan2(Vector3.Dot((Vector3.Lerp((point1 - point2).normalized, (point3 - point2).normalized, 0.5f)), Vector3.Cross(angle.transform.GetChild(0).forward.normalized, (point1 - point3).normalized)), Vector3.Dot(angle.transform.GetChild(0).forward.normalized, (point1 - point3).normalized)) * Mathf.Rad2Deg;
         if (signedAngle < 0)
         {
-            angle.transform.GetChild(0).RotateAround(point2, (Vector3.Lerp((tempPoint1 - point2).normalized, (tempPoint3 - point2).normalized, 0.5f)), Vector3.Angle(angle.transform.GetChild(0).forward.normalized, (tempPoint3 - tempPoint1).normalized));
+            angle.transform.RotateAround(point2, (Vector3.Lerp((point1 - point2).normalized, (point3 - point2).normalized, 0.5f)), Vector3.Angle(angle.transform.GetChild(0).forward.normalized, (point3 - point1).normalized));
         }
         else
-            angle.transform.GetChild(0).RotateAround(point2, (Vector3.Lerp((tempPoint1 - point2).normalized, (tempPoint3 - point2).normalized, 0.5f)), Vector3.Angle(angle.transform.GetChild(0).forward.normalized, (tempPoint1 - tempPoint3).normalized));
+            angle.transform.RotateAround(point2, (Vector3.Lerp((point1 - point2).normalized, (point3 - point2).normalized, 0.5f)), Vector3.Angle(angle.transform.GetChild(0).forward.normalized, (point1 - point3).normalized));
 
-        //string letter = ((Char)(64 + angleFact.Id + 1)).ToString();
-        //Don't need next line anymore: Cause Text is now not above, but in the centre of the angle
-        //angle.GetComponentInChildren<TextMeshPro>().transform.localPosition = new Vector3((0.5f * tempProjection).x, angle.GetComponentInChildren<TextMeshPro>().transform.localPosition.y, (0.5f * tempProjection).z);
-        
         TextMeshPro[] texts = angle.GetComponentsInChildren<TextMeshPro>();
         foreach (TextMeshPro t in texts) {
             //Change Text not to the id, but to the angle-value (from both sides) AND change font-size relative to length of the angle (from both sides)
-            t.text = Math.Abs(Math.Round(Vector3.Angle((point1 - point2).normalized, (point3 - point2).normalized), 1)) + "°";
+            t.text = Math.Round((double) angleValue, 2) + "°";
             t.fontSize = angle.GetComponentInChildren<TextMeshPro>().fontSize * angle.transform.GetChild(0).transform.GetChild(0).localScale.x;
         }
 
+        CircleSegmentGenerator[] segments = angle.GetComponentsInChildren<CircleSegmentGenerator>();
+        foreach (CircleSegmentGenerator c in segments)
+            c.setAngle(angleValue);
+
         angle.GetComponentInChildren<FactObject>().Id = angleFact.Id;
         angleFact.Representation = angle;
         return angleFact;
diff --git a/Assets/Scripts/InteractionEngine/MeshRendererHintAnimation.cs b/Assets/Scripts/InteractionEngine/MeshRendererHintAnimation.cs
index 2b7753f4f14ee11832af839a648df3afe39e9f11..f11ef71b1aec40fb97be9da76788e53176c1d5cb 100644
--- a/Assets/Scripts/InteractionEngine/MeshRendererHintAnimation.cs
+++ b/Assets/Scripts/InteractionEngine/MeshRendererHintAnimation.cs
@@ -1,9 +1,10 @@
 using UnityEngine;
 using static GlobalSettings;
 
+[RequireComponent(typeof(MeshRenderer))]
 public class MeshRendererHintAnimation : MonoBehaviour
 {
-    public MeshRenderer meshRendererToChange;
+    private MeshRenderer meshRendererToChange;
     private Color meshRendererToChangeDefaultColor;
     
     private Color animationStartColor;
@@ -16,8 +17,8 @@ public class MeshRendererHintAnimation : MonoBehaviour
     // Start is called before the first frame update
     void Start()
     {
-        if (meshRendererToChange != null)
-            meshRendererToChangeDefaultColor = meshRendererToChange.material.color;
+        meshRendererToChange = this.GetComponent<MeshRenderer>();
+        meshRendererToChangeDefaultColor = meshRendererToChange.material.color;
 
         updateAnimationParameters();
     }