Browse Source

所有数据都走后台 路线修改

DGJ 1 year ago
parent
commit
3d3f585c68

+ 29 - 5
Assets/Game/Blue/Controller/Item/DeviceInfo_Item.cs

@@ -28,6 +28,11 @@ namespace GHZLangChao
             this.item = item;
         }
 
+        public void InitNull()
+        {
+            SettingNull();
+        }
+
         private void ClickDetails()
         {
             DeviceParameter.deviceModel = "NetView400" + i;
@@ -36,10 +41,28 @@ namespace GHZLangChao
 
             // 从后台获取UI详情
 
-            HttpLangChaoTool.Instance.Post(HttpLangChaoAction.bladeServer, "", BladeServerCallBack);
+            JObject data = new JObject();
+            data["cabinetNumber"] = DeviceParameter.cabinetNumber;
+            data["u"] = DeviceParameter.u;
+
+            string jsondata = JsonConvert.SerializeObject(data);
+
+            HttpLangChaoTool.Instance.Post(HttpLangChaoAction.bladeServer, jsondata, BladeServerCallBack);
 
            
-            item.gameObject.SetActive(false);
+           // item.gameObject.SetActive(false);
+        }
+
+        private void SettingNull()
+        {
+            DetailsBtn.interactable = false;
+            transform.GetComponent<Image>().enabled = false;
+
+            for (int i = 0; i < transform.childCount; i++)
+            {
+                transform.GetChild(i).gameObject.SetActive(false);
+            }
+
         }
 
         private void BladeServerCallBack(string msg)
@@ -49,10 +72,11 @@ namespace GHZLangChao
 
             if (json["code"].ToString() == "200")
             {
-                string data = json["data"].ToString();
-
-                this.DeviceParameter = JsonConvert.DeserializeObject<DeviceParameters>(data);
+                string data = json["data"][0].ToString();
+                //Debug.Log(data);
+               this.DeviceParameter = JsonConvert.DeserializeObject<DeviceParameters>(data);
 
+                Debug.Log(JsonConvert.SerializeObject(this.DeviceParameter));
                 this.SendCommand(new DeviceDetailsUpdataDataCommand(DeviceParameter, currentPos, item)); // 触发事件,打开面板,更新数据
             }
             else

+ 4 - 0
Assets/Game/ShowChoose/ChooseManager.cs

@@ -16,6 +16,10 @@ public class ChooseManager : MonoBehaviour,IController
     private IQueueSystem mQueueSystem;
     void Awake()
     {
+
+#if UNITY_EDITOR
+        Test = true;
+#endif
         // transform.localPosition = new Vector3(0,0,500f);
         Invoke("ControlTip",3);
         ShowDevice.SetActive(true);

+ 3 - 0
Assets/Game/ShowSupport/SupportControl.cs

@@ -22,6 +22,9 @@ public class SupportControl : AbstractController
     public UnityEvent OnReset = new UnityEvent();
     void Awake()
     {
+#if UNITY_EDITOR
+        Test = true;
+#endif
         Init();
         Titile_Btn.onClick.AddListener(() =>
         {

+ 3 - 0
Assets/Game/ShowXunJian/XunJianManager.cs

@@ -25,6 +25,9 @@ namespace GHZLangChao
 
         void Start()
         {
+#if UNITY_EDITOR
+            Test = true;
+#endif
             Serach_Toggle.onValueChanged.AddListener(SerachChange);
             Fault_Toggle.onValueChanged.AddListener(FaultChange);
             Nav_Btn.onClick.AddListener(StartNav);

+ 83 - 0
Assets/Prefab/Route/Materials/LineMat_1 1.mat

@@ -0,0 +1,83 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+  serializedVersion: 8
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_Name: LineMat_1 1
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ValidKeywords:
+  - _ALPHATEST_ON
+  - _EMISSION
+  m_InvalidKeywords: []
+  m_LightmapFlags: 2
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: 2450
+  stringTagMap:
+    RenderType: TransparentCutout
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 13.78, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 2800000, guid: 7e5b1440dc9bac04cbc49f0e1e022955, type: 3}
+        m_Scale: {x: 75.65, y: 1}
+        m_Offset: {x: -21.57, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 2800000, guid: 7e5b1440dc9bac04cbc49f0e1e022955, type: 3}
+        m_Scale: {x: 75.65, y: 1}
+        m_Offset: {x: -21.57, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Ints: []
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0.5
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 1
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 0, g: 0.17752647, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 2.164706, b: 4, a: 1}
+  m_BuildTextureStacks: []

+ 8 - 0
Assets/Prefab/Route/Materials/LineMat_1 1.mat.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 91d65221205ee2b4485777e8c51e7178
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 2 - 2
Assets/Prefab/Route/Materials/LineMat_1.mat

@@ -41,11 +41,11 @@ Material:
         m_Offset: {x: 0, y: 0}
     - _EmissionMap:
         m_Texture: {fileID: 2800000, guid: 0f32cd85f823fe84abe068e17c59e180, type: 3}
-        m_Scale: {x: 1, y: 3}
+        m_Scale: {x: 10.86, y: 1}
         m_Offset: {x: 0, y: 0}
     - _MainTex:
         m_Texture: {fileID: 2800000, guid: 0f32cd85f823fe84abe068e17c59e180, type: 3}
-        m_Scale: {x: 1, y: 3}
+        m_Scale: {x: 10.86, y: 1}
         m_Offset: {x: 0, y: 0}
     - _MetallicGlossMap:
         m_Texture: {fileID: 0}

+ 4 - 4
Assets/Prefab/Route/Materials/LineMat_1_High.mat

@@ -41,12 +41,12 @@ Material:
         m_Offset: {x: 0, y: 0}
     - _EmissionMap:
         m_Texture: {fileID: 2800000, guid: 0f32cd85f823fe84abe068e17c59e180, type: 3}
-        m_Scale: {x: 1, y: 4}
-        m_Offset: {x: 0, y: -39.549683}
+        m_Scale: {x: 17.67, y: 1}
+        m_Offset: {x: 0, y: 0}
     - _MainTex:
         m_Texture: {fileID: 2800000, guid: 0f32cd85f823fe84abe068e17c59e180, type: 3}
-        m_Scale: {x: 1, y: 4}
-        m_Offset: {x: 0, y: -258.76035}
+        m_Scale: {x: 17.67, y: 1}
+        m_Offset: {x: 0, y: 0}
     - _MetallicGlossMap:
         m_Texture: {fileID: 0}
         m_Scale: {x: 1, y: 1}

BIN
Assets/Prefab/Route/route2_rotate.png


+ 135 - 0
Assets/Prefab/Route/route2_rotate.png.meta

@@ -0,0 +1,135 @@
+fileFormatVersion: 2
+guid: 7e5b1440dc9bac04cbc49f0e1e022955
+TextureImporter:
+  internalIDToNameTable: []
+  externalObjects: {}
+  serializedVersion: 12
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 1
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  vTOnly: 0
+  ignoreMasterTextureLimit: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: 1
+    aniso: 1
+    mipBias: 0
+    wrapU: 0
+    wrapV: 0
+    wrapW: 0
+  nPOTScale: 1
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 0
+  spriteTessellationDetail: -1
+  textureType: 0
+  textureShape: 1
+  singleChannelComponent: 0
+  flipbookRows: 1
+  flipbookColumns: 1
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  ignorePngGamma: 0
+  applyGammaDecoding: 0
+  cookieLightType: 0
+  platformSettings:
+  - serializedVersion: 3
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Server
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Android
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 
+    internalID: 0
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+    secondaryTextures: []
+    nameFileIdTable: {}
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

File diff suppressed because it is too large
+ 552 - 81
Assets/Scenes/LangChaoDemo2.unity


+ 870 - 0
Assets/Scenes/Route.unity

@@ -0,0 +1,870 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!29 &1
+OcclusionCullingSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 2
+  m_OcclusionBakeSettings:
+    smallestOccluder: 5
+    smallestHole: 0.25
+    backfaceThreshold: 100
+  m_SceneGUID: 00000000000000000000000000000000
+  m_OcclusionCullingData: {fileID: 0}
+--- !u!104 &2
+RenderSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 9
+  m_Fog: 0
+  m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
+  m_FogMode: 3
+  m_FogDensity: 0.01
+  m_LinearFogStart: 0
+  m_LinearFogEnd: 300
+  m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
+  m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
+  m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
+  m_AmbientIntensity: 1
+  m_AmbientMode: 0
+  m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
+  m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0}
+  m_HaloStrength: 0.5
+  m_FlareStrength: 1
+  m_FlareFadeSpeed: 3
+  m_HaloTexture: {fileID: 0}
+  m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
+  m_DefaultReflectionMode: 0
+  m_DefaultReflectionResolution: 128
+  m_ReflectionBounces: 1
+  m_ReflectionIntensity: 1
+  m_CustomReflection: {fileID: 0}
+  m_Sun: {fileID: 0}
+  m_IndirectSpecularColor: {r: 0.44657898, g: 0.4964133, b: 0.5748178, a: 1}
+  m_UseRadianceAmbientProbe: 0
+--- !u!157 &3
+LightmapSettings:
+  m_ObjectHideFlags: 0
+  serializedVersion: 12
+  m_GIWorkflowMode: 1
+  m_GISettings:
+    serializedVersion: 2
+    m_BounceScale: 1
+    m_IndirectOutputScale: 1
+    m_AlbedoBoost: 1
+    m_EnvironmentLightingMode: 0
+    m_EnableBakedLightmaps: 1
+    m_EnableRealtimeLightmaps: 0
+  m_LightmapEditorSettings:
+    serializedVersion: 12
+    m_Resolution: 2
+    m_BakeResolution: 40
+    m_AtlasSize: 1024
+    m_AO: 0
+    m_AOMaxDistance: 1
+    m_CompAOExponent: 1
+    m_CompAOExponentDirect: 0
+    m_ExtractAmbientOcclusion: 0
+    m_Padding: 2
+    m_LightmapParameters: {fileID: 0}
+    m_LightmapsBakeMode: 1
+    m_TextureCompression: 1
+    m_FinalGather: 0
+    m_FinalGatherFiltering: 1
+    m_FinalGatherRayCount: 256
+    m_ReflectionCompression: 2
+    m_MixedBakeMode: 2
+    m_BakeBackend: 1
+    m_PVRSampling: 1
+    m_PVRDirectSampleCount: 32
+    m_PVRSampleCount: 512
+    m_PVRBounces: 2
+    m_PVREnvironmentSampleCount: 256
+    m_PVREnvironmentReferencePointCount: 2048
+    m_PVRFilteringMode: 1
+    m_PVRDenoiserTypeDirect: 1
+    m_PVRDenoiserTypeIndirect: 1
+    m_PVRDenoiserTypeAO: 1
+    m_PVRFilterTypeDirect: 0
+    m_PVRFilterTypeIndirect: 0
+    m_PVRFilterTypeAO: 0
+    m_PVREnvironmentMIS: 1
+    m_PVRCulling: 1
+    m_PVRFilteringGaussRadiusDirect: 1
+    m_PVRFilteringGaussRadiusIndirect: 5
+    m_PVRFilteringGaussRadiusAO: 2
+    m_PVRFilteringAtrousPositionSigmaDirect: 0.5
+    m_PVRFilteringAtrousPositionSigmaIndirect: 2
+    m_PVRFilteringAtrousPositionSigmaAO: 1
+    m_ExportTrainingData: 0
+    m_TrainingDataDestination: TrainingData
+    m_LightProbeSampleCountMultiplier: 4
+  m_LightingDataAsset: {fileID: 0}
+  m_LightingSettings: {fileID: 0}
+--- !u!196 &4
+NavMeshSettings:
+  serializedVersion: 2
+  m_ObjectHideFlags: 0
+  m_BuildSettings:
+    serializedVersion: 2
+    agentTypeID: 0
+    agentRadius: 0.5
+    agentHeight: 2
+    agentSlope: 45
+    agentClimb: 0.4
+    ledgeDropHeight: 0
+    maxJumpAcrossDistance: 0
+    minRegionArea: 2
+    manualCellSize: 0
+    cellSize: 0.16666667
+    manualTileSize: 0
+    tileSize: 256
+    accuratePlacement: 0
+    maxJobWorkers: 0
+    preserveTilesOutsideBounds: 0
+    debug:
+      m_Flags: 0
+  m_NavMeshData: {fileID: 0}
+--- !u!1 &277939619
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 277939623}
+  - component: {fileID: 277939622}
+  - component: {fileID: 277939621}
+  - component: {fileID: 277939620}
+  m_Layer: 0
+  m_Name: Sphere (2)
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!135 &277939620
+SphereCollider:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 277939619}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Radius: 0.5
+  m_Center: {x: 0, y: 0, z: 0}
+--- !u!23 &277939621
+MeshRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 277939619}
+  m_Enabled: 0
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_DynamicOccludee: 1
+  m_StaticShadowCaster: 0
+  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 &277939622
+MeshFilter:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 277939619}
+  m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!4 &277939623
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 277939619}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 4.93, y: 0, z: 6.28}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_RootOrder: 5
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &711521296
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 711521298}
+  - component: {fileID: 711521297}
+  m_Layer: 0
+  m_Name: Directional Light
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!108 &711521297
+Light:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 711521296}
+  m_Enabled: 1
+  serializedVersion: 10
+  m_Type: 1
+  m_Shape: 0
+  m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1}
+  m_Intensity: 1
+  m_Range: 10
+  m_SpotAngle: 30
+  m_InnerSpotAngle: 21.80208
+  m_CookieSize: 10
+  m_Shadows:
+    m_Type: 2
+    m_Resolution: -1
+    m_CustomResolution: -1
+    m_Strength: 1
+    m_Bias: 0.05
+    m_NormalBias: 0.4
+    m_NearPlane: 0.2
+    m_CullingMatrixOverride:
+      e00: 1
+      e01: 0
+      e02: 0
+      e03: 0
+      e10: 0
+      e11: 1
+      e12: 0
+      e13: 0
+      e20: 0
+      e21: 0
+      e22: 1
+      e23: 0
+      e30: 0
+      e31: 0
+      e32: 0
+      e33: 1
+    m_UseCullingMatrixOverride: 0
+  m_Cookie: {fileID: 0}
+  m_DrawHalo: 0
+  m_Flare: {fileID: 0}
+  m_RenderMode: 0
+  m_CullingMask:
+    serializedVersion: 2
+    m_Bits: 4294967295
+  m_RenderingLayerMask: 1
+  m_Lightmapping: 4
+  m_LightShadowCasterMode: 0
+  m_AreaSize: {x: 1, y: 1}
+  m_BounceIntensity: 1
+  m_ColorTemperature: 6570
+  m_UseColorTemperature: 0
+  m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0}
+  m_UseBoundingSphereOverride: 0
+  m_UseViewFrustumForShadowCasterCull: 1
+  m_ShadowRadius: 0
+  m_ShadowAngle: 0
+--- !u!4 &711521298
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 711521296}
+  m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261}
+  m_LocalPosition: {x: 0, y: 3, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_RootOrder: 1
+  m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0}
+--- !u!1 &843863015
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 843863017}
+  - component: {fileID: 843863016}
+  m_Layer: 0
+  m_Name: Line
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!120 &843863016
+LineRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 843863015}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_DynamicOccludee: 1
+  m_StaticShadowCaster: 0
+  m_MotionVectors: 0
+  m_LightProbeUsage: 0
+  m_ReflectionProbeUsage: 0
+  m_RayTracingMode: 0
+  m_RayTraceProcedural: 0
+  m_RenderingLayerMask: 1
+  m_RendererPriority: 0
+  m_Materials:
+  - {fileID: 2100000, guid: 91d65221205ee2b4485777e8c51e7178, 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: 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: []
+  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: 1, g: 1, b: 1, a: 1}
+      key1: {r: 1, g: 1, b: 1, a: 1}
+      key2: {r: 0, g: 0, b: 0, a: 0}
+      key3: {r: 0, g: 0, b: 0, a: 0}
+      key4: {r: 0, g: 0, b: 0, a: 0}
+      key5: {r: 0, g: 0, b: 0, a: 0}
+      key6: {r: 0, g: 0, b: 0, a: 0}
+      key7: {r: 0, g: 0, b: 0, a: 0}
+      ctime0: 0
+      ctime1: 65535
+      ctime2: 0
+      ctime3: 0
+      ctime4: 0
+      ctime5: 0
+      ctime6: 0
+      ctime7: 0
+      atime0: 0
+      atime1: 65535
+      atime2: 0
+      atime3: 0
+      atime4: 0
+      atime5: 0
+      atime6: 0
+      atime7: 0
+      m_Mode: 0
+      m_NumColorKeys: 2
+      m_NumAlphaKeys: 2
+    numCornerVertices: 0
+    numCapVertices: 0
+    alignment: 0
+    textureMode: 0
+    shadowBias: 0.5
+    generateLightingData: 0
+  m_UseWorldSpace: 0
+  m_Loop: 0
+--- !u!4 &843863017
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 843863015}
+  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_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_RootOrder: 2
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1163283222
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1163283228}
+  - component: {fileID: 1163283227}
+  - component: {fileID: 1163283226}
+  - component: {fileID: 1163283225}
+  - component: {fileID: 1163283223}
+  m_Layer: 0
+  m_Name: Sphere
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!114 &1163283223
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1163283222}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: a7952e1e75c7cf44c86c9747b0e54515, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  controlPoints:
+  - {fileID: 1163283228}
+  - {fileID: 1663534263}
+  - {fileID: 277939623}
+  lineRenderer: {fileID: 843863016}
+  point: {fileID: 1722282931}
+--- !u!135 &1163283225
+SphereCollider:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1163283222}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Radius: 0.5
+  m_Center: {x: 0, y: 0, z: 0}
+--- !u!23 &1163283226
+MeshRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1163283222}
+  m_Enabled: 0
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_DynamicOccludee: 1
+  m_StaticShadowCaster: 0
+  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 &1163283227
+MeshFilter:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1163283222}
+  m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!4 &1163283228
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1163283222}
+  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_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_RootOrder: 3
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1663534259
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1663534263}
+  - component: {fileID: 1663534262}
+  - component: {fileID: 1663534261}
+  - component: {fileID: 1663534260}
+  m_Layer: 0
+  m_Name: Sphere (1)
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!135 &1663534260
+SphereCollider:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1663534259}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Radius: 0.5
+  m_Center: {x: 0, y: 0, z: 0}
+--- !u!23 &1663534261
+MeshRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1663534259}
+  m_Enabled: 0
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_DynamicOccludee: 1
+  m_StaticShadowCaster: 0
+  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 &1663534262
+MeshFilter:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1663534259}
+  m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!4 &1663534263
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1663534259}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 6.28}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_RootOrder: 4
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1722282930
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1722282931}
+  m_Layer: 0
+  m_Name: point
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &1722282931
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1722282930}
+  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_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_RootOrder: 7
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1962958262
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1962958266}
+  - component: {fileID: 1962958265}
+  - component: {fileID: 1962958264}
+  - component: {fileID: 1962958263}
+  m_Layer: 0
+  m_Name: Sphere (3)
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!135 &1962958263
+SphereCollider:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1962958262}
+  m_Material: {fileID: 0}
+  m_IsTrigger: 0
+  m_Enabled: 1
+  serializedVersion: 2
+  m_Radius: 0.5
+  m_Center: {x: 0, y: 0, z: 0}
+--- !u!23 &1962958264
+MeshRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1962958262}
+  m_Enabled: 0
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_DynamicOccludee: 1
+  m_StaticShadowCaster: 0
+  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 &1962958265
+MeshFilter:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1962958262}
+  m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
+--- !u!4 &1962958266
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1962958262}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 4.93, y: 0, z: 12.63}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_RootOrder: 6
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!1 &1966473202
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1966473205}
+  - component: {fileID: 1966473204}
+  - component: {fileID: 1966473203}
+  m_Layer: 0
+  m_Name: Main Camera
+  m_TagString: MainCamera
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!81 &1966473203
+AudioListener:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1966473202}
+  m_Enabled: 1
+--- !u!20 &1966473204
+Camera:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1966473202}
+  m_Enabled: 1
+  serializedVersion: 2
+  m_ClearFlags: 1
+  m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
+  m_projectionMatrixMode: 1
+  m_GateFitMode: 2
+  m_FOVAxisMode: 0
+  m_SensorSize: {x: 36, y: 24}
+  m_LensShift: {x: 0, y: 0}
+  m_FocalLength: 50
+  m_NormalizedViewPortRect:
+    serializedVersion: 2
+    x: 0
+    y: 0
+    width: 1
+    height: 1
+  near clip plane: 0.3
+  far clip plane: 1000
+  field of view: 60
+  orthographic: 0
+  orthographic size: 5
+  m_Depth: -1
+  m_CullingMask:
+    serializedVersion: 2
+    m_Bits: 4294967295
+  m_RenderingPath: -1
+  m_TargetTexture: {fileID: 0}
+  m_TargetDisplay: 0
+  m_TargetEye: 3
+  m_HDR: 1
+  m_AllowMSAA: 1
+  m_AllowDynamicResolution: 0
+  m_ForceIntoRT: 0
+  m_OcclusionCulling: 1
+  m_StereoConvergence: 10
+  m_StereoSeparation: 0.022
+--- !u!4 &1966473205
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1966473202}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 1, z: -10}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}

+ 7 - 0
Assets/Scenes/Route.unity.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 3feb60b9c43113441bd624a5adcccf72
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 4 - 1
Assets/Scripts/Data/DataItem.cs

@@ -74,7 +74,10 @@ public class DataItem : MonoBehaviour
         this.DeviceParameterList = DeviceParameterList;
         for (int i = 0; i < DeviceInfoList.Count;i++)
         {
-            DeviceInfoList[i].Init(DeviceParameterList[0],i,this); // 数据只有一个,所以都是0
+            if (DeviceParameterList[i] == null)
+                DeviceInfoList[i].InitNull();
+            else
+                DeviceInfoList[i].Init(DeviceParameterList[i], i, this);// 数据只有一个,所以都是0
         }     
     }
 

+ 71 - 15
Assets/Scripts/Managers/BladeServerManager.cs

@@ -114,7 +114,7 @@ public class BladeServerManager : MonoSingleton<BladeServerManager>
     private void Update()
     {
 #if UNITY_EDITOR
-        if(Input.GetKey(KeyCode.K))
+        if(Input.GetKeyDown(KeyCode.K))
         {
             OnTrackingFound(TestTracking);
         }
@@ -136,7 +136,7 @@ public class BladeServerManager : MonoSingleton<BladeServerManager>
             
             angle = Vector3.Angle(OpenXRCamera.Instance.head.GetComponent<Camera>().transform.forward, foundTag.transform.position - OpenXRCamera.Instance.head.transform.position);
 
-            // Debug.Log("Dis " + dis + "  Angle" + angle + "  showDis  " + showDis + "  fadeDis " + fadeDis);
+         //    Debug.Log("Dis " + dis + "  Angle" + angle + "  showDis  " + showDis + "  fadeDis " + fadeDis);
             if (Mathf.Abs(dis) < showDis && isDaoHang)
             {
                 if (!foundItem.gameObject.activeSelf&& (BD_ShowDevicecDetailsObj.Instance == null||(BD_ShowDevicecDetailsObj.Instance != null && (!BD_ShowDevicecDetailsObj.Instance.gameObject.activeSelf||
@@ -272,7 +272,7 @@ public class BladeServerManager : MonoSingleton<BladeServerManager>
         //}
 
         #endregion
-
+        foundTag = tracking;
         foundID = tracking.TrackId.ToString();
 
         Debug.Log("FoundID  "+ foundID);
@@ -314,9 +314,21 @@ public class BladeServerManager : MonoSingleton<BladeServerManager>
         Debug.Log("DGJ ===> QueryFoundItem " + listTagTracking.Count);
         if (MachineRoomManager.Instance.isDataInit)
         {
-            for (int i = 0; i < listTagTracking.Count; i++)
+            int row = SynPlayerTransform.Instance.GetRowCabinets();
+
+            bool orientation = SynPlayerTransform.Instance.GetOrientation();
+
+            if(orientation)
             {
+                row += 2;
+            }
+            else
+            {
+                row += 1;
+            }
 
+            for (int i = row*MachineRoomManager.Instance.data.list; i < (row+1)*MachineRoomManager.Instance.data.list; i++)
+            {
                 Debug.Log("DGJ  ===> " + listTagTracking[i].tagId);
                 if (listTagTracking[i].tagId == foundID)
                 {
@@ -324,19 +336,19 @@ public class BladeServerManager : MonoSingleton<BladeServerManager>
                     {
 
                         //foundItem.gameObject.SetActive(false);
-                      //  foundItem.Hide();
+                        //  foundItem.Hide();
                         if (state)
                         {
                             foundItem.isSelect = false;
                             foundItem.SetSelect(false);
-                          //  foundItem.SaveEdiotrData(selectPanel);
+                            //  foundItem.SaveEdiotrData(selectPanel);
                         }
 
                     }
 
 
                     foundItem = listTagTracking[i];
-                   // foundItem.gameObject.SetActive(true);
+                    // foundItem.gameObject.SetActive(true);
                     Debug.Log(" QueryFoundItem " + foundID);
                     if (state)
                     {
@@ -349,17 +361,61 @@ public class BladeServerManager : MonoSingleton<BladeServerManager>
 
                     break;
                 }
+
             }
 
+            #region old
+
+            //for (int i = 0; i < listTagTracking.Count; i++)
+            //{
+
+            //    Debug.Log("DGJ  ===> " + listTagTracking[i].tagId);
+            //    if (listTagTracking[i].tagId == foundID)
+            //    {
+            //        if (foundItem != null)
+            //        {
+
+            //            //foundItem.gameObject.SetActive(false);
+            //          //  foundItem.Hide();
+            //            if (state)
+            //            {
+            //                foundItem.isSelect = false;
+            //                foundItem.SetSelect(false);
+            //              //  foundItem.SaveEdiotrData(selectPanel);
+            //            }
+
+            //        }
+
+
+            //        foundItem = listTagTracking[i];
+            //       // foundItem.gameObject.SetActive(true);
+            //        Debug.Log(" QueryFoundItem " + foundID);
+            //        if (state)
+            //        {
+            //            //selectPanel.eulerAngles = foundItem.transform.eulerAngles;
+            //            //selectPanel.position = foundItem.transform.position;
+            //            //selectPanel.gameObject.SetActive(true);
+            //            foundItem.isSelect = true;
+            //            foundItem.SetSelect(true);
+            //        }
+
+            //        break;
+            //    }
+
+
+            //}
+
             // 找到x-tag  对应的机柜  
-            for (int i = 0; i < MachineRoomManager.Instance.listObjes.Count; i++)
-            {
-                if(MachineRoomManager.Instance.listObjes[i].deviceParameters!=null&&MachineRoomManager.Instance.listObjes[i].deviceParameters.deviceId == foundItem.ID.ToString())
-                {
-                    // 找到后,
-                    foundMachineObj = MachineRoomManager.Instance.listObjes[i];
-                }
-            }
+            //for (int i = 0; i < MachineRoomManager.Instance.listObjes.Count; i++)
+            //{
+            //    if(MachineRoomManager.Instance.listObjes[i].deviceParameters!=null&&MachineRoomManager.Instance.listObjes[i].deviceParameters.deviceId == foundItem.ID.ToString())
+            //    {
+            //        // 找到后,
+            //        foundMachineObj = MachineRoomManager.Instance.listObjes[i];
+            //    }
+            //}
+
+            #endregion
 
             if (foundItem != null && foundItem.tagId != foundID)
             {

+ 96 - 94
Assets/Scripts/Managers/MachineRoomManager.cs

@@ -245,7 +245,7 @@ public class MachineRoomManager : MonoSingleton<MachineRoomManager>
         Debug.Log(msg);
 
         JObject json = JObject.Parse(msg);
-
+        UILogManager.Instance.text1.text = msg;
         if (json["code"].ToString() == "200")
         {
             string data = json["data"].ToString();
@@ -307,50 +307,50 @@ public class MachineRoomManager : MonoSingleton<MachineRoomManager>
     public void MachineInit()
     {
 
-        listObjes.Clear();
-        listObjes = new List<MachineObj>();
-        //  重新生成机柜组
-        if(data.listEquipmentData == null||data.listEquipmentData.Count!=(data.line*data.list))
-        {
-            data.listEquipmentData = new List<MachineParameters>();
-
-            for (int i = 0; i < data.line; i++)
-            {
-                for (int j = 0; j < data.list; j++)
-                {
+        //listObjes.Clear();
+        //listObjes = new List<MachineObj>();
+        ////  重新生成机柜组
+        //if(data.listEquipmentData == null||data.listEquipmentData.Count!=(data.line*data.list))
+        //{
+        //    data.listEquipmentData = new List<MachineParameters>();
 
-                    MachineParameters mp1 = new MachineParameters();
-                    mp1.deviceId = (i * data.list + j + 1).ToString();
-                    mp1.tagID = -1000;
-                  //  mp1.offsetPos = new Vector3(-0.4f, 0, -0.3f);
-                    mp1.offsetPos = Vector3.zero;
-                   mp1.eulerAxle = 3;
-                    mp1.deviceName = "设备" + (i * data.list + j + 1).ToString();
-                    mp1.carryingSystem = "承载系统1";
-                    mp1.deviceLocation = "4A-23机房";
-                    mp1.equipmentType = "机柜";
-                    mp1.equipmentModel = null;
-                    mp1.factory = null;
-                    mp1.specification = null;
-                    mp1.listDevicesParameters = new List<DeviceParameters>();
-
-                    if (int.Parse( mp1.deviceId) % 2 == 0)
-                        mp1.listDevicesParameters.Add(dp1);
-                    else
-                        mp1.listDevicesParameters.Add(dp2);
-                    data.listEquipmentData.Add(mp1);
-                }
-            }
-            for (int i = 0; i < listTagid.Count; i++)
-            {
-                if ((i + 1) < data.listEquipmentData.Count)
-                {
-                    data.listEquipmentData[i].tagID = listTagid[i];
-                }
-                else
-                    break;
-            }
-        }
+        //    for (int i = 0; i < data.line; i++)
+        //    {
+        //        for (int j = 0; j < data.list; j++)
+        //        {
+
+        //            MachineParameters mp1 = new MachineParameters();
+        //            mp1.deviceId = (i * data.list + j + 1).ToString();
+        //            mp1.tagID = -1000;
+        //          //  mp1.offsetPos = new Vector3(-0.4f, 0, -0.3f);
+        //            mp1.offsetPos = Vector3.zero;
+        //           mp1.eulerAxle = 3;
+        //            mp1.deviceName = "设备" + (i * data.list + j + 1).ToString();
+        //            mp1.carryingSystem = "承载系统1";
+        //            mp1.deviceLocation = "4A-23机房";
+        //            mp1.equipmentType = "机柜";
+        //            mp1.equipmentModel = null;
+        //            mp1.factory = null;
+        //            mp1.specification = null;
+        //            mp1.listDevicesParameters = new List<DeviceParameters>();
+
+        //            if (int.Parse( mp1.deviceId) % 2 == 0)
+        //                mp1.listDevicesParameters.Add(dp1);
+        //            else
+        //                mp1.listDevicesParameters.Add(dp2);
+        //            data.listEquipmentData.Add(mp1);
+        //        }
+        //    }
+        //    for (int i = 0; i < listTagid.Count; i++)
+        //    {
+        //        if ((i + 1) < data.listEquipmentData.Count)
+        //        {
+        //            data.listEquipmentData[i].tagID = listTagid[i];
+        //        }
+        //        else
+        //            break;
+        //    }
+        //}
 
 
         GameObject rDataItem = Resources.Load<GameObject>("DataItem");
@@ -359,28 +359,30 @@ public class MachineRoomManager : MonoSingleton<MachineRoomManager>
             GameObject obj = GameObject.Instantiate(cabinetObj, transform);
             obj.transform.localScale = new Vector3(data.cabinetW, data.cabinetH, obj.transform.localScale.z);
             Debug.Log(data.cabinetH + "    " + data.cabinetW);
-            obj.name = data.listEquipmentData[i].deviceName;
+            obj.name =i.ToString();
             //   Debug.Log(obj.name + "  " + new Vector3(j * (data.cabinetW + data.intervalW), 0, i * data.intervalL));
-            obj.transform.localPosition = new Vector3((i%data.line)*(data.cabinetW + data.intervalW), 0, (i/data.line) * data.intervalL);
+            obj.transform.localPosition = new Vector3((i%data.list)*(data.cabinetW + data.intervalW), 0, (i/data.list) * data.intervalL);
             obj.GetComponent<MachineObj>().Setting((i / data.line) % 2 == 0);
             listObjes.Add(obj.GetComponent<MachineObj>());
             listObjes[i].deviceParameters = data.listEquipmentData[i];
+            
+            if(data.listEquipmentData[i]!=null)
+            {
+                GameObject item = GameObject.Instantiate(rDataItem);
+                DataItem dataItem = item.GetComponent<DataItem>();
+                dataItem.Init(data.listEquipmentData[i]);
+                // item.SetActive(true);
 
+                for (int j = 0; j < data.listEquipmentData[i].listDevicesParameters.Count; j++)
+                {
+                    dataItem.SetDeviceParametersData(data.listEquipmentData[i].listDevicesParameters);
+                }
+                listObjes[i].dataItem = dataItem;
 
-            GameObject item = GameObject.Instantiate(rDataItem);
-            DataItem dataItem = item.GetComponent<DataItem>();
-            dataItem.Init(data.listEquipmentData[i]);
-            // item.SetActive(true);
-
-            for (int j = 0; j < data.listEquipmentData[i].listDevicesParameters.Count; j++)
-            {
-                dataItem.SetDeviceParametersData(data.listEquipmentData[i].listDevicesParameters);
+                dataItem.transform.SetParent(listObjes[i].transform);
+                dataItem.transform.localPosition = listObjes[i].xTag.localPosition;
+                dataItem.transform.localEulerAngles = new Vector3(0, listObjes[i].isSingle ? 180 : 0, 0);
             }
-            listObjes[i].dataItem = dataItem;
-
-            dataItem.transform.SetParent(listObjes[i].transform);
-            dataItem.transform.localPosition = listObjes[i].xTag.localPosition;
-            dataItem.transform.localEulerAngles = new Vector3(0, listObjes[i].isSingle ? 180 : 0, 0);
 
         }
         //Debug.Log(data.line);
@@ -475,44 +477,44 @@ public class MachineRoomManager : MonoSingleton<MachineRoomManager>
             BladeServerManager.Instance.listTagTracking.Clear();
         }
     
-        data.listEquipmentData = new List<MachineParameters>();
-        for (int i = 0; i < data.line; i++)
-        {
-            for (int j = 0; j < data.list; j++)
-            {
+        //data.listEquipmentData = new List<MachineParameters>();
+        //for (int i = 0; i < data.line; i++)
+        //{
+        //    for (int j = 0; j < data.list; j++)
+        //    {
               
-                MachineParameters mp1 = new MachineParameters();
-                mp1.deviceId = (i * data.list + j + 1).ToString();
-                mp1.tagID = -1000;
-                mp1.offsetPos = new Vector3(0f, 0, 0f);
-                mp1.eulerAxle = 3;
-                mp1.deviceName = "设备" + (i * data.list + j + 1).ToString();
-                mp1.carryingSystem = "承载系统1";
-                mp1.deviceLocation = "4A-23机房";
-                mp1.equipmentType = "机柜";
-                mp1.equipmentModel = null;
-                mp1.factory = null;
-                mp1.specification = null;
-                mp1.listDevicesParameters = new List<DeviceParameters>();
+        //        MachineParameters mp1 = new MachineParameters();
+        //        mp1.deviceId = (i * data.list + j + 1).ToString();
+        //        mp1.tagID = -1000;
+        //        mp1.offsetPos = new Vector3(0f, 0, 0f);
+        //        mp1.eulerAxle = 3;
+        //        mp1.deviceName = "设备" + (i * data.list + j + 1).ToString();
+        //        mp1.carryingSystem = "承载系统1";
+        //        mp1.deviceLocation = "4A-23机房";
+        //        mp1.equipmentType = "机柜";
+        //        mp1.equipmentModel = null;
+        //        mp1.factory = null;
+        //        mp1.specification = null;
+        //        mp1.listDevicesParameters = new List<DeviceParameters>();
                
-                if (int.Parse( mp1.deviceId) % 2 == 0)
-                    mp1.listDevicesParameters.Add(dp1);
-                else
-                    mp1.listDevicesParameters.Add(dp2);
+        //        if (int.Parse( mp1.deviceId) % 2 == 0)
+        //            mp1.listDevicesParameters.Add(dp1);
+        //        else
+        //            mp1.listDevicesParameters.Add(dp2);
 
-                data.listEquipmentData.Add(mp1);
-            }
-        }
-        Debug.Log(data.line);
-        for (int i = 0; i < listTagid.Count; i++)
-        {
-            if (data.listEquipmentData.Count < (i + 1))
-            {
-                Debug.Log("a "+listTagid);
-                Debug.Log(data.listEquipmentData[i].tagID);
-                data.listEquipmentData[i].tagID = listTagid[i];
-            }
-        }
+        //        data.listEquipmentData.Add(mp1);
+        //    }
+        //}
+        //Debug.Log(data.line);
+        //for (int i = 0; i < listTagid.Count; i++)
+        //{
+        //    if (data.listEquipmentData.Count < (i + 1))
+        //    {
+        //        Debug.Log("a "+listTagid);
+        //        Debug.Log(data.listEquipmentData[i].tagID);
+        //        data.listEquipmentData[i].tagID = listTagid[i];
+        //    }
+        //}
 
         //for (int i = 0; i < data.listEquipmentData.Count; i++)
         //{

+ 3 - 0
Assets/Scripts/Managers/WayFindingManager.cs

@@ -272,6 +272,9 @@ public class WayFindingManager : MonoSingleton<WayFindingManager>
             listRoot.Add(route1.transform.GetChild(0).GetComponent<Route>());
 
             listRoot[i].SetRoute(route1.transform.position, lookPoint.position, 0,lookPoint);
+
+            GameObject obj = new GameObject(i.ToString());
+            obj.transform.position = listPos[i];
         }
 
         if (isdevice && machineObj)

+ 5 - 1
Assets/Scripts/Route.cs

@@ -95,7 +95,11 @@ public class Route : MonoBehaviour
         this.EndPos = endPos;
         this.StartPos = startPos;
         //   Debug.Log("Route    " + endPos + "    " + exitPos);
-        transform.localScale += new Vector3(0, 0, Mathf.Abs(Vector3.Distance(EndPos, StartPos)) / 12 - (transform.localScale.x * 2));
+       // transform.localScale += new Vector3(0, 0, Mathf.Abs(Vector3.Distance(EndPos, StartPos)) / 12 - (transform.localScale.x * 2));
+
+        // 根据世界场景的尺寸进行换算比例 
+        transform.localScale = new Vector3(transform.localScale.x, transform.localScale.y, Mathf.Abs(Vector3.Distance(EndPos, StartPos) / 4)- transform.localScale.x * 2);
+
         material.SetTextureScale("_MainTex", new Vector2(1, Mathf.Abs(Vector3.Distance(EndPos, StartPos)) * 1.5f));
         transform.position = (StartPos + EndPos) / 2.0f;
 

+ 153 - 0
Assets/Scripts/Tool/Bezier.cs

@@ -0,0 +1,153 @@
+using UnityEngine;
+using System.Collections.Generic;
+using System.Collections;
+
+public class Bezier : MonoSingleton<Bezier>
+{
+    public Transform[] controlPoints;
+    public LineRenderer lineRenderer;
+
+    private int layerOrder = 0;
+    private int _segmentNum = 50;
+
+    private float rr = 0.3f;
+
+    public Transform point;
+
+
+    private Vector2 Interval = new Vector2(0.05f, 0);
+
+    private Material material;
+
+    private Vector2 offset;
+    // 0.3 弧度半径
+    void Start()
+    {
+
+        material = lineRenderer.materials[0];
+        if (!lineRenderer)
+        {
+            lineRenderer = GetComponent<LineRenderer>();
+        }
+        // lineRenderer.sortingLayerID = layerOrder;
+
+        // DrawCurve();
+
+        int index = 0;
+        Debug.Log(lineRenderer.positionCount);
+        lineRenderer.positionCount = (controlPoints.Length - 2) * _segmentNum + controlPoints.Length;
+        lineRenderer.SetPosition(index++, controlPoints[0].position);
+        for (int i = 1; i < controlPoints.Length-1; i++)
+        {
+
+       
+
+            point.position = controlPoints[i].position;
+            point.LookAt(controlPoints[i-1].position);
+            point.Translate(0,0, rr, Space.Self);
+            Vector3 pos1 = point.position;
+            lineRenderer.SetPosition(index++, pos1);
+
+            //GameObject obj = new GameObject(i.ToString());
+            //obj.transform.position = point.position;
+
+            //GameObject obj2 = new GameObject(i.ToString());
+            //obj2.transform.position = controlPoints[i].position;
+
+            point.position = controlPoints[i].position;
+            point.LookAt(controlPoints[i+1].position);
+            point.Translate(0, 0, rr+0.05f, Space.Self);
+            Vector3 pos2 = point.position;
+
+            Debug.Log(pos1 + "  " + point.position + "  " + pos2);
+
+            List<Vector3> listPos = DrawCurve(pos1, controlPoints[i].position, pos2);
+            for (int j = 0; j < listPos.Count; j++)
+            {
+                lineRenderer.SetPosition(index++, listPos[j]);
+            }
+
+        }
+
+        lineRenderer.SetPosition(index++, controlPoints[controlPoints.Length-1].position);
+
+        float dis = 0;
+        for (int i = 0; i < lineRenderer.positionCount; i++)
+        {
+            dis += Vector3.Distance(lineRenderer.GetPosition(i), lineRenderer.GetPosition(i + 1));
+        }
+
+        material.SetTextureScale("_MainTex", new Vector2(dis*4, 1f));
+        StartCoroutine(SetOffset());        
+    }
+
+    public void SetRoute()
+    {
+
+    }
+
+
+    private IEnumerator SetOffset()
+    {
+        while (true)
+        {
+            yield return new WaitForSeconds(0.04f);
+            offset -= Interval;
+            material.SetTextureOffset("_MainTex", offset);
+           
+        }
+    }
+
+    void Update()
+    {
+
+       // DrawCurve();
+
+    }
+
+    void DrawCurve()
+    {
+        for (int i = 1; i <= _segmentNum; i++)
+        {
+            float t = i / (float)_segmentNum;
+            int nodeIndex = 0;
+            Vector3 pixel = CalculateCubicBezierPoint(t, controlPoints[nodeIndex].position,
+                controlPoints[nodeIndex + 1].position, controlPoints[nodeIndex + 2].position);
+            lineRenderer.positionCount = i;
+            lineRenderer.SetPosition(i - 1, pixel);
+        }
+
+    }
+
+    List<Vector3>  DrawCurve( Vector3 pos1,Vector3 pos2 ,Vector3 pos3)
+    {
+        List<Vector3> listPos = new List<Vector3>();
+        for (int i = 1; i <= _segmentNum; i++)
+        {
+            float t = i / (float)_segmentNum;
+            int nodeIndex = 0;
+            Vector3 pixel = CalculateCubicBezierPoint(t, pos1,
+                pos2, pos3);
+
+            listPos.Add(pixel);
+            
+        }
+        return listPos;
+    }
+
+    Vector3 CalculateCubicBezierPoint(float t, Vector3 p0, Vector3 p1, Vector3 p2)
+    {
+        float u = 1 - t;
+        float tt = t * t;
+        float uu = u * u;
+
+        Vector3 p = uu * p0;
+        p += 2 * u * t * p1;
+        p += tt * p2;
+
+        return p;
+    }
+
+}
+
+

+ 11 - 0
Assets/Scripts/Tool/Bezier.cs.meta

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

+ 49 - 0
Assets/Scripts/Tool/BezierUtils2.cs

@@ -0,0 +1,49 @@
+using System.Diagnostics;
+using System.Numerics;
+
+public class BezierUtils2
+{
+    /// <summary>
+    /// 根据T值,计算贝塞尔曲线上面相对应的点
+    /// </summary>
+    /// <param name="t"></param>T值
+    /// <param name="p0"></param>起始点
+    /// <param name="p1"></param>控制点
+    /// <param name="p2"></param>目标点
+    /// <returns></returns>根据T值计算出来的贝赛尔曲线点
+    private static Vector3 CalculateCubicBezierPoint(float t, Vector3 p0, Vector3 p1, Vector3 p2)
+    {
+        float u = 1 - t;
+        float tt = t * t;
+        float uu = u * u;
+
+        Vector3 p = uu * p0;
+        p += 2 * u * t * p1;
+        p += tt * p2;
+
+        return p;
+    }
+
+    /// <summary>
+    /// 获取存储贝塞尔曲线点的数组
+    /// </summary>
+    /// <param name="startPoint"></param>起始点
+    /// <param name="controlPoint"></param>控制点
+    /// <param name="endPoint"></param>目标点
+    /// <param name="segmentNum"></param>采样点的数量
+    /// <returns></returns>存储贝塞尔曲线点的数组
+    public static Vector3[] GetBeizerList(Vector3 startPoint, Vector3 controlPoint, Vector3 endPoint, int segmentNum)
+    {
+        Vector3[] path = new Vector3[segmentNum];
+        for (int i = 1; i <= segmentNum; i++)
+        {
+            float t = i / (float)segmentNum;
+            Vector3 pixel = CalculateCubicBezierPoint(t, startPoint,
+                controlPoint, endPoint);
+            path[i - 1] = pixel;
+          //  Debug.Log(path[i - 1]);
+        }
+        return path;
+
+    }
+}

+ 11 - 0
Assets/Scripts/Tool/BezierUtils2.cs.meta

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

Some files were not shown because too many files changed in this diff