首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >一旦应用程序识别出Vuforia/Unity上的图像目标,如何使文本消失?

一旦应用程序识别出Vuforia/Unity上的图像目标,如何使文本消失?
EN

Stack Overflow用户
提问于 2018-03-28 12:17:35
回答 4查看 2K关注 0票数 0

一旦应用程序识别出图像目标(通过Vuforia),如何使文本消失?

我正在尝试创建一个AR应用程序,在用户将他们的手机摄像头放在贺卡上之前,它会告诉用户指示。当用户将相机投影到贺卡上并识别与贺卡相关的图像目标时,如何使此文本消失?

  • 在AR应用程序中使用
EN

回答 4

Stack Overflow用户

发布于 2018-04-01 03:57:15

看起来,您所要求的是非常基本的,您应该从Vuforia示例开始,重写处理目标检测的代码。应该是这样的:

代码语言:javascript
复制
public void OnTrackableStateChanged(TrackableBehaviour.Status previousStatus, TrackableBehaviour.Status newStatus)
{
    if (newStatus == TrackableBehaviour.Status.DETECTED ||
        newStatus == TrackableBehaviour.Status.TRACKED ||
        newStatus == TrackableBehaviour.Status.EXTENDED_TRACKED)
    {
       // hide your text here
    }
    else
    {
        // show your text here (or do anything else you wish to do)
    }
}   
票数 0
EN

Stack Overflow用户

发布于 2018-04-05 03:02:18

您需要在UIText中的Vuforia提供的OnTrackableStateChanged of DefaultTrackableEventHandler脚本中管理DefaultTrackableEventHandler对象的可见性。

公共无效OnTrackableStateChanged( TrackableBehaviour.Status previousStatus,TrackableBehaviour.Status newStatus) { if (newStatus == TrackableBehaviour.Status.DETECTED而经TrackableBehaviour.Status.DETECTED newStatus == TrackableBehaviour.Status.TRACKED TrackableBehaviour.Status.DETECTED newStatus == TrackableBehaviour.Status.EXTENDED_TRACKED) { OnTrackingFound();{ OnTrackingLost();}}

在OnTrackingFound()函数中,您可以这样做。创建一个公共UItext对象,并在统一端将UItext拖到该公共变量。

票数 0
EN

Stack Overflow用户

发布于 2019-02-09 21:41:11

删除此脚本,在编辑器中的事件列表中添加任何要启动和停止的内容。例如,将GameObject设置为活动与否。

代码语言:javascript
复制
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Events;
using Vuforia;

public class ImageTargetBehaviour : MonoBehaviour, ITrackableEventHandler
{
    private TrackableBehaviour mTrackableBehaviour;
    public UnityEvent myStartEvent;
    public UnityEvent myStopEvent;

    void Start()
    {
        mTrackableBehaviour = GetComponent<TrackableBehaviour>();
        if (mTrackableBehaviour)
        {
            mTrackableBehaviour.RegisterTrackableEventHandler(this);
        }
    }

    public void OnTrackableStateChanged(
                                    TrackableBehaviour.Status previousStatus,
                                    TrackableBehaviour.Status newStatus)
    {
        if (newStatus == TrackableBehaviour.Status.DETECTED ||
            newStatus == TrackableBehaviour.Status.TRACKED ||
            newStatus == TrackableBehaviour.Status.EXTENDED_TRACKED)
        {
            // When target is found
            myStartEvent.Invoke();
        }
        else
        {
            // When target is lost
            myStopEvent.Invoke();
        }
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49534328

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档