Vuforia raycast无法区分2个物体

时间:2018-04-20 05:08:11

标签: c# unity3d augmented-reality vuforia raycasting

所以我在imageTarget上有2个对象,我为它们添加了一个盒子对撞机。我还为他们添加了一个不同的标签。我想要它,这样如果你点击其中一个,它会带你到另一个场景,其中包含有关该对象的信息。 这是我的代码:

 using System.Collections;using System.Collections.Generic;
 using UnityEngine;
 using Vuforia;
 using System.IO;


 public class ObjectInfo : MonoBehaviour
 {
     public GameObject Eagle;
     public GameObject LibertyStatue;

// Use this for initialization
void Start () 
{
    Eagle = GameObject.Find ("Eagle");
    LibertyStatue= GameObject.Find ("LibertyStatue");

    //Eagle.SetActive (true);
    //LibertyStatue.SetActive (true);

}
// Update is called once per frame
void Update () 
{
    if (Input.GetMouseButtonDown (0)) 
    {
        Ray ray = Camera.main.ScreenPointToRay (Input.mousePosition);
        RaycastHit hit;
        if (Physics.Raycast(ray, out hit))
        {
            if(hit.collider.tag == "Eagle");
            {
                ChangeScene ("EagleInfoScene");
            }
            if(hit.collider.tag == "LibertyStatue");
            {

            ChangeScene ("LibertyStatueInfoScene");
            }
        }

    }
}
    public void ChangeScene (string a)
    {
        Application.LoadLevel (a);
    }
}

当我第一次添加其中一个对象时,它工作得很好,现在添加新对象和新场景后,两个对象都会更改为新场景。因此,单击鹰和自由雕像会将场景更改为LibertyStatueInfoScene。有办法解决这个问题吗?

解决了:哇我真傻,问题是我的if语句后面有分号,它没有给我一个错误所以我从来没有注意到它。

1 个答案:

答案 0 :(得分:1)

解决方案:我没有注意到if语句后面的分号,删除它们就解决了它。奇怪的是它并没有给我一个错误。