简介
Vuforia是高通公司发布的AR 开发SDK. 也是最主流的AR开发SDK.
网上找了不少资料, 普遍采用的都是Unity 3D 开发环境, 但一是对于Android的开发人员来说, 切换到Unity环境用C#或JS开发, 学习成本太高. 二是Unity只能安装在Mac或Windows上, 对于我这样使用Ubuntu的开发来说, 还得去换个已经熟悉的开发系统装Unity, 切换成本太高了.
好在Vuforia支持在Android Studio下进行开发, 这算是一大福音了.
步骤
- 下载并设置android ndk开发环境.
http://developer.android.com/sdk/ndk/index.html
需要翻墙下载. - 下载vuforia-sdk-android.zip并解压到
/home/wangxin/src/vuforia-sdk-android-7-0-43 - 下载Sample项目代码.
这里有一点要注意, 这些sample代码解压要放到
/home/wangxin/src/vuforia-sdk-android-7-0-43/samples
目录.
因为这些sample项目的build.gradle被按照这个目录层级指定的依赖关系.
def VUFORIA_SDK_DIR = '../../..'
def NATIVE_LIB_DIR = 'build/lib'
def JAR_DIR = 'build/java/vuforia'
dependencies {
compile files("$VUFORIA_SDK_DIR/$JAR_DIR/Vuforia.jar")
}
- 直接open这几个sample项目
编译倒是不会报错, 但是在运行时会报"初始化vuforia错误", log中显示
No Vuforia license key defined!
http://www.paolomoschini.it/2015/11/30/trying-vuforia-with-android-studio/
从这篇文章中了解到是因为没有设置license key造成的.
看源码, 初始化时调用的方法是:
Vuforia.setInitParameters(mActivity, mVuforiaFlags, "");
去官网
https://developer.vuforia.com
注册, 登录, 创建一个App, eg, VuforiaSamples, 这样就获得了license key, 然后代码修改为:
Vuforia.setInitParameters(mActivity, mVuforiaFlags, "AT/6e9D/////AAAAmZHnNjhqKET+k562hyhux34VwPBOl8UwS1vmoEksJl21UZd6rF7trftqKQnIYnIjYy6QvZ7HtTmdjrRT3qZx/qAHFkcDscenjfx5ZoJPmre0odrB+ug6ar8lB6ESY9qUkhr0KPSlv5d14TUMEkpdhXssYH9CXc2bpmscBxuplVWPDBDmhDnkDst2Cc9sz5NCcGaklNywqAekpPIcbA8FS6RP97xfH//HxfTHFIgGpnY0Y+dHC+nxkkrgnLLqcu4o1umsdn+dXWheVslILGgvV6V6pN2JgfusVA+9rSh/k5xECbdJJrmnpIvqEH4Up8RXkteNPLLS7zCRVakatHZbHXd9I19HixxsF5PQ51+nvTbt");
这样再运行App就可以正常使用了.
机型问题
运行GroundPlane demo时, 发现怎么也绘制不出来3D图形. 也不知道原因是什么.
后来从下面这篇文章中了到, 这个demo对机型是有要求的. 我猜测可能是只有高通的芯片才可以运行这个demo.
https://library.vuforia.com/articles/Solution/ground-plane-supported-devices.html
下一步要做的事.
- 是研究下book或是GroundPlane的代码, 反推过来让产品想想有没有哪个技术点可以应用到以后的项目中.
- 是找几个3D模式, 对demo做下修改, 能显示出自己要的一些物体出来. 这样这些demo的代码算是吃透了就.
--- DONE. ---
网友评论