簡體   English   中英

Vuforia SDK在Unity3d中使用Raycast for ARCamera的問題

[英]Problems with Raycast for ARCamera in Unity3d with Vuforia SDK

我是Vuforia的新手。

添加了腳本的游戲對象是一個3d對象,在用戶定義的觸發圖像上可見。

我知道這不是一個新問題,因此我已經遍歷了Vuforia官方討論博客上的每個主題/帖子,但問題仍然存在。 這個問題似乎非常根本。

我的游戲對象附有以下腳本:

void Update () 
{
    if (Input.touchCount == 1) 
    {
        // Touches performed on screen
        Ray ray;
        RaycastHit hit;
        Debug.Log ("2");
        if(Camera.main != null)
        {
            Debug.Log ("3");
            ray = Camera.main.ScreenPointToRay(Input.GetTouch(0).position);
            hit = new RaycastHit();
            Debug.Log ("33");
            if(Physics.Raycast(ray, out hit))
            {
                Debug.Log ("4");
            }
                   }
            }
    }

當我運行場景並觸摸游戲對象時,調試控制台將顯示

2

3

33

但不是4.射線無法照到物體上。

該腳本可以在普通相機上正常工作。 任何人都可以對此有所了解。

謝謝

(據我所知),Vuforia沒有使用ARCamera進行碰撞檢測。 而是有另一個“背景攝影機”(如果您在Unity中運行您的應用程序並將其暫停,則可以看到它;可以在“層次結構”窗格中找到它)。 要使用它

Camera.allCameras[0] 

代替

Camera.main

希望能有所幫助

我認為這是Collider類和ARCamera之間的錯誤,但是解決方案是這樣的:

  1. 創建一個新場景
  2. 創建具有碰撞組件的多維數據集或任何游戲對象。
  3. 請勿出於任何原因刪除多維數據集
  4. 使用任何點擊算法(觸摸或鼠標)進行測試

     using System.Collections; using UnityEngine; public class rayoPrueba : MonoBehaviour { void start () {print("entro"); } void Update() { Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); if (Physics.Raycast(ray, 100)) print("Si le jue"); } } 
  5. 為ARCamera更換mainCamera

  6. 再次測試
  7. 將多維數據集放入ImageTarget和真實模型中
  8. 刪除多維數據集,然后跳舞!! 我不知道為什么,但是這個錯誤被殺死了。

訣竅是...永遠不要從場景中丟失帶有Collider Component的gameObject。

如果嘗試在3D模型上使用RayCast命中目標,則應確保在3D模型上添加Box Collider Component。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM