【发布时间】:2017-10-04 16:39:59
【问题描述】:
我目前正在使用 WebCamTexture 类来显示实时摄像机源,直到用户拍摄快照,然后我在我的应用程序中使用所述快照作为纹理。
这是我目前正在使用的代码:
private WebCamTexture cameraTexture;
private Texture2D snapshot;
public UITexture webCamTexture;
snapshot = new Texture2D(cameraTexture.width, cameraTexture.height);
snapshot.SetPixels(m_CameraTexture.GetPixels());
snapshot.Apply();
webCamTexture.mainTexture = snapshot;
注意:UITexture 类来自NGUI,只是为了在场景中显示纹理。
在 Android 设备上,似乎没有问题。但是,当我在 iOS 设备上使用它(在 iPad2 和 iPad3 上测试)时,纹理立即变为 设置时模糊。这是焦点问题吗?
我尝试了几件事,主要是在拍摄之前等待帧结束并在获取像素之前调用 cameraTexture.Pause(), 无济于事。
为什么 iOS 纹理会变得模糊?
【问题讨论】:
-
cameraTexture的请求大小是多少? -
我使用的大小不是由代码设置的,我只是将纹理应用到我制作的预制件上,具体取决于我使用的平台的分辨率。这不是全屏,如果你想知道的话。
-
做了一些进一步的测试。显然 Unity 支持的最大分辨率是 1280x720,不知道这是否有任何作用,因为我测试过的设备只有 1024x768 分辨率...有人吗?
-
好吧,iPad 有 2 个摄像头。 720p 是前置摄像头分辨率。
-
不确定分辨率是否真的是我的问题......当我显示实时摄像头时,它看起来很清晰,当我获取/设置像素时会出现问题,然后它才会变得模糊。
标签: ios unity3d textures webcam