AR demo 简单的平面图像识别

通过Vuforia的SDK在Unity中实现AR应用,包括下载安装、配置License Manager和Target Manager,创建并选择高识别度的目标图片,导入数据库和3D模型,最后部署到Android设备上进行演示。



1. 首先到Vuforia的官网下载SDK,安装好最新版本的unity 以及下载好 android SDK。


我这里用到的是5-5-9版本。


2. 在官网的develop分栏里配置好自己的License Manager 和 Target Manager , 如果要使用Vuforia的云识别服务是要收费的,官网有收费标准。这里用免费的就好。


3.关于target , 也就是需要识别的图片,会有星级来表示可辨识度的高低,一般最少需要四颗星,否则识别起来可能会效果不佳,关于如何提高图片的星级,可以看我的其他微博。



4.进入Unity ,将Vuforia的SDK添加到unity,删除原来的main camera, 添加ARcamera 和 ImageTarget



5.配置好ARcamera的License key



6.从官网的target manager 下载需要识别的target包 , 导入到项目中。


7. 勾选ARcamera下 Database load behaviour => Load "your cloud database name" Database 以及 Acticate



8.导入模型  随意什么模型都可以 但是要放在ImageTarget下


9. ImageTarget下,选择database为 'your Vuforia cloud d

### 微信小程序 AR 功能 示例代码 和 教程 #### 使用 Kivicube 平台实现零代码微信小程序 AR 效果 为了在微信小程序中集成AR效果,可以通过Kivicube平台完成这一过程。开发者仅需将小程序的AppID授权给Kivicube,在微信小程序后台设置完毕后,利用微信开发工具调用SLAM第三方组件进行调试[^1]。 ```javascript // app.js 中配置 AppID 授权信息 App({ onLaunch: function () { console.log('App Launch'); }, globalData: { appId: 'your-app-id-here' // 替换成实际的小程序AppID } }) ``` 接着,在页面文件夹下的`index.json`中引入必要的插件: ```json { "usingComponents": { "kivicube-slam": "plugin://slam-plugin/slam" } } ``` 对于具体的页面逻辑处理,则可以在对应的`.js`文件里编写如下代码来初始化并启动 SLAM 组件: ```javascript Page({ onLoad() { const slam = this.selectComponent('#slam'); slam.start(); }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady() { }, /** * 生命周期函数--监听页面显示 */ onShow() { }, /** * 生命周期函数--监听页面隐藏 */ onHide() { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom() { } }); ``` #### 基于 xr-frame 实现图片扫描识别 AR 功能 另一种方式是采用微信官方提供的 `xr-frame` 来构建更加定制化的AR体验。此方法主要依赖于对现有示例——即“平面识别叠加 Marker 案例”的改造,允许用户自定义加载本地图像和3D模型作为增强现实的内容[^2]。 以下是创建一个简单的基于图片扫描触发AR视图的例子: 首先准备好所需的素材(如PNG/JPEG格式的照片以及OBJ/USDZ等形式的三维物体),并将它们放置在一个易于访问的位置;随后参照以下模板调整项目结构与源码: ```html <!-- index.wxml --> <view class="container"> <button bindtap="startScan">点击开始扫描</button> <!-- XR Frame Container --> <xr-ar-basic id="arView" hidden="{{true}}" /> </view> ``` ```css /* index.wxss */ .container { display: flex; justify-content: center; align-items: center; height: 100vh; } .xr-ar-basic { width: 100%; height: 100%; } ``` ```javascript // index.js const arBasic = requirePlugin('xr-ar-basic'); Page({ data: {}, startScan(e) { wx.chooseImage({ count: 1, success(res) { const tempFilePaths = res.tempFilePaths; // 设置XR场景参数 arBasic.setOptions({ markerImagePath: tempFilePaths[0], modelUrl: '/models/sample.obj', // 更换为您的3D模型路径 }); // 显示XR Viewport & 开始追踪 this.setData({ showArView: true }); arBasic.startTracking(); } }) } }); ``` 上述两部分分别介绍了两种不同技术路线下如何快速搭建起具有基础功能的小程序AR应用实例。每种方案都有其特点,可以根据具体需求选择合适的方法实施。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值