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

Unity使用Vuforia时是否有判断图像跟踪状态的Bool类型函数?

问题修正方案

你的代码核心问题是变量类型定义错误:GameObject类型本身没有Status属性,你需要将两个图像的引用指向Vuforia提供的DefaultObserverEventHandler组件,才能读取跟踪状态。

具体修改点:

  • 把aImage、bImage的变量类型从GameObject改为DefaultObserverEventHandler
  • 你原有的跟踪状态判断逻辑是正确的,Tracked_ExtendedTracked枚举值本身就对应了跟踪中/扩展跟踪中两种状态,满足条件时判断语句返回true
  • 优化时间判定逻辑,浮点数不要直接用==判断相等,避免精度问题导致判定失效

修正后完整代码:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Vuforia; // 注意要引入Vuforia的命名空间,否则找不到对应类型

public class Lerp : MonoBehaviour
{
    [SerializeField] public GameObject cube; //My 3d object
    [SerializeField] private Transform a; // Image A position
    [SerializeField] private Transform b; //Image B position
    private float time = 0;
    // 修改变量类型为DefaultObserverEventHandler
    [SerializeField] public DefaultObserverEventHandler aImage;
    [SerializeField] public DefaultObserverEventHandler bImage;
    

    void Start()
    {
        time = 0;
    }

    private void Update()
    {
        Vector3 startPosition = a.position;
        Vector3 targetPosition = b.position;

        // 这里的判断逻辑不需要改,现在aImage和bImage有Status属性了
        if (aImage.Status == DefaultObserverEventHandler.TrackingStatusFilter.Tracked_ExtendedTracked 
            && bImage.Status == DefaultObserverEventHandler.TrackingStatusFilter.Tracked_ExtendedTracked )
        {
            time += Time.deltaTime;
            Debug.Log("time:" + time);
            cube.transform.position = Vector3.Lerp(startPosition, targetPosition, time / 5f);
            // 简化时间判断逻辑
            if (time >= 5f)
            {
                time = 0;
            }
        }
    }
}

操作注意事项:

  • 脚本挂载完成后,在Inspector面板把两个图像目标对象直接拖到aImage、bImage的对应字段上即可,Unity会自动读取对象上挂载的DefaultObserverEventHandler组件。
  • 如果你的Vuforia版本较低找不到DefaultObserverEventHandler,可以替换成DefaultTrackableEventHandler,属性调用逻辑完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 07:09:01