private void Read() { if (_curGo == null) { //string json = PlayerPrefs.GetString("location"); string json = GetPosData(); if (string.IsNullOrEmpty(json)) { logText.text = "没有可读取的数据"; } else { ArObjData data = JsonUtility.FromJson <ArObjData>(json); _curGo = GameObject.CreatePrimitive(PrimitiveType.Cube); _curGo.transform.position = CoordinateConvert.ChangeGPSLocation2ARPos(LocationObtainment.location, data.location, mainCamera.transform); _curGo.transform.eulerAngles = data.rotate; _curGo.transform.localScale = data.scale; logText.text = "读取并加载成功:" + _curGo.transform.position; } } else { logText.text = "场景中已存在模型,请先删除"; } }
// Update is called once per frame private void Update() { if (Input.GetKeyDown(KeyCode.A)) { ArObjData arObjData = new ArObjData(); SavePosData(JsonUtility.ToJson(arObjData)); } if (Input.GetKeyDown(KeyCode.B)) { GetPosData(); } }
private void Save() { if (_curGo == null) { logText.text = "场景中无模型,无法保存,请添加"; } else { ArObjData arObjData = new ArObjData(); arObjData.location = CoordinateConvert.ChangeARPos2GPSLocation(LocationObtainment.location, _curGo.transform.position, mainCamera.transform); arObjData.rotate = _curGo.transform.eulerAngles; arObjData.scale = _curGo.transform.localScale; //PlayerPrefs.SetString("location", JsonUtility.ToJson(arObjData)); SavePosData(JsonUtility.ToJson(arObjData)); logText.text = "保存成功:pos " + _curGo.transform.position + JsonUtility.ToJson(arObjData); } }