public void Apply() { if (Aoliao.Count > 0) { Quaternion qua = Quaternion.identity; IEnumerator coroutine; for (int i = 0; i < Aoliao.Count; ++i) { if (i == Aoliao.Count - 1 && Aoliao[i] == m_Ao) { Aoliao[i] = m_Ao_up; } var oreoIns = Instantiate(Aoliao[i], new Vector3(0, i * 0.1f, 0), qua, oreoP.transform); var oreoEventName = oreoIns.GetComponent <OreoEventName>().eventName; eventList.Add(oreoEventName); } coroutine = PlayAllOreoAudio(0.15f); StartCoroutine(coroutine); settingCanvas.enabled = false; backCanvas.enabled = true; VoidAR.GetInstance().startMarkerlessTracking(); } }
public void RemoveTarget() { if (VoidAR.GetInstance().isMarkerExist(markerName)) { VoidAR.GetInstance().removeTarget(markerName); } }
public void ModelButton(int indexPos) { int indexAsset = SceneAssetCtrl.instance.modelAssets[indexPos].transform.GetSiblingIndex(); //print(indexAsset); if (SceneAssetCtrl.instance.modelAssets[indexPos].gameObject.activeSelf) { //if pikachu active self GetClone(indexAsset); lastcallGO = transform.GetChild(indexAsset).name + $"{SceneAssetCtrl.ANGLEOPENIDENTIFIER}{SceneAssetCtrl.CLONEIDENTIFIER}{SceneAssetCtrl.ANGLECLOSEIDENTIFIER}" + j; //get the name of last 3d model posed LinkedSwitchAnim(); } else { if (NoActiveObject()) { VoidAR.GetInstance().startMarkerlessTracking(); //MoveScript.play (); //for arrow raycast? //CONTINUE TOMORROW countpika++; transform.GetChild(indexAsset).gameObject.SetActive(true); } else { transform.GetChild(indexAsset).gameObject.SetActive(true); goodpose = Camera.main.ScreenToWorldPoint(new Vector3(Screen.width / 2, Screen.height / 2, 1)); goodpose = new Vector3(goodpose.x, MarkerlessTrackingCustom.posYtrackingallgood, goodpose.z); transform.GetChild(indexAsset).localPosition = new Vector3(goodpose.x - transform.root.localPosition.x, goodpose.y - transform.root.localPosition.y, goodpose.z - transform.root.localPosition.z); //pose at the center of the screen } lastcallGO = transform.GetChild(indexAsset).name; } SceneAssetCtrl.modelSelected = transform.GetChild(indexAsset).gameObject; JoyOrNot(); }
public void ModelSilkkeButton() { if ((SceneAssetCtrl.instance.modelSilkkeAsset != null)) { int indexAsset = SceneAssetCtrl.instance.modelSilkkeAsset.transform.GetSiblingIndex(); if (SceneAssetCtrl.instance.modelSilkkeAsset.gameObject.activeSelf) { GetClone(indexAsset); lastcallGO = transform.GetChild(indexAsset).name + $"{SceneAssetCtrl.ANGLEOPENIDENTIFIER}{SceneAssetCtrl.CLONEIDENTIFIER}{SceneAssetCtrl.ANGLECLOSEIDENTIFIER}" + j; if (j > 1) { lastLastcallGo = transform.GetChild(indexAsset).name + $"{SceneAssetCtrl.ANGLEOPENIDENTIFIER}{SceneAssetCtrl.CLONEIDENTIFIER}{SceneAssetCtrl.ANGLECLOSEIDENTIFIER}" + (j - 1); GameObject.Find(lastcallGO).transform.localPosition = GameObject.Find(lastLastcallGo).transform.localPosition; //don't get 2 avatars at the same position if (GameObject.Find(lastcallGO).transform.Find(RotateScale.getAvatarName).transform.localPosition.y < 0) { //waiting | don't fall or block in the ground //print(GameObject.Find (lastcallGO).transform.Find(RotateScale.getAvatarName).transform.localPosition.y+"|test"); GameObject.Find(lastcallGO).transform.Find(RotateScale.getAvatarName).transform.localPosition = new Vector3(GameObject.Find(lastcallGO).transform.Find(RotateScale.getAvatarName).transform.localPosition.x, 0, GameObject.Find(lastcallGO).transform.Find(RotateScale.getAvatarName).transform.localPosition.z); } GameObject.Find(lastcallGO).transform.Translate(0, 0, 1); //don't get 2 avatars at the same position//MAYBE FOR JUST EDITOR } else { //don't fall //GameObject.Find (lastcallGO).transform.localPosition = new Vector3 (GameObject.Find (lastcallGO).transform.localPosition.x, MarkerlessTracking.posYtrackingallgood, GameObject.Find (lastcallGO).transform.localPosition.z); GameObject.Find(lastcallGO).transform.Find(RotateScale.getAvatarName).transform.localPosition = Vector3.zero; //WAITING //print (GameObject.Find (lastcallGO).transform.Find (RotateScale.getAvatarName).transform.localPosition + " testlCG"); } LinkedSwitchAnim(); } else { if (NoActiveObject()) { VoidAR.GetInstance().startMarkerlessTracking(); transform.GetChild(indexAsset).gameObject.SetActive(true); } else { transform.GetChild(indexAsset).gameObject.SetActive(true); goodpose = Camera.main.ScreenToWorldPoint(new Vector3(Screen.width / 2, Screen.height / 2, 1)); goodpose = new Vector3(goodpose.x, MarkerlessTrackingCustom.posYtrackingallgood, goodpose.z); transform.GetChild(indexAsset).localPosition = new Vector3(goodpose.x - transform.root.localPosition.x, goodpose.y - transform.root.localPosition.y, goodpose.z - transform.root.localPosition.z); //pose at the center of the screen } lastcallGO = transform.GetChild(indexAsset).name; getAvatarName = lastcallGO; //print (getAvatarName + "|tessssss"); } JoyOrNot(); } }
static void Init() { foreach (var obj in Selection.GetFiltered(typeof(UnityEngine.Object), SelectionMode.Assets)) { string assetsPath = AssetDatabase.GetAssetPath(obj); if (Path.GetExtension(assetsPath) == ".jpg") { VoidAR.GetInstance().saveImageTargetDescriptor(assetsPath); } } AssetDatabase.Refresh(); }
void OnGUI() { var btnHeight = Screen.height * 0.1f; var btnWidth = btnHeight * 3.0f; var gap = 20; GUI.skin.button.fontSize = 36; if (GUI.Button(new Rect(Screen.width - btnWidth, gap, btnWidth, btnHeight), "Start")) { VoidAR.GetInstance().startMarkerlessTracking(); } }
static void Register() { QualitySettings.vSyncCount = 0; Application.targetFrameRate = 60; Debug.Log("VoidARBridge"); #if UNITY_ANDROID VoidAR.GetInstance().helper = new VoidARAndroidHelper(); #elif UNITY_IOS VoidAR.GetInstance().helper = new VoidARiOSHelper(); #else VoidAR.GetInstance().helper = new VoidARDefaultHelper(); #endif }
public void Reset() { for (int b = 0; b < SceneAssetCtrl.instance.modelsToTrack.transform.childCount; ++b) { //Destroy clones if (SceneAssetCtrl.instance.modelsToTrack.transform.GetChild(b).name.Contains(SceneAssetCtrl.CLONEIDENTIFIER)) { Destroy(SceneAssetCtrl.instance.modelsToTrack.transform.GetChild(b).gameObject); } } for (int b = 0; b < SceneAssetCtrl.instance.modelsToTrack.transform.childCount; ++b) { //reset and active false all existing objects SceneAssetCtrl.instance.modelsToTrack.transform.GetChild(b).localPosition = Vector3.zero; //to get good start tracking if ((SceneAssetCtrl.instance.modelSilkkeAsset != null) && SceneAssetCtrl.instance.modelsToTrack.transform.GetChild(b).gameObject.activeSelf&& SceneAssetCtrl.instance.modelsToTrack.transform.GetChild(b).name.Equals(SceneAssetCtrl.instance.modelSilkkeAsset.name)) { //to reset Avatar values foreach (Transform tr in SceneAssetCtrl.instance.modelSilkkeAsset.transform) { if (tr.name.Equals(RotateScale.getAvatarName)) { tr.localPosition = Vector3.zero; tr.localRotation = Quaternion.identity; tr.localScale = new Vector3(1f, 1f, 1f); //keep silkke on the ground tr.localPosition = new Vector3(0f, 0f, 0f); //keep silkke on the ground } } } SceneAssetCtrl.instance.modelsToTrack.transform.GetChild(b).gameObject.SetActive(false); } SceneAssetCtrl.instance.modelsToTrack.transform.root.localPosition = new Vector3(0, 0, 0); //to get good start, but maybe useless countreset++; if (SceneAssetCtrl.instance.modelImportPanel.gameObject.activeSelf) { //hide YourModels if reset SceneAssetCtrl.instance.modelImportPanel.gameObject.SetActive(false); SceneAssetCtrl.instance.modelAnimPanel.transform.localScale = Vector3.one; } if (SceneAssetCtrl.instance.silkkeConnectBtn != null) { SceneAssetCtrl.instance.silkkeConnectBtn.transform.gameObject.SetActive(true); // show Silkke connector if you reset } #if UNITY_EDITOR #elif UNITY_ANDROID || UNITY_IOS VoidAR.GetInstance().resetMarkerless(); #endif }
public void ModelImportButton() { if (SceneAssetCtrl.instance.modelImportAsset != null) { int indexAsset = SceneAssetCtrl.instance.modelImportAsset.transform.GetSiblingIndex(); //print(indexAsset); if (SceneAssetCtrl.instance.modelImportAsset.gameObject.activeSelf) { GetClone(indexAsset); lastcallGO = transform.GetChild(indexAsset).name + $"{SceneAssetCtrl.ANGLEOPENIDENTIFIER}{SceneAssetCtrl.CLONEIDENTIFIER}{SceneAssetCtrl.ANGLECLOSEIDENTIFIER}" + j; LinkedSwitchAnim(); if (j == 1) { mat = Instantiate(this.transform.Find(transform.GetChild(indexAsset).name).transform.GetChild(1).GetComponent <MeshRenderer>().material); //get an instance of the material of the default model for first clone } else if (j > 1) { mat = Instantiate(this.transform.Find(transform.GetChild(indexAsset).name + $"{SceneAssetCtrl.ANGLEOPENIDENTIFIER}{SceneAssetCtrl.CLONEIDENTIFIER}{SceneAssetCtrl.ANGLECLOSEIDENTIFIER}" + (j - 1)).transform.GetChild(1).GetComponent <MeshRenderer>().material); //get an instance of the material of the clone before for each clone } GameObject.Find(lastcallGO).transform.GetChild(1).GetComponent <MeshRenderer>().material = mat; } else { if (NoActiveObject()) { VoidAR.GetInstance().startMarkerlessTracking(); transform.GetChild(indexAsset).gameObject.SetActive(true); } else { transform.GetChild(indexAsset).gameObject.SetActive(true); goodpose = Camera.main.ScreenToWorldPoint(new Vector3(Screen.width / 2, Screen.height / 2, 1)); goodpose = new Vector3(goodpose.x, MarkerlessTrackingCustom.posYtrackingallgood, goodpose.z); //WORK ON THAT LATER transform.GetChild(indexAsset).localPosition = new Vector3(goodpose.x - transform.root.localPosition.x, goodpose.y - transform.root.localPosition.y, goodpose.z - transform.root.localPosition.z); //pose at the center of the screen } lastcallGO = transform.GetChild(indexAsset).name; Objbut.SetActive(true); Manageanimfilebut.transform.localScale = Vector3.zero; } JoyOrNot(); } }
void OnGUI() { var btnHeight = Screen.height * 0.1f; var btnWidth = btnHeight * 3.0f; var gap = 20; GUI.skin.button.fontSize = 36; if (GUI.Button(new Rect(10, gap, btnWidth, btnHeight), "开启闪光")) { VoidAR.GetInstance().helper.SetFlashTorchMode(true); } if (GUI.Button(new Rect(10, Screen.height - btnHeight, btnWidth, btnHeight), "关闭闪光")) { VoidAR.GetInstance().helper.SetFlashTorchMode(false); } }
public void AddTarget() { //添加Marker1(识别图路径默认为StreamingAssets) var imageTarget1 = new GameObject("ImageTarget1"); imageTarget1.transform.localPosition = Vector3.zero; imageTarget1.transform.localEulerAngles = Vector3.zero; imageTarget1.transform.localScale = Vector3.one; ImageTargetBehaviour marker1 = imageTarget1.AddComponent <ImageTargetBehaviour>(); if (Application.platform == RuntimePlatform.Android || Application.platform == RuntimePlatform.IPhonePlayer) { marker1.storageType = VoidAR.StorageType.Assets; markerName = "1yuan.jpg"; } else { //PC只支持绝对路径 marker1.storageType = VoidAR.StorageType.Absolute; markerName = Application.streamingAssetsPath + "/1yuan.jpg"; } marker1.SetPath(markerName); var cube = GameObject.CreatePrimitive(PrimitiveType.Cube); Material mat = (Material)Resources.Load("dynamicMaterial"); cube.GetComponent <Renderer>().material = mat; cube.transform.localPosition = new Vector3(0.0f, 0.25f, 0.0f); cube.transform.localEulerAngles = Vector3.zero; cube.transform.localScale = new Vector3(0.5f, 0.5f, 0.5f); cube.transform.SetParent(imageTarget1.transform); VoidAR.GetInstance().addTargetNew(marker1, imageTarget1); //识别图支持绝对路径方式,比如Application.persistentDataPath) /*string markerPath = Path.Combine(Application.persistentDataPath, "test.jpg"); * marker2.storageType = VoidAR.StorageType.Absolute;*/ //完成添加 VoidAR.GetInstance().FinishAddImageTarget(); }
void OnGUI() { var btnHeight = Screen.height * 0.1f; var btnWidth = btnHeight * 3f; var gap = 20; if (GUI.Button(new Rect(Screen.width - btnWidth, gap, btnWidth, btnHeight), "Add Target")) { //Debug.Log(" add marker"); AddTarget(); } if (GUI.Button(new Rect(Screen.width - btnWidth, gap * 2 + btnHeight, btnWidth, btnHeight), "Clear Target")) { if (VoidAR.GetInstance().isMarkerExist(markerName)) { VoidAR.GetInstance().removeTarget(markerName); } } }
// Update is called once per frame void Update() { VoidAR.GetInstance().helper.GetEnvironmentalLight(ref intensity); transform.GetComponent <Light>().intensity = (intensity + baseIntensityLight); }
void DoStartTracking() { VoidAR.GetInstance().startMarkerlessTracking(); currentStreetPhoto.GetComponent <IsPhoto>().FadeingPicture(); }
public void startMarkerlessTracking() { VoidAR.GetInstance().startMarkerlessTracking(); }
void DoStartTracking() { VoidAR.GetInstance().startMarkerlessTracking(); }