除了上一篇中的UserBodyBlender外,还可以用OverlayController来显示摄像头的视图
1、新建一个空对象,命名为KinectController,在此对象上绑定KinectManager、KinectGestures、OverlayController
2、将KinectManager上的ComputeColorMap和UseMultiSourceReader勾选上
3、设置Main Camera(这里的摄像头作为一个Foreground Camera)
(1) 将Clear Flags设置为Depth only
(2) Culling Mask 设置为 除Everything外的其他选项都勾选上
(3) Clipping Plans 的Near设置为0.1 Far设置为10
(4) Depth设为0
新建一个camera,命名为BackgroundCamera
(1)将Clear Flags设置为Solid Color
(2)Culling Mask设置为Everything
(3)Depth设为-1
4、将OverlayController中的BackgroundImage的类型更改为RawImage或Image
如果改为RawImage则
if (backgroundImage.texture == null)
{
backgroundImage.texture = manager.GetUsersClrTex();
}
如果改为Image则
if(backgroundImage.GetComponent<Image>().material.mainTexture==null){
backgroundImage.GetComponent<Image>().material.mainTexture=manager.GetUsersClrTex();
}
5、在场景中新建一个Image或RawImage,然后将两个Camera和Image跟OverlayController关联上,然后运行即可
显示的图像可能是上下颠倒的,在这里我只是将image的Rotation的X改为了180