Vuforia AR

作者: _凉笙 | 来源:发表于2017-06-14 18:04 被阅读93次
    上传需要识别的图片或者物体

    首先进入Vuforia AR官网注册一个号,随后选择Develop创建一一把Key,创建好后如下图。


    Paste_Image.png Paste_Image.png OK后选择Target Manager创建我们的识别管理
    Paste_Image.png
    Paste_Image.png 选择Device并命名,创建好后进入我们的识别管理,创建我们需要识别的物体,如图片3D物体等。
    Paste_Image.png
    Paste_Image.png
    Paste_Image.png
    Paste_Image.png
    创建好后我们可以看到有些是能用有些事不能用的
    Paste_Image.png Cuboid和Cylinder的识别
    关于识别Cuboid和Cylinder类型的我们创建出后点进创建好的物体需要给其贴图才能使用
    Paste_Image.png 贴图时会经常出现比例不对的问题,例如它会提示你的比例应为2.777,这时你只需要修改图片的比例就行了,也就是它的图片的长宽比为2.777:1.
    3D Object的识别
    这个的话就需要下载一个扫描三维物体的工具了。
    Paste_Image.png 下载压缩后Media的文件和一个APK。Media里面有一张A4的图纸打印出来将你需要识别的3D物体放到空白处。然后再你手机上安装那个APK文件。
    Paste_Image.png 随后自己操作录制扫描你需要的3D物体
    20170614172718.jpg 扫描好后点击右上角上的三个点那个分享按钮把文件可以发送到你的电脑上
    20170614173146.jpg 文件格式是一个.od的文件
    Paste_Image.png
    随后再把这个文件传输到高通官网上就行了。这样我们需要识别的图片或者物体创建出来后我们可以选择需要的导出成(.unitypackage)文件就行了。
    Paste_Image.png
    Paste_Image.png
    识别图片或者物体

    需要识别的图片或者物体上传后我们下载Vuforia AR 的SDK


    Paste_Image.png

    导入SDK到U3D中,随后我们找到这几个预制物一个AR摄像机,另一个是你想识别物体的类型,例如我们想识别图片那我们就将ImageTarget和Ar摄像机放入Hierarchy中。


    Paste_Image.png
    然后我们选择摄像机找到Vuforia Behaviou脚本点击进入Open Vuforia configuration,然后操作如下
    Paste_Image.png

    然后选择ImageTarget设置参数。


    Paste_Image.png
    这样我们就能识别图片或者3D物体了
    2017-06-14_180333.png
    下面给AR添加阴影,将下面的Shader材质赋给Plane.
    Shader "FX/Matte Shadow" {
     
    Properties {
        _Color ("Main Color", Color) = (1,1,1,1)
        _MainTex ("Base (RGB) Trans (A)", 2D) = "white" {}
        _Cutoff ("Alpha cutoff", Range(0,1)) = 0.5
    }
     
    SubShader {
     
        Tags {"Queue"="AlphaTest" "IgnoreProjector"="True" "RenderType"="TransparentCutout"}
        LOD 200
        Blend Zero SrcColor
     
    CGPROGRAM
     
    #pragma surface surf ShadowOnly alphatest:_Cutoff
     
    fixed4 _Color;
     
    struct Input {
        float2 uv_MainTex;
    };
     
    inline fixed4 LightingShadowOnly (SurfaceOutput s, fixed3 lightDir, fixed atten)
    {
        fixed4 c;
        c.rgb = s.Albedo*atten;
        c.a = s.Alpha;
     
        return c;
    }
     
    void surf (Input IN, inout SurfaceOutput o) 
    {
     
        fixed4 c = _Color; 
        o.Albedo = c.rgb;
        o.Alpha = 1;
     
    }
     
    ENDCG
     
    }
     
    Fallback "Transparent/Cutout/VertexLit"
     
    }
    

    相关文章

      网友评论

      本文标题:Vuforia AR

      本文链接:https://www.haomeiwen.com/subject/tkqeqxtx.html