Kinect2.0配合Unity3D使用中获取AcquireLatestFrame()的一个坑

在最近做的项目中,希望配合使用Kinect2.0SDK,在Unity3d中获取捕捉到的人物的深度信息。

这里我想强调一个U3D中的坑,我让这个坑浪费的将近一天的时间。

在Kinect中,获取深度信息的流程,首先是

1.Sensor = KinectSensor.GetDefault();//获取一个默认的传感器

2.Reader = _Sensor.DepthFrameSource.OpenReader();//这里可以分为2步,可以先获取DepthFrameSoure(深度资源),然后利用深度资源,打开一个Reader的读取器

3.接下来的一步,就是从读取器中获取,我们想要的资源DepthFraam frame = Reader.AcquireLatestFrame();

坑就在这里,我们申请使用了frame,并将该函数放在了Update让他保证不断的更新,但是这里一定要记住,使用完以后,要在Update函数中每次都释放该资源      frame.Dispose();。
                                                                        frame = null;

我入坑的原因,就是在Update中释放该资源,从而导致没帧的运算中,都会申请大量的frame空间,导致层序看起来好像frame中的数据不再更新。

4.Unity中的另一个坑就是,当有些代码修改完成后,需要重新启动编辑器,才能看到我们修该的效果,我因为这个问题困了我好长的时间。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值