Vuforia SDK---- AR开发vuforia 二维码扫描

来源:互联网 发布:深圳几米软件 编辑:程序博客网 时间:2024/04/29 04:29

在unity项目或者AR开发中经常用到二维码的扫描,

二维码扫描插件



如何和vuforia结合呢?

近来研究android平台上的增强现实和二维码扫描结合的案例,主要是使用两个外部插件来实现,其中一个是名为Easy Code Scanner 的二维码扫描插件(网上下载即可);另一个就是高通的增强现实插件(之前有发过一篇博文记录使用过程)。
    现在,新建一个项目,先导入其中一个插件包,然后在project 视图中,找到plugins的文件夹,剪切文件夹中的AndroidManifest.xml,可放在任意文件夹(android配置文件,规定了android的访问权限,启动界面等等);接下来再导入另一个插件包。你会发现这个时候又有一个名为AndroidManifest.xml 的文件。
    之所以分别加载两个插件,主要原因是两个插件包都是android 插件,同时导入不做任何处理可能会导致AndroidManifest.xml 这个文件的替换。这样就可能导致发布出来的android 应用只能启动一个界面,不能结合使用两个插件的功能。这里说一下,一开始我也天真的以为同时导入就能使用,翻来覆去折腾了两天时间,才找到这个原因,万恶的配置文件啊......
    接下来是整理两个配置文件,分别打开两个文件(我推荐使用notepad++ 这个软件,用起来挺顺手的),你会发现都用一个的标签,这个标签之中的代码就记录了android应用的启动界面,在配置文件中,每一个activity都是一个android界面,在application 标签中,把两个配置文件的所用activity 标签整理到一起,然后删除到其中一个intent-filter标签,这里删掉的是二维码扫描的intent-filter标签,即activity android:name="com.c4mprod.ezcodescanner.RootActivity"标签下的启动界面被删除。
    接下来就可以结合使用增强现实和二维码扫码的功能了。

未经测试!!

感谢:感谢

分享一下xml

<?xml version="1.0" encoding="utf-8"?><manifest    xmlns:android="http://schemas.android.com/apk/res/android"    package="com.unity3d.player"  android:installLocation="preferExternal"  android:theme="@android:style/Theme.NoTitleBar"    android:versionCode="1"    android:versionName="1.0">  <uses-feature android:name="android.hardware.camera" />  <supports-screens      android:smallScreens="true"      android:normalScreens="true"      android:largeScreens="true"      android:xlargeScreens="true"      android:anyDensity="true"/>  <uses-permission android:name="android.permission.INTERNET" />  <uses-permission android:name="android.permission.CAMERA" />  <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>  <uses-permission android:name="android.permission.VIBRATE"/>  <uses-feature android:name="android.hardware.camera" />  <uses-feature android:name="android.hardware.camera.autofocus" />  <application      android:icon="@drawable/app_icon"      android:label="@string/app_name"      android:theme="@android:style/Theme.NoTitleBar.Fullscreen"      android:debuggable="false">    <activity android:name="com.unity3d.player.UnityPlayerNativeActivity"              android:label="@string/app_name">      <intent-filter>        <action android:name="android.intent.action.MAIN" />        <category android:name="android.intent.category.LAUNCHER" />      </intent-filter>      <meta-data android:name="unityplayer.UnityActivity" android:value="true" />      <meta-data android:name="unityplayer.ForwardNativeEventsToDalvik" android:value="false" />    </activity>    <activity android:name="com.unity3d.player.VideoPlayer"              android:label="@string/app_name"              android:screenOrientation="portrait"              android:configChanges="fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen">    </activity>    <activity android:name="com.c4mprod.ezcodescanner.RootActivity"        android:label="@string/app_name">    </activity>    <activity android:name="com.c4mprod.ezcodescanner.camera.CameraActivity" android:screenOrientation="sensor"/>    <!--            To support devices using the TI S3D library for stereo mode we must             add the following library.            Devices that require this are: ODG X6         -->    <uses-library android:name="com.ti.s3d" android:required="false" />  </application>  <!--package="com.c4mprod.ezcodescanner"  android:versionCode="3"  android:versionName="1.2">-->  <!--<uses-sdk android:minSdkVersion="8" />  <uses-permission android:name="android.permission.CAMERA" />  <uses-permission android:name="android.permission.VIBRATE"/>  <uses-feature android:name="android.hardware.camera" />  <uses-feature android:name="android.hardware.camera.autofocus" />--></manifest>



 ARVR技术交流群129340649,欢迎加入,一起讨论学习!

1 0