我已经在一个项目上工作了一段时间,最终我所拥有的是少数报告风格设置,在我面前有AR屏幕 . 我正在使用一个称为精益触摸的统一插件,它允许我点击移动屏幕并选择3d对象 . 然后我可以移动它们并扩展它们,这很棒 .

我有一个不受欢迎的副作用,但在不同的情况下,这将是太棒了,但在这种情况下它会伤害我的头脑 . 如果使用用户定义的目标触发目标,屏幕将显示在您面前,背后有摄像头(真实世界) . 然后我点击该项目,可以拖动我的移动设备进行交互 . 问题是,如果有人在后台走过我的手机,跟踪会在他们走过时将我的项目“推”出屏幕 .

在不同的设置下,我可以利用这一点,因为我在相机后面挥动手并且可以与物品互动,不幸的是我所能做的就是将它从一侧推到另一侧而不是尺度或其他任何东西,这会使体验成为问题 . 因此,如果相机背景改变,我想帮助找出如何停止跟踪我的物体位置 . 因此,将我的对象留在屏幕上,直到我触摸屏幕进行交互 .

我不确定究竟需要打开或关闭什么,如果它是vuforia设置或精简触摸统一设置与图层等或刚性或添加的东西 . 我需要有关方向的建议,因为我现在正在进行圈子 .

截图如下 .

http://imgur.com/a/NYekP

如果我挥手或有人走过去,它会移动AR元素 .

想法将不胜感激 .


与对象交互的唯一代码是在下面,该平面在用作交互式屏幕预制件的持有者对象的平面上,因此当屏幕认为它是gui元素并且因此不可交互时,倾斜触摸将移动平面,最后一行是添加隐藏原始平面,以便当我倾斜触摸拖动屏幕时,副本不可见 .

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Vuforia;

public class activateChildObjects : MonoBehaviour {

public GameObject MyObjName;
//Get the original GUI item to disable on drag of the cloned item
public string pathToDeactivate;


    void Update(){

        if(DefaultTrackableEventHandler.lostFound == true){

        foreach (Transform child in MyObjName.transform) {
            child.gameObject.SetActive(true); 
             } 
                 Debug.Log("GOT IT");


        }else{
                foreach (Transform child in MyObjName.transform) {
                                 child.gameObject.SetActive(false);
                } 

                Debug.Log("Lost");

        }
        //Remove original panel

GameObject.Find("UserDefinedTarget/"+pathToDeactivate).SetActive(false);

    }





}

编辑


好吧,我没有't stopped it from happeneing but after numerous code attempts I just ticked all the tracking options to try and prevent additional tracking once found and it'不对,但这是一个改进 . 它现在必须要做 .
Inspector Settings