使用网络摄像头拍照是黑色输出[Unity3D]

时间:2015-12-03 07:48:25

标签: c# unity3d

我在Stackoverflow问题Can I take a photo in Unity using the device's camera?中使用@Bart给出的代码进行了一些修改。但结果却是一张完全黑的照片。

我想补充一点,脚本附加到具有渲染器的多维数据集。 渲染器也被弃用了,因此我不得不使用GetComponents()。

2 个答案:

答案 0 :(得分:3)

我想现在你拍摄的时候,渲染没有完成,因为渲染发生在帧的后期。

您最有可能使用协程并等待帧的结束

yield return new WaitForEndOfFrame();

或使用渲染过程的相机的回调OnPostRender

答案 1 :(得分:1)

旁边

yield return new WaitForEndOfFrame();

在协程中调用可能会增加一些延迟。

对我来说,避免黑色输出有效(不是最优雅的解决方案):

yield return new WaitForEndOfFrame();
yield return new WaitForSeconds(1f); //Customize