using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class DeviceCamera : MonoBehaviour
{
bool camAvailable;
WebCamTexture backCam;
Texture defaulBackground;
public RawImage background;
public AspectRatioFitter fit;
private void Start()
{
defaulBackground = background.texture;
WebCamDevice[] devices = WebCamTexture.devices;
if (devices.Length == 0)
{
camAvailable = false;
return;
}
for (int i= 0; i< devices.Length; i++)
{
if (!devices[i].isFrontFacing)
{
backCam = new WebCamTexture(devices[i].name, Screen.width, Screen.height);
}
}
if (backCam == null)
{
Debug.Log("enabled to find camera");
}
backCam.Play();
background.texture = backCam;
camAvailable = true;
}
private void Update()
{
if (!camAvailable)
return;
float ratio = (float)backCam.width / (float)backCam.height;
fit.aspectRatio = ratio;
float scaleY = backCam.videoVerticallyMirrored ? -1f : 1f;
background.rectTransform.localScale = new Vector3(1f, scaleY, 1f);
int orient = -backCam.videoRotationAngle;
background.rectTransform.localEulerAngles = new Vector3(0, 0, orient);
}
}
0 komentar:
Posting Komentar