WebCamTexture没有在Daydream(Pixel的设备相机)上显示?

时间:2017-01-25 17:58:31

标签: unity3d google-vr daydream

我正在试验在Unity构建的Daydream应用中使用设备相机(Pixel phone)实时视频节目。在Unity中我尝试了WebCamTexture,当在PC上在Unity中运行测试时,WebCamTexture会捕获网络摄像头源,但是当我将应用程序构建到Daydream / Cardboard时,没有摄像头源。但是,如果检测到任何相机,我确实打印了一个画布/文本,如果是,则确定相机的名称。在Daydream应用程序运行时,检测到2个摄像头(摄像头0,摄像头1),但未显示图像。有没有人有想法/建议如何解决这个问题?以下是我在C#中编写的代码,并将其附加到Unity Plane / Quad,并且还引用了Canvas Text。

using UnityEngine;
using System.Collections;
using UnityEngine.UI;

public class tWebCam : MonoBehaviour
{
    public Text textPanel;
    WebCamTexture mCamera = null;

    public GameObject camPlane;
    // Use this for initialization
    void Start ()
    {
        WebCamDevice[] devices = WebCamTexture.devices;

        //camPlane = GameObject.FindWithTag("Player");

        if (devices.Length > 0)
        {
            mCamera = new WebCamTexture(devices[devices.Length-1].name, 1920, 1920, 30);
            camPlane.GetComponent<Renderer>().material.mainTexture = mCamera;

            mCamera.deviceName = devices[devices.Length - 1].name;
            Debug.Log(devices.Length);
            Debug.Log(mCamera.deviceName);
            mCamera.Play();
            textPanel.text = "# of devices: " + devices.Length.ToString() + "; Device 1: " + mCamera.deviceName;
        }
        else
        {
            textPanel.text = "No device detected...";
        }


    }

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

    }
}

1 个答案:

答案 0 :(得分:0)

如果我理解你的问题,相机就不会工作了,因为手机在Cardboard或Daydream耳机内,因此受到了物理障碍。