Vuforia /精益触摸和取消对物体的bg干扰

时间:2017-04-23 17:27:49

标签: c# unity3d touch augmented-reality vuforia

我已经在一个项目上工作了一段时间,最终我所拥有的是少数报告风格设置,在我面前有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);

    }





}

修改

好的我没有阻止它发生但是在经过多次代码尝试之后我只是勾选了所有的跟踪选项,试图阻止一旦发现的额外跟踪,这是不对的,但这是一个改进。它现在必须要做。 Inspector Settings

0 个答案:

没有答案