今天在用unity的时候发现一个bug,就是如果用WebCamTexture调用了电脑连接的摄像头(kinect),第一次运行摄像头画面是正常的,第二次运行摄像头画面一片黑,从windows自带的相机程序打开摄像头会显示摄像头被占用。关闭unity后恢复正常。
猜测可能是unity工程在停止运行后没有停止对摄像头的调用,导致摄像头处在被占用的状态无法使用。解决办法也很简单,在脚本中加上停止的代码就可以了。
WebCamTexture tex;
private void OnDestroy()
{
tex.Stop();
}