我正在试验在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 () {
}
}
答案 0 :(得分:0)
如果我理解你的问题,相机就不会工作了,因为手机在Cardboard或Daydream耳机内,因此受到了物理障碍。