private void Start() { mapSession = new MapSession(mapWorker, MapMetaManager.LoadAll()); mapSession.LoadMapMeta(mapTemp, true); mapSession.CurrentMapLocalized = (mapData) => { this.mapData = mapData; }; videoCamera.DeviceOpened += () => { if (videoCamera == null) { return; } videoCamera.FocusMode = CameraDeviceFocusMode.Continousauto; }; #if UNITY_EDITOR dataDropdown.gameObject.SetActive(true); InitPointData(); #endif PropDragger.SetMapSession(mapSession); }
/// <summary> /// 从url下载图片 /// </summary> /// <param name="url"></param> /// <param name="filePath"></param> /// <param name="dic"></param> /// <returns></returns> public IEnumerator LoadSnapShot(string url, string fileName, string dic, GameObject Mark) { #pragma warning disable CS0618 // 类型或成员已过时 WWW www; if (MapMetaManager.isTextureInLocal(fileName)) { www = new WWW("file://" + MapMetaManager.PathForFile(fileName, "picture")); } else { www = new WWW(url); } #pragma warning restore CS0618 // 类型或成员已过时 yield return(www); MapMetaManager.SaveTextureToLocal(www.texture, fileName); Sprite tempSp = Sprite.Create(www.texture, new Rect(0, 0, 200, 200), new Vector2(0.5f, 0.5f)); // Add Sprite GameObject GameObject tempSprite = new GameObject("Sprite"); tempSprite.transform.parent = Mark.transform; tempSprite.transform.localPosition = new Vector3(0, 0.45f, 0); tempSprite.transform.localRotation = Quaternion.identity; tempSprite.transform.localScale = Vector3.one; //tempSprite.layer = 256; // Add Sprite Texture SpriteRenderer spriteRenderer = tempSprite.AddComponent <SpriteRenderer>(); spriteRenderer.sprite = tempSp; spriteRenderer.maskInteraction = SpriteMaskInteraction.VisibleInsideMask; // Add Sprite Mask tempSprite.AddComponent <SpriteMask>().sprite = spriteMaskCircle; }
public void Save() { if (mapData == null) { return; } var propInfos = new List <MapMeta.PropInfo>(); foreach (var prop in mapData.Props) { var position = prop.transform.localPosition; var rotation = prop.transform.localRotation; var scale = prop.transform.localScale; propInfos.Add(new MapMeta.PropInfo() { Name = prop.name, Position = new float[3] { position.x, position.y, position.z }, Rotation = new float[4] { rotation.x, rotation.y, rotation.z, rotation.w }, Scale = new float[3] { scale.x, scale.y, scale.z } }); } mapData.Meta.Props = propInfos; MapMetaManager.Save(mapData.Meta, MapMetaManager.FileNameType.Name); Debug.Log("保存成功"); }
public void SavePoint() { MapMetaManager.Save(new PointData() { mapName = mapData.Meta.Map.Name, PointCloud = mapData.Controller.PointCloud }); }
public void InitPointData() { pointDatas = MapMetaManager.Load_PointCloud <PointData>(); foreach (var item in pointDatas) { OptionDataList.Add(new Dropdown.OptionData() { text = item.mapName }); } dataDropdown.options = OptionDataList; dataDropdown.onValueChanged.AddListener(OnDropDownChanged); DebugObj(0); }
/// <summary> /// 保存地图回调 /// </summary> /// <param name="mapInfo">地图信息</param> /// <param name="isSuccess">成功标识</param> /// <param name="error">错误信息</param> private void SaveMapHostBack(SparseSpatialMapController.SparseSpatialMapInfo mapInfo, bool isSuccess, string error) { if (isSuccess) { SavePanel.SetActive(false); PlayerPrefs.SetString("MapID", mapInfo.ID); PlayerPrefs.SetString("MapName", mapInfo.Name); text.text = "地图保存成功。\r\nMapID:" + mapInfo.ID + "\r\nMapName:" + mapInfo.Name; MapMetaManager.Save(new MapMeta(mapInfo, new List <MapMeta.PropInfo>()), MapMetaManager.FileNameType.Name); Invoke("BackMain", 3); } else { btnSave.interactable = true; text.text = "地图保存出错:" + error; } }
private void Start() { mapSession = new MapSession(mapWorker, MapMetaManager.LoadAll()); mapSession.LoadMapMeta(mapTemp, false); mapSession.CurrentMapLocalized += (MapData) => { //识别出来后播放一段声音 提示用户已经加载出来了 if (aS.isPlaying == false) { aS.PlayOneShot(aS.clip); } }; videoCamera.DeviceOpened += () => { if (videoCamera == null) { return; } videoCamera.FocusMode = CameraDeviceFocusMode.Continousauto; }; }