目前需要开发者手动调整渲染模型大小
3DMarker下,模型和实物怎么匹配大小,让模型完美的叠加到实物上去https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/visionkit/marker.html
11-12官网机型数据更新较慢,实际支持机型的基本每月都在增加,同时有新接口支持开启白名单外的设备,可以关注下
6dof功能对新手机型号的适配问题https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/visionkit/plane.html 6dof能力的手机型号适配已经很久没有更新了,骁龙8gen2,骁龙8gen3等CPU型号的新手机请问什么时候能更新?
11-12收到,我们后续评估修复,建议先关闭竖直检测能力再使用jpg能力接口
frame.getCameraJpgBuffer在ios端有兼容性问题 获取到buffer为空官方vk demo里有提供接口案例 “相机帧获取jpg图片” 中 如果将mode改为3 检测横向和纵向平面的情况下 frame.getCameraJpgBuffer 在某些ios端会有兼容性问题 获取到的buffer是空的 拿到的图也是黑的 (实测:ios 16.6.1 iphone 11pro ios 18.0 ipone12 不行 很多ios都有问题 也有例外 ios17.2.1 iphone12pro max 是好的 可自行观察) [图片] [图片]
10-14新版本接口支持在白名单外的机型以默认参数强制运行v2平面,可关注官方api文档
V2平面AR接口支持列表可以扩展华为mate 60 系列吗https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/visionkit/plane.html
10-14收到,方便的话提供下崩溃时间和微信号,我们这边查下日志确认下崩溃原因
VKSession2D人体检测在iOS端发热后导致微信本体崩溃?设备:iPhone14 pro max ios版本:17.6.1 微信版本:8.0.52 复现流程: 打开小程序示例小程序(官方demo),打开实时人体检测页面,对着一个人体拍,手机会慢慢发热,几分钟后微信和小程序会直接一起崩溃掉。在手机本身就比较热的情况下测试,会在相机画面出现的几秒种内直接崩溃掉。 另外,在安卓低中端机器上也会遇到发热导致的性能问题,但是只是有卡顿,没有遇到过崩溃的现象。 希望负责这个模块的大佬能优化下性能,起码对于iPhone14promax来说过热崩溃接受不了啊。 代码: 参考小程序示例小程序(官方demo)的源码。类似于下面这样: // 创建session const session = this.session = wx.createVKSession({ track: { plane: { mode: 3 }, body: { mode: 1 } }, gl: this.gl, version: 'v1', }); // 开启 session.start(); // 逐帧渲染 const onFrame = now => { const mill = now - last; // 经过了足够的时间 if (mill >= fpsInterval) { //校正当前时间 last = now; const frame = session.getVKFrame(canvas.width, canvas.height) if (frame) { this.render(frame) } } session.requestAnimationFrame(onFrame) } session.requestAnimationFrame(onFrame) 补充: 在iPhoneX 微信版本8.0.50 iOS版本16.7.10的机器也做了测试,持续了五分钟也没有崩溃,手机确实是在持续发热。 在iPhoneX机器上把微信版本更新到8.0.52后,机器发热的状况下仍然持续两分钟未闪退。由于我没有更多的测试机器,所以暂时只能怀疑ios版本17.6.1与iOS版本16.7.10的区别,导致的14promax闪退现象。
10-14该能力为相对深度估计,无法得到物理深度值
小程序中有深度估算功能,如何得到图像深度图?深度估算代码如下,我想得到图像画面中像素点对应的深度数据,但是不知道如何获取。 算法实时输出当前帧的深度图,每一帧像素的值代表当前的深度值,颜色越黑,代表距离摄像头越近,反之颜色越白,代表距离深度越远。 我需要具体的深度数据,而不是颜色的深浅。 const session = wx.createVKSession({ track: { depth: { mode: 1 // mode: 1 - 使用摄像头;2 - 手动传入图像 }, }, }) // 需要调用一次 start 以启动 session.start(errno => { if (errno) { // 如果失败,将返回 errno } else { // 获取每一帧的信息 const frame = session.getVKFrame(canvas.width, canvas.height) // 获取每帧的深度图信息 const depthBufferRes = frame.getDepthBuffer(); const depthBuffer = new Float32Array(depthBufferRes.DepthAddress) //创建渲染逻辑, 将数组值传输到一张纹理上,并渲染到屏幕 render() } })
10-14渲染是用的webgl的渲染,可以直接参考小程序demo源码
怎么才能开发出一个实时人脸检测的功能 ?我看文档 应该是使用createVKSession来进行人间检测 使用session.on监听检测到的人脸 然后获取vkframe进行渲染 但是vkframe怎么进行渲染我完全查不到相关文档啊 求助
10-14开发者可以通过调整视口裁剪掉边缘
VisonKit的官方demo,相机页面的边框线怎么去掉?可以清楚的看到有条边框,请教一下如何去掉这条边框线? [图片]
10-14现在还有问题吗,方便可以提供下微信号我们确认下问题
微信SDK VKSession 人体检测,华为mate40 下无法正常启动华为mate40 打开微信官方demo小程序,使用实时人体检测,没有画面,黑屏,请问这是什么原因呢 系统版本:HarmonyOS 4.2.0 微信版本: 8.0.50 [图片][图片]
09-23本身设备运行案例没问题的话,请自查自己的小程序代码,这里可能是没申请相机权限
wx.createVKSession 无法唤起摄像头?[图片] 直接把文档测试代码拷贝使用, 右上角提示摄像头已经打开,可以实际并没有打开 const session = wx.createVKSession({ track: { OCR: { mode: 1 } // mode: 1 - 使用摄像头;2 - 手动传入图像 }, }) console.log(session) // 摄像头实时检测模式下,监测到文字时,updateAnchors 事件会连续触发 (每帧触发一次) session.on('updateAnchors', anchors => { console.log('anchors.text',"".concat(anchors.map(anchor=>anchor.text))) }) // 当文字区域从相机中离开时,会触发 removeAnchors 事件 session.on('removeAnchors', () => { console.log('removeAnchors') }) // 需要调用一次 start 以启动 session.start(errno => { if (errno) { // 如果失败,将返回 errno console.log(errno,'如果失败,将返回 errno') } else { // 否则,返回null,表示成功 console.log('否则,返回null,表示成功') } })
09-23