如何在 Unity 中从设备 select 前置摄像头

how to select front camera from device in Unity

好吧,我对 Unity 还是个新手,对纹理是个真正的菜鸟,但我设法使用了设备的摄像头(使用本文末尾的代码 post)

问题是我想在使用智能手机设备时使用前置摄像头。 有菜鸟的方法吗?

感谢您的关注、时间和帮助<3

using UnityEngine;
using UnityEngine.UI;

public class CameraScript : MonoBehaviour
{
    static WebCamTexture backCam;

    void Start()
    {
        if (backCam == null)
            backCam = new WebCamTexture();

        GetComponent<Renderer>().material.mainTexture = backCam;

        this.GetComponent<RawImage>().material = this.GetComponent<SpriteRenderer>().material;

        if (!backCam.isPlaying)
            backCam.Play();

    } 
}

这是在 Unity 中使用前置摄像头的方式:

public class CameraScript : MonoBehaviour
{    
    WebCamTexture = null;

    void Start()
    {
       WebCamDevice[] devices = WebCamTexture.devices;

       foreach (var device in devices) {
         if (device.isFrontFacing) {
           webCamTexture = new WebCamTexture(device.name);
         }
       }
 
       if (webCamTexture == null) {
         webCamTexture = new WebCamTexture();
       }
    }
}

如果没有可用的前置摄像头,那么 WebCamDevice 默认为我提供的示例中的空构造函数 WebCamTexture

最好参考 Unity 文档,尽管它并不总是最好的文档。

这是 WebCamTexture 文档。

这是 WebCamDevice 文档。

Unity forums 也包含丰富的信息,根据问题,Unity 引擎开发人员有时会回答问题。