[英]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之間的錯誤,但是解決方案是這樣的:
使用任何點擊算法(觸摸或鼠標)進行測試
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"); } }
為ARCamera更換mainCamera
訣竅是...永遠不要從場景中丟失帶有Collider Component的gameObject。
如果嘗試在3D模型上使用RayCast命中目標,則應確保在3D模型上添加Box Collider Component。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.