【问题标题】:Unity AR Foundation: Hot to get the current tracked ImageUnity AR Foundation:获取当前跟踪图像的热点
【发布时间】:2019-09-17 16:11:19
【问题描述】:

我是 Unity AR Foundation 插件的新手,我目前正在尝试获取相机跟踪的当前图像。我使用 ARTrackedImageManager 类的 trackedImagesChanged 委托从 ReferenceLibrary 中获取有关图像的信息。所以这个方法只给了我来自 ReferenceLibrary 的所有图像。有没有办法只获取当前跟踪的图像?我正在寻找诸如“getCurrentTrackedImage()”之类的东西或一个代表给我当前跟踪的图像。

提前致谢! :)

【问题讨论】:

    标签: c# unity3d augmented-reality


    【解决方案1】:

    trackedImagesChanged 活动中,您应该订阅并使用ARTrackedImagesChangedEventArgs imgChangedArgs

    // Finding and subscribing for event on changing finding tracked images.
    void Subscribe()
    {
        var arTrackedImageManager = GameObject.FindObjectOfType<ARTrackedImageManager>();
        _arTrackedImageManager.trackedImagesChanged += ImageChangedHandle;
    }
    
    // Method handling found/lost tracked images.
    void ImageChangedHandle(ARTrackedImagesChangedEventArgs imgChangedArgs)
    {
        // loop over new found images. imgChangedArgs.added is List<ARTrackedImage>
        foreach (var item in imgChangedArgs.added)
        {
            var go = item.gameObject;
        }
    }
    

    【讨论】:

      【解决方案2】:

      ARTrackedImagesChangedEventArgs 保存所有被跟踪和丢失的目标。

      这是您可以访问它的方式。

      void OnEnable()
      {
          m_TrackedImageManager.trackedImagesChanged += OnTrackedImagesChanged;
      }
      
      void OnDisable()
      {
          m_TrackedImageManager.trackedImagesChanged -= OnTrackedImagesChanged;
      }
      
      void OnTrackedImagesChanged(ARTrackedImagesChangedEventArgs eventArgs)
      {
      
          foreach (ARTrackedImage trackedImg in eventArgs.added.Concat(eventArgs.updated))
          {
      
              if (trackedImg.trackingState == TrackingState.Tracking)
              {
                  //trackedImg is tracked
      
              }
              else
              {
                  //trackedImg is lost  
              }
          }
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-12-30
        • 1970-01-01
        • 1970-01-01
        • 2020-09-15
        • 2023-01-27
        相关资源
        最近更新 更多