zoukankan      html  css  js  c++  java
  • Easy AR简单教程

    Easy AR简单教程

    相关SDK资源下载链接:http://pan.baidu.com/s/1dERtCWD   密码:o0jd

    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的编写,然后像操作第一个图和模型一样操作后面两个

  • 相关阅读:
    Codeforces Round #497 (Div. 2) B. Turn the Rectangles
    Codeforces Round #497 (Div. 2) A. Romaji
    [DFS] [洛谷] P1219 八皇后 O(1)判断
    [归并] [STL] [洛谷] P1309 瑞士轮
    [贪心] [洛谷] P1803 凌乱的yyy / 线段覆盖
    [模拟] [洛谷] P1071 潜伏者
    java.io.EOFException: End of File Exception between local host is: "master/192.168.***.***"; destination host is: “master”:9000; :
    hadoop 无法打开网页和重新格式化问题
    hadoop平台环境搭建
    无法创建新虚拟机: 无法打开配置文件“F:BigDatavm12centos01centos01.vmx”: 拒绝访问。
  • 原文地址:https://www.cnblogs.com/shenlaiyaoshi/p/7826903.html
Copyright © 2011-2022 走看看