天天看點

untiy 分屏加射線檢測

public class CameraRayTest : MonoBehaviour
{

    /// <summary>
    /// 錄影機1,需要拖入
    /// </summary>
    public Camera camera_1;
    /// <summary>
    /// 錄影機2,需要拖入
    /// </summary>
    public Camera camera_2;

    

    //聲明射線
    Ray ray_1;
    Ray ray_2;

    void Awake()
    {
        //這裡是分屏
        for (int i = 0; i < Display.displays.Length; i++)
        {
            Display.displays[i].Activate();
            Screen.SetResolution(Display.displays[i].renderingWidth,Display.displays[i].renderingHeight, true);
        }
    }


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

        if (Input.GetMouseButtonDown(0))
        {
            //切換主錄影機
            camera_1.tag = "MainCamera";
            camera_2.tag = "Untagged";

            ray_1 = Camera.main.ScreenPointToRay(Input.mousePosition, camera_1.stereoActiveEye);
            RaycastHit hitInfo;
            if (Physics.Raycast(ray_1, out hitInfo))
            {
                //點選左鍵發射的射線檢測到的物體
            }
        }
        if(Input.GetMouseButtonDown(1))
        {
            //切換主錄影機
            camera_1.tag = "Untagged";
            camera_2.tag = "MainCamera";

            ray_2 = Camera.main.ScreenPointToRay(Input.mousePosition, camera_2.stereoActiveEye);
            RaycastHit hit;
            if (Physics.Raycast(ray_2, out hit))
            {
                //點選右鍵發射的射線檢測到的物體
            }
        }

    }
}
           

繼續閱讀