Im using the following script to extract the dataset from the OBB files:
using UnityEngine;
using System.Collections;
using System.IO;
public class ObbExtractor : MonoBehaviour {
void Start () {
StartCoroutine(ExtractObbDatasets());
}
private IEnumerator ExtractObbDatasets () {
string[] filesInOBB = {"tracker.dat", "tracker.xml"};
foreach (var filename in filesInOBB) {
string uri = Application.streamingAssetsPath + "/QCAR/" + filename;
string outputFilePath = Application.persistentDataPath + "/QCAR/" + filename;
if(!Directory.Exists(Path.GetDirectoryName(outputFilePath)))
Directory.CreateDirectory(Path.GetDirectoryName(outputFilePath));
var www = new WWW(uri);
yield return www;
Save(www, outputFilePath);
yield return new WaitForEndOfFrame();
}
// When done extracting the datasets, Start Vuforia AR scene
//Application.LoadLevel("ARScene");
}
private void Save(WWW www, string outputPath) {
File.WriteAllBytes(outputPath, www.bytes);
// Verify that the File has been actually stored
if(File.Exists(outputPath))
Debug.Log("File successfully saved at: " + outputPath);
else
Debug.Log("Failure!! - File does not exist at: " + outputPath);
Application.LoadLevel("SceneMenu1");
}
}
When I Build and Run onto the tablet, all works fine; the obb downloads, it pushes through to an empty scene that extracts the dataset, then it automatically loads the AR scene, augmenting a simple cube.
However, when I put this through Google Developer Console (in Alpha Testing and waiting to propagate) it does all the same but when it reaches the AR scene, it doesn’t augment anything.
When I run it in the Editor, I get the following error:
You are trying to load data from a www stream which had the following error when downloading.
malformed
UnityEngine.WWW:get_bytes()
ObbExtractor:Save(WWW, String) (at Assets/ObbExtractor.cs:34)
c__Iterator1:MoveNext() (at Assets/ObbExtractor.cs:25)
Does anyone know what the problem could be?
I’m working on the newest versions of Unity and Vuforia and started with a new project, following the tutorial found here: Tutorial Unity 4 apk splitting into OBB for google play