最近做了一个项目,需要造移动设备上打开相机,使用了下面这个方法
IEnumerator OpenCamera()
{
yield return Application.RequestUserAuthorization(UserAuthorization.WebCam);
if (!Application.HasUserAuthorization(UserAuthorization.WebCam)) yield break;
WebCamDevice[] devices = WebCamTexture.devices;
CamName = devices[0].name;
CameraCamTexture=new WebCamTexture(CamName,RectWidth,RectHeight,15);
CameraCamTexture.Play();
CameraTexture.texture = CameraCamTexture;
}
在unity编辑器上运行没有问题,导出到Android设备上也没有问题。但是,导出到IOS上就会出现相机界面上下竟然翻转过来。这种情况很明显就是unity调用相机的CameraTexture(RawImage)的Scale的y值是负数造成的,但我在编辑器上的确实是 1,只好在unity里把CameraTexture的Scale改成了-1,然后导出到IOS。好吧,没有问题了。
这个问题我很奇怪,不知是怎么回事。如果哪位大神知道,可以指导我一下。