2019-03-27 17:19:14 pretty_h 阅读数 880
  • Unity 值得看的500+ 技术内容列表

    Unity3D是由Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。

版权声明:若侵权请联系删除,转载请备注 https://blog.csdn.net/gheartsea/article/details/85118415
研究这个问题的初衷:
1.公司要做一个识别3D物体的案例,参考了各个平台,发现EasyAR和Vuforia支持3D物体识别与追踪。
2.刚开始用EasyAR做,但做了一半发现有一定的限制:
1).必须Pro版本的EA插件才能支持3D物体识别与追踪;
2).Pro版本虽然可以免费试用,但是每天限制100次(应该是100次识别),当然如果公司有钱,那么就花
2999软妹币去买一个授权吧,仅限一个程序试用;
2.于是转Vuforia开发。

前期硬件准备工作:
1.安卓机一台
2.电脑、软件就不说了
3.安卓机扫描3D物体的Scanner工具包下载:https://developer.vuforia.com/downloads/tool
下载包内有安装apk和扫描用的pdf底图(A4-ObjectScanningTarget.pdf),用A4纸打印出来即可,没有这个图纸无法扫描。
(就长这个样)
在这里插入图片描述

4.要扫描识别的实物模型!!!实物!!!实物!!!用作录制。(EasyAR可以直接用3dmax建模出ob模型,不需要实物模型录制)

开始扫描录制:
1.扫描的物体放在打印出来的A4纸右上角灰色区域内。安卓机打开Scanner,选择右上角的“+”键。
在这里插入图片描述
2.手机对准物体,会出现“红绿蓝”的坐标轴在屏幕中。
在这里插入图片描述
3.点击右侧的扫描按钮,开始扫描物体。
在这里插入图片描述
4.旋转A4纸,手机扫描。直到半圆全部变绿。手机如果难变绿的方位可以适当聚焦调节手
机角度,直至成功。
在这里插入图片描述
5.结束录制。保存。手机文件夹选择/VuforiaObjectScanner/ObjectReco/***.od文件,并复
制到电脑上。

上传并导出包
1.上传地址:https://developer.vuforia.com/targetmanager/project/checkDeviceProjectsCreated
2.
在这里插入图片描述
3.可以添加多个扫描物体,我这边扫描添加了两个
在这里插入图片描述
4.下载为***.unitypackage包。
在这里插入图片描述

开始开发:
1.首先导入下载的Vuforia For Unity插件,下载地址:https://developer.vuforia.com/downloads/sdk#downloadModal
(导入时如果有报错请参考我的另一篇博文中的开发注意事项环节,传送门:https://blog.csdn.net/gheartsea/article/details/85115305)
2.导入上一步中导出的***.unitypackage包。
3.删除Main Camera,导入ARCamera、ObjectTarget两个预制体到Hierarchy面板。并在ARCamera中点击Opern Vuforia configuration配置Vuforia。
在这里插入图片描述
在这里插入图片描述
4.配置识别物体,看图。
在这里插入图片描述
5.测试是否成功。ObjectTarget1和2分别创建一个子物体。当识别到的时候就会显示出来(系统的默认代码是查找子物体的 Collider组件和MeshRenderer组件,未识别时则禁用这两个组件,则隐藏。识别到的时候则启用,所以就能显示了。)。

在这里插入图片描述
打包发布问题
1.可直接发布移动端程序,配置好环境按要求发布即可。
2.如果想发布pc端,不好意思,比较麻烦那么请看传送门:https://blog.csdn.net/gheartsea/article/details/85115305

作者:Guido Kuo
来源:CSDN
原文:https://blog.csdn.net/gheartsea/article/details/85118415
版权声明:本文为博主原创文章,转载请附上博文链接!

参考以上教程,已经完成Demo

2015-11-11 23:15:08 zddxmu 阅读数 10205
  • Unity 值得看的500+ 技术内容列表

    Unity3D是由Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。

1 前言

上一篇笔记中提到Object Recognition例程中没有任何预设好的对象,需要开发者自己利用Object Scanner这个工具来扫描创建。本文就详细记录下扫描物体的操作,并且在文末给了一个大宝SOD蜜的实例。

具体详情可以看官方指南https://developer.vuforia.com/library/articles/Training/Vuforia-Object-Scanner-Users-Guide

2 Object Scanner的介绍

Object Scanner是用来扫描3D物体的Android程序,Object Scanner可以输出对象数据文件(*.OD),它包含了在Target Manager定义一个对象所需要的源数据。Object Scanner可以产生、测试、修改OD文件。它提供了诸如外表面的涵盖对象特征的一个具象。

支持设备:Galaxy S5和Google Nexus 5,Android 4.2以上,其他的Android手机可能不支持。
注意打光一定要均匀。

3 扫描工作流

对象扫描工作流大概可以这么分四步:
1.准备-App及现场环境
2.扫描-从各个角度扫描对象
3.测试-在APP上评估已扫描的对象
4.OD文件上传-将OD文件上传到Target Manager

这几步,官方都有详细的介绍:
第1步,https://developer.vuforia.com/library/articles/Solution/How-To-Setup-an-Object-Scanning-Session
这里需要制作一个底板,只要用官方文件按原尺寸打印就好。
这个底板是为了锁定扫描对象的位置坐标,左下角是扫描对象区域坐标的原点,与Object Target prefab中的bounding box的原点是重合的。单位是mm,这个单位和后面开发的场景一致,也用来衡量物体的实际大小。

第2步,https://developer.vuforia.com/library/articles/Solution/How-To-Scan-an-Object-and-Create-an-Object-Data-File
扫描生成OD文件,总共分这4步:
a.打印Object Scanning Target
b.放置打印好的背景
c.将对象放入
d.扫描对象
在b中,扫描对象需要放在底板的原点。如果超过了坐标,那么就要扫描两次,程序会自动合成两次扫描的结果。扫描的话,只要让摄像头围绕对象做密集的扫描,一旦扫描到特征在缩略图就会有绿点分布,绿点越多越密集,则识别的准确性就更高,且更快速,能加强用户体验。

第3步,https://developer.vuforia.com/library/articles/Solution/How-To-Test-the-Results-of-an-Object-Scan
测试,其实很简单,把底板拿掉,将扫描对象放在别的地方,用APP的TEST菜单操作,看能否识别到对象的原点。

第4步,https://developer.vuforia.com/library/articles/Solution/How-To-Edit-and-Upload-Object-Data-Files
APP中将OD数据分享至PC,再上传到Target Manager。

需要特别注意的是,我用傲游浏览器上传了两次都不成功,改用chrome上传就搞定,3.3M的OD文件大概花费了几分钟。

4 操作实例-大宝SOD蜜

我这边随手拎了一瓶大宝来做测试,即便夜晚灯光效果很差,甚至还带阴影,但Object Scanner依然效果强劲,分分钟识别出了这个瓶子。

图1:扫描中

图2:扫描完成

图3:测试

2017-11-21 10:15:29 wszhenghui521 阅读数 6209
  • Unity 值得看的500+ 技术内容列表

    Unity3D是由Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。

上篇讲到了各种AR插件的一些对比

因为上个项目需求用到3D物体追踪。所以使用了EasyAR和Vuforia两种进行了测试对比。

因为如果需要AR识别,都需要有识别点,大致都是基于物体材质纹理来进行识别。


1.先讲一下EasyAR的3D物体识别

这个平台的3D识别是需要你上传一个与现实物体一样的OBJ模型的格式

  • 模型包括一个OBJ (.obj)文件以及相应的MTL (.mtl)文件和纹理贴图文件,并放在同一个目录下;
  • 纹理贴图文件支持.jpg和.png格式;
  • 文件名以及文件内部的路径不能有空格;
  • 文件应使用 UTF-8 格式编码;

详情见官网使用手册http://www.easyar.cn/doc/EasyAR%20SDK/Guides/EasyAR-3D-Object-Tracking.html?highlight=3d



2.vuforia的3D物体识别

这个平台的AR简单来说你需要下载一个APP到安卓手机上,来用于扫描需要识别的物体。

然后把这个识别信息从手机上这个APP上上传,用电脑下载该3D物体信息的unity包导入。


总结来说,如果你有安卓手机的话,使用vuforia来进行3D物体识别不那么麻烦,因为你不需要建模。

2016-04-14 15:41:22 senwj 阅读数 8231
  • Unity 值得看的500+ 技术内容列表

    Unity3D是由Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。

版权声明:本文为博主原创文章,未经博主允许不得转载。


最近公司需要增强现实项目,选用vuforia和metaio这2种。

U3d高级开发群:391743638
欢迎加入讨论!



▲,vuforia:
下载sdk,Scanner它是一个Android APP,是配合Object Recognition来使用的。这两个是相辅相成,缺一不可的。Object Scanner主要是为Object Recognition识别的3D物体提供数据。经过一定步骤操作之后,数据将会保存在SDCard中。操作步骤如下所示:
1、下图是Object Scanner的标志图片,将其打印出来,放在桌面上



2、然后将Object放到右上角坐标轴区域


3、打开应用,点击右上角+,打开摄像头进行扫描。
会看到很多面片组成的3维图形将Object包围。这些面片分别代表Object的区域。当某个区域识别完成或者说,数据获取成功之后,该面片由灰色变成绿色。

采集的一些数据,比如特征点数量,od文件大小,日期,名称等。其中特征点数量越多,识别结果越准确,精度越高,用户体验越好。
4、上传到vuforia网站


5,运行当前的案例即可看到相对应的物体跟随效果


总结:这里还是存在一些弱点的,比如大物体,但是对于物体的模型都都是有影响的


▲,metaio:


1:制作CAD制图识别,打开Meatio Creator,



2:导入已有的模型





3:完成后导出zip压缩文件,将此替换StreamingAssets文件夹下的TutorialEdgeBasedInitialization


4:运行unity,
之前的画面

显示出来的画面


5,后面延伸到一些具体的项目中,比如对于这种塑模的色差的识别上



能识别很高的中间物体。


总结:这个识别效果还是非常棒的,可惜就是不能更新了,特别是到了unity5.3的版本运行时候,导出pc端的文件,画面不能显示出来,具体问题可以加上面的群,一起交流。
2019-04-18 15:14:47 weixin_41814169 阅读数 2086
  • Unity 值得看的500+ 技术内容列表

    Unity3D是由Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。

第一步:

 

打开高通文档说明仔细阅读:https://library.vuforia.com/articles/Training/Vuforia-Object-Scanner-Users-Guide

 

第二步:下载安卓版本的手机apk,这一步是Vuforia提供的apk,下面我给一个地址

 

链接:https://pan.baidu.com/s/1zTuOcBLpxEwL0fq6jHvzzA 


提取码:n7ls 

 

安装好。

 

第三步:打印出来一张这个纸,A4大小的就可以。

 

第四步:手机扫描

尽可能多扫出来一点这个绿色的方框

然后点击Test测试一下

如果可以使用旁边会出来一个绿色的长方体

然后就可以分享给自己的电脑,会有一个.ob的文件

 

 

第五步:打开Vuforia官网,其他步骤都是一样的,到选择物体的时候

 

然后,下面会让你选择:

File:选择刚才的.ob文件

然后点击ADD

其他的步骤都是一样的,最后会出来一个

 

第六步:关于Unity中Vuforia的sdk导入问题,如果你unity版本大于等于2017则不用独立导入sdk,只需要选择:

勾选即可,在你选择Vuforia组件的时候,会自动导入。

关于这个问题,我弄了半天,在商店下载各种vuforia的案例,以寻求里面带有sdk

 

第七步:

 

 

其他的不需要多设置什么。

 

需要注意的是:Vuforia 在pc端跑的时候不能够运行ARCamera,需要打包出来APK在手机上跑才可以。

 

效果图:

现在暂时没有用这个开发项目,我想这个在识别3D的真实物体的时候,会比Img的3D物体理想很多。当然,后面还可以对模型进行一些操作,增加项目的丰富性。

 

AR 教学视频汇总

阅读数 2267