wechat-miniprogram / miniprogram-demo

微信小程序组件 / API / 云开发示例
https://developers.weixin.qq.com/miniprogram/dev/index.html
MIT License
6.65k stars 2.12k forks source link

AR 3D marker的map是什么格式? #133

Closed blaesus closed 7 months ago

blaesus commented 8 months ago
image

文档里说,「3D Marker……需要手动制作3D Marker的识别目标文件(.map文件)」。

这个识别目标文件,是什么格式的文件? 有没有哪里讲了怎样制作? gltf和map文件的关系是啥,用了一个就不用另一个,还是两个都要有?

感谢!

社区里也有朋友问过,没有发现答案: https://developers.weixin.qq.com/community/develop/doc/000ac257d542a0c30e9ea768b53400 https://developers.weixin.qq.com/community/develop/doc/000ce0534b4a400a1a4f2c4d25b800

@roamzhen —— @一下3D marker demo的一位作者。

roamzhen commented 7 months ago

目前可以直接通过小程序示例,里面3d marker案例生成。相当于是免费内置了一个简单的生成服务。 这个文件算是一个二进制文件,外部不需要理解格式。硬要说的话,是基于视频生成的,用户识别用的一系列特征点(类似点云)。vk的 marker 识别逻辑会直接解析这个 map 文件。 glTF 可以理解是基于这些特征点,拟合生成的三维模型,可以直接通过各类渲染引擎(比如xr-frame),直接渲染出来。 map文件 和 glTF 文件 可以理解是基于同一份视频,得到的两种类型不同的产物,两者之间是没有关系的,可以分别使用。

congfamin commented 7 months ago

这是来自QQ邮箱的假期自动回复邮件。   您好,我最近正在休假中,无法亲自回复您的邮件。我将在假期结束后,尽快给您回复。

blaesus commented 6 months ago

@roamzhen 非常感谢!我想追问一个问题,不知道您能不能指个路:我现在在用2d marker,然后有识别目标的那个平面,距离手机摄像头一般比较原,这样就导致识别marker不到。用户只能把手机贴着对面才能识别。我希望能「数码放大」摄像头的输入,或者说截取摄像头中间的那一部分用来识别,不知道在现行的vksession或者xr-demo体系内可以实现吗?应该改哪个参数? 也是搜了一下社区没发现答案。谢谢!

roamzhen commented 5 months ago

目前没有这种能力,支持这个估计涉及到基础相机组件的改动。