【发布时间】:2015-12-03 07:48:24
【问题描述】:
我在 Stackoverflow 问题Can I take a photo in Unity using the device's camera? 中使用了@Bart 给出的代码,并进行了一些修改。但结果是一张全黑的照片。
我想补充一点,脚本附加到具有渲染器的立方体上。 渲染器也被弃用了,因此我不得不使用 GetComponents()。
【问题讨论】:
我在 Stackoverflow 问题Can I take a photo in Unity using the device's camera? 中使用了@Bart 给出的代码,并进行了一些修改。但结果是一张全黑的照片。
我想补充一点,脚本附加到具有渲染器的立方体上。 渲染器也被弃用了,因此我不得不使用 GetComponents()。
【问题讨论】:
我想在你拍摄的那一刻,渲染还没有完成,因为渲染发生在帧的后期。
您很可能应该使用协程并等待帧结束
yield return new WaitForEndOfFrame();
或者使用来自正在渲染进程的摄像头的回调OnPostRender。
【讨论】:
另外
yield return new WaitForEndOfFrame();
在协程中调用可能需要添加一些延迟。
对我来说避免黑色输出工作(不是最优雅的解决方案):
yield return new WaitForEndOfFrame();
yield return new WaitForSeconds(1f); //Customize
【讨论】: