0

我正在制作 360 度视频,需要使用 raycast 来选择菜单选项。我已经绘制了光线投射,它似乎没问题。但是,没有进行检测。这些按钮位于世界视图中,并具有网格对撞机,并且启用了“触发”。

以下是附加到主摄像机的脚本:

using System.Collections;

using System.Collections.Generic; using UnityEngine;

public class VrEyeRaycaster : MonoBehaviour {
    public string objectCollided;
    // Use this for initialization
    void Start()
    {

    }

    // Update is called once per frame
    void Update()
    {

    //create the ray to cast forward
    RaycastHit hit;
    Vector3 origin = transform.position;
    Vector3 direction = transform.TransformDirection(Vector3.forward)*20;
    Ray ray = new Ray(origin, direction);
    Debug.DrawRay(origin, direction, Color.green);

    if (Physics.Raycast(ray, out hit, 100f))
    {
        objectCollided = hit.collider.gameObject.name;
        print(objectCollided);
    }
    else
    {
        string s = "Nothing hit by RayCaster";
        print(s);
    }
}

}

我尝试将相机及其容器放入世界画布,但它也没有工作。任何想法我可能会出错???我实际上看不到光线是否穿透了按钮,因为我只能在场景窗口中看到光线并且只能在游戏窗口中看到按钮。

4

0 回答 0