123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112 |
- using Newtonsoft.Json;
- using Newtonsoft.Json.Linq;
- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine;
- /// <summary>
- /// 场景的设置
- /// </summary>
- public class ProjectConfiguration : MonoBehaviour
- {
- public int cubeLength;
- public CubeItem item;
- public Transform trackingTarget;
- public Camera camera;
- private TestData data;
- void Start()
- {
- data = new TestData();
- data.Length = 40;
- data.UIInterval = 1;
- //data.EulerAngleX = false;
- //data.EulerAngleY = true;
- //data.EulerAngleZ = false;
- data.EulerAxle = 2;
- data.CameraFar = 2;
- data.isShowMeasure = false;
- data.FadeDis = 1;
- data.ShowDis = 0.4f;
- }
-
- private void Init()
- {
- //camera.farClipPlane = data.CameraFar;
- BladeServerManager.Instance.showDis = data.ShowDis;
- BladeServerManager.Instance.fadeDis = data.FadeDis;
- if (!data.isShowMeasure)
- return;
- for (float i = 0; i < data.Length+1; i+=data.UIInterval)
- {
- GameObject obj = GameObject.Instantiate(item.gameObject, transform);
- obj.name = i.ToString();
- obj.transform.localPosition = new Vector3(0, 0.1f, -i);
- obj.GetComponent<CubeItem>().text.text = i.ToString() + " M";
- obj.SetActive(true);
- }
- }
-
- // Update is called once per frame
- void Update()
- {
- if(trackingTarget!=null)
- {
- switch (data.EulerAxle)
- {
- case 1:
- transform.eulerAngles = new Vector3(0, trackingTarget.eulerAngles.x, 0);
- break;
- case 2:
- transform.eulerAngles = new Vector3(0, trackingTarget.eulerAngles.y, 0);
- break;
- case 3:
- transform.eulerAngles = new Vector3(0, trackingTarget.eulerAngles.z, 0);
- break;
- default:
- break;
- }
- transform.position = trackingTarget.position;
- }
-
- }
- public void Test()
- {
- }
-
- }
- public class TestData
- {
- public int Length { get; set; }// 需要显示的长度
- public float CameraFar { get; set; } // Camera的可见距离
- public float UIInterval { get; set; } // 间隔多少米显示距离UI 0.5m/1m/....
- //public bool EulerAngleX { get; set; } // 是否同步Tag X轴旋转
- //public bool EulerAngleY { get; set; } // 是否同步Tag Y轴旋转
- //public bool EulerAngleZ { get; set; } // 是否同步Tag Z轴旋转
- public int EulerAxle { get; set; } // 跟随哪个轴旋转 1 X轴 2 Y轴 3 Z轴
- public float ShowDis { get; set; } // 机柜详细信息 显示的距离
- public float FadeDis { get; set; } // 机柜详细信息 消失的距离
- public bool isShowMeasure { get; set; } // 是否显示测量长度的Demo
- }
|