Vuforia SDK----从Unity的SD卡装入一个DataSet

Vuforia SDK可以让你从不同的位置加载数据集。 如果您的设备有一个SD卡,您可以将您的设备的数据集(.XML和.DAT文件),在外部存储(SD卡)。 然后,你可以告诉Vuforia从SD卡中加载数据集。

下面的代码片段展示了如何这种方法可以在C#脚本来实现。 在下面的例子中,假设该数据集被称为停机坪。还假设的相关文件(Tarmac.xml和Tarmac.dat)已经被复制到SD卡路径的/ mnt / SD卡/。

using UnityEngine;
using Vuforia;
using System.Collections;
using System.Collections.Generic;

public class SDCardDataSetLoader : MonoBehaviour {
     private bool mLoaded = false;
     private DataSet mDataset = null;
    // Update is called once per frame
    void Update () {
          if (VuforiaRuntimeUtilities.IsVuforiaEnabled() && !mLoaded) {
          string externalPath = "/mnt/sdcard/tarmac.xml";

          if (mDataset == null) {
          // First, create the dataset
          ObjectTracker tracker = TrackerManager.Instance.GetTracker<ObjectTracker>();
          mDataset = tracker.CreateDataSet();
          }
         
         if (mDataset.Load(externalPath, VuforiaUnity.StorageType.STORAGE_ABSOLUTE)) {
            mLoaded = true;
         }
         else {
           Debug.LogError ("Failed to load dataset!");
         }
}
}
}
SD卡路径
确定在上面的代码SD卡位置的路径是 / mnt / SD卡/,该路径应该在大多数设备所接受。 然而,在这情况下,路径不为你工作,SD卡等备用路径也位于:

/sdcard
/storage/sdcard0

使用Application.persistentDataPath
为外部存储路径另一种选择是依赖于统一抽象,它是可访问的用下面的代码:
externalPath = Application.persistentDataPath;
需要注意的是上面的路径指向只有当您启用了您的播放器设置外部写访问外部(SD卡)的位置。 这意味着你已经设置的写入权限=外部(SD卡),而不是使用默认设置,这是写访问=仅供内部使用 。
在外部写访问的情况下,持续数据路径是这样的:
/存储/ sdcard0 /安卓/数据/ + <包名称> + /文件 ///storage/sdcard0/Android/data/ + <package-name> + /files
例如,如果你的包名是com.myorg.myapps,你应该看到:
/storage/sdcard0/Android/data/com.myorg.myapps/files。 
因此,基于上述信息,你应该存储你的数据集文件在上述目录中。 例如,对于停机坪上的数据集,则应将数据集文件复制到一个子目录/文件/或到以下目录:
/storage/sdcard0/Android/data/com.myorg.myapps/files/Tarmac.xml
/storage/sdcard0/Android/data/com.myorg.myapps/files/Tarmac.dat

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值