如何用Unity制作AR程序?

Jyadmin 提交于 周六, 10/08/2022 - 13:18

 

实现功能:用手机扫描一个图片,然后会出现一个AR物体,当然这物体是你自己设置的模型。

首先说如何制作一个AR的APP需要准备什么,easy ar这个插件,我用的版本是2.2.0的;unity我用的是unity2018.2.3的;

 

在做项目之前,要去easyar的官网注册一个账号,之后去开发中心,添加一个SDK的key,会自动获取到一个sdk的license key。这个很重要,之后会用到的。

 

如何用Unity制作AR程序

 

当然这个名字是有讲究的,和unity打包时候那里的公司名字一样,如上图中

 

用Unity制作AR应用用Unity制作AR应用

 

然后就打开untiy导入easy ar的插件进去,从prefabs里找到EasyAR_Startup和ImageTarget两个物体然后拖进场景里。

 

同时把你要扫描的图片放到一个名为:StreamingAssets的文件夹里,如果没有这个文件夹就新建一个。注意:文件夹名字必须是StreamingAssets

 

我在这里放了很多图片,本案例只用名为zl的图片做例子,如图:

 

用Unity制作AR应用

 

在EasyAR_Startup的属性里把刚在官网里申请到的key复制过来,放到key的里面。如下图:

 

用Unity制作AR应用

 

在ImageTarget的下面放一个物体(这个物体就是你扫描图片要显示的物体,作为ImageTarget的子物体),本案例里放了一个球体。

 

默认拖到场景里的ImageTarget在Scene里是看不到东西,我们可以给它加一个材质球,假如我这里新建的叫mat的材质球,材质球用的就是即将扫描的那张名为“zl的”图。。。然后赋值给它,如图:

 

用Unity制作AR应用

 

默认的ImageTarget自己带的脚本是ImageTargetBehaviour。当我们调整ImageTargetBehaviour里的size这个参数时(例如大小设置为3),我们就会在Scene场景中看到图片了。如图:

 

用Unity制作AR应用

 

继续配置ImageTargetBehaviour里的参数

 

path 需要把StreamingAssets路径下的那张图片的全名写上包括图片格式,例如本案例的zl.png

 

Name 就是该路径下这个图片的名字

 

Storage 选择为Assets

 

loader这个地方去选择场景里的EasyAR_Startup这个物体下的名为ImageTracker的子物体。

 

上述步骤,如下图:

 

用Unity制作AR应用用Unity制作AR应用用Unity制作AR应用

 

至此所有的开发内容完成,接下来就是打包的配置了,在playersetting里面的公司名字这里写上我们最开始在easy ar的官网设置的项目的名字。如图:

 

用Unity制作AR应用
用Unity制作AR应用

 

之后就是普通的安卓打包过程了,这里不再赘述。然后安装后,记得给app访问摄像头的权限,然后进入app用手机扫描你设定的图片就会看到你想显示的东西。例如案例里的扫描zl那张图就会有一个球体出现在画面里。

 

注意:显示的物体不要太大而把图片给遮挡的太多了。遮挡多了就采集不到图片的信息了。合理调整图片和模型的比例以及位置。