Easy AR简单教程
1、ImageTarget的制作
(1)、导入EasyARSD包,删除Main Camera,将预制的EasyAR_Startud和Image Target拖入Hierarchy视图中
(2)、在EasyAR_Startud的EasyARBehaviour组件中添加在EasyAR官网获得的Key
(3)导入识别图到StreamingAssets中,并找到StreamingAssets文件下的targets.Json文件,用VS打开进行修改,注意此时的修改方法
Image:图片的文件名
Name:你给此图片取的名字
Size:识别图大小
一个工程文件中只需要一个json文件就可以了,因为一个json中可以定义多张识别图,需要注意的是,导入的图片以及视频都要放在StreamingAssets中,
但是,开始导入的时候不要放到StreamingAssets中,原因后面会说
更多的修改方式可参考本网址
http://www.easyar.cn/view/docs/Guides/EasyAR-Target-Configure.html
(4)接下来是填写TmageTarget的EasyImageTargetBehaviour组件信息(值得注意的是大家如果去官网下载的SDK对于这个组件会有比较麻烦的操作,我上传的SDK已经帮大家解决了这个问题),填写规范
Path:json文件名字(我给大家的都是targets名字,没有必要去改)
Name:就是你在json文件修改中你给识别图定义的那个名字
Size:识别图大小
特别注意:storage一定要选择Assets,这样才能读取StreamingAssets下你导入的识别图
此时我们会发现ImageTarget是一片紫色的,所以我们要制作一个材质球,然后将对应的识别图片贴上,然后再给ImageTarget
点击Albedo选择你要的识别图片,也是你在EasyImageTargetBehaviour组件中填写的那个图片,
在这里可能出现的一种情况就是在StreamingAssets下的图片及视频有可能无法被获取,所以我们导入的时候不把文件直接放入StreamingAssets中,而是当我们对材质球进行贴图之后再把图片和视频放进StreamingAssets中。
此时的ImageTarget就是我们想要的的图片了
关于ImageTarget就已经做好了
如果要做多张识别图,复制ImageTarget然后修改EasyImageTargetBehaviour组件信息就可以了
二、关于3D模型的呈现和视频的播放
(1)3D模型
将你的3D模型放入ImageTarget作为其子物体就可以了,其他的动画以及其他效果赋给3D Object就可以了
(2)视频
在ImageTarget下添加一个3D Object ->Plane, Plane的大小决定了你的视频大小,所以大家适当调整你的Plane大小,然后是把EasyAR-> Scripts->VideoPlayerBehaviour这个脚本赋给Plane
然后进入Plane的inspector视图,进行VideoPlayerBehaviour的信息键入
Path:视频名字,尽量是mp4格式
Video scale Mode设置为充满。
下面三个根据需求来选吧,
需要注意的还是Storage也要选为Aseets。视频播放必须移植到移动端,easyAR目前不支持视频播放在PC和mac的直接调试
在Pc端调试时如果出现Game视图显示为这样,证明算是成功了
然后是生成APK的时候,PlayerSettings->Other Setting的bundle identifier修改一定要和你生成的的Key相匹配
然后是打包的时候如果出现以下错误警告
Incompatiblegraphics API detected! Please uncheck "Auto Graphics API" (if notdone by EasyAR) and rebuild, or EasyAR may not work as expected (e.g. whitescreen).
UnityEngine.Debug:LogError(Object)
PostBuild:OnPostprocessBuild(BuildTarget,String) (at Assets/EasyAR/Scripts/Editor/PostBuild.cs:67)
UnityEditor.HostView:OnGUI()
在PlayerSettings->OtherSetting中Auto Graphics API后的选框选中后再取消就可以了
例子 :做了三张识别图,对应三个不同的模型,扫描其中一个,手机屏幕只显示对应的那个模型,为什么做完了之后,只会出现扫描第一张图出现模型,第二和第三个不显示,如何修改实现呢?
要对每一个图进行js的编写,然后像操作第一个图和模型一样操作后面两个