You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Unity/Vuforia中识别图像目标后隐藏提示文本?

嘿,这个需求在Unity+Vuforia的AR开发里其实挺常见的,我给你整理了一套清晰易上手的实现步骤,跟着来就行:

实现步骤详解

1. 基础准备工作

  • 确保你已经在Unity中导入Vuforia SDK,并且用Vuforia的ARCamera替换了场景默认的MainCamera。
  • 已经在Vuforia Target Manager中创建并导入了贺卡对应的图像目标(Image Target),且场景中已添加该Image Target对象。
  • 场景内已放置好操作指引文本(比如UI Text或TextMeshPro组件),初始状态设为显示(active=true)。

2. 编写核心控制脚本

创建一个C#脚本(比如命名为GuideTextController.cs),挂载到Image Target对象上(或者单独的管理器对象也可以,挂在目标上更直观)。核心逻辑是监听Image Target的识别状态,识别到目标时隐藏指引文本,失去识别时可按需重新显示。

代码示例:

using UnityEngine;
using Vuforia;
using TMPro; // 用TextMeshPro时需要这个命名空间,用默认Text则替换为UnityEngine.UI;

public class GuideTextController : MonoBehaviour, ITrackableEventHandler
{
    private TrackableBehaviour _trackableBehaviour;
    public GameObject guideText; // 在Inspector面板拖入你的指引文本对象

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

        // 初始状态确保文本显示
        if (guideText != null)
        {
            guideText.SetActive(true);
        }
    }

    public void OnTrackableStateChanged(
        TrackableBehaviour.Status previousStatus,
        TrackableBehaviour.Status newStatus)
    {
        if (newStatus == TrackableBehaviour.Status.DETECTED ||
            newStatus == TrackableBehaviour.Status.TRACKED ||
            newStatus == TrackableBehaviour.Status.EXTENDED_TRACKED)
        {
            // 识别到贺卡目标,隐藏指引文本
            if (guideText != null)
            {
                guideText.SetActive(false);
            }
        }
        else
        {
            // 可选逻辑:失去识别时重新显示指引文本,根据你的需求决定是否启用
            // if (guideText != null)
            // {
            //     guideText.SetActive(true);
            // }
        }
    }
}

3. 脚本配置

  • 将脚本拖到场景中的Image Target对象上。
  • 在Inspector面板的GuideText字段中,拖入你的指引文本UI对象。
  • 确认Image Target对象上的Trackable Behaviour组件已正确关联你的图像目标数据库。

4. 测试与优化

  • 进入Play模式或打包到手机测试:当摄像头对准贺卡时,Vuforia识别到目标后指引文本会自动消失;如果启用了失去识别时的显示逻辑,移开贺卡后文本会重新出现。
  • 小优化提示:如果想要更平滑的过渡,可以把SetActive(false)换成触发淡出动画;还可以加个0.5秒左右的延迟,避免识别抖动导致文本频繁切换。

内容的提问来源于stack exchange,提问作者Jeannie

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 06:30:24