Log in or register to post comments

Load 3D model in cloud reco

September 5, 2014 - 4:18am #1

I have 3D model url as a metadata. I followed this article to load the model https://developer.vuforia.com/forum/unity-3-extension-technical-discussion/load-3d-model-through-cloud. But i didn't get 3D model augment.

 

// Here we handle a cloud target recognition event

public void OnNewSearchResult(TargetFinder.TargetSearchResult targetSearchResult) {

    // do something with the target metadata

    mTargetMetadata = targetSearchResult.MetaData;

    JSONObject json = JSONObject.Parse(mTargetMetadata);

string type=json.GetString("type");

url=json.GetString("overlay3d");

   // stop the target finder (i.e. stop scanning the cloud)

    mCloudRecoBehaviour.CloudRecoEnabled = false;

mShowGUIButton = true;

 GameObject newImageTarget = Instantiate(ImageTargetTemplate.gameObject) as GameObject;

         GameObject augmentation = null;

 

        if( augmentation != null )

            augmentation.transform.parent = newImageTarget.transform;

        Debug.Log("Metadata value is " + url );

StartCoroutine(GetAssetBundle());

// Build augmentation based on target

if (ImageTargetTemplate) {

    // enable the new result with the same ImageTargetBehaviour:

    ImageTracker tracker = TrackerManager.Instance.GetTracker<ImageTracker>();

    ImageTargetBehaviour imageTargetBehaviour = 

        (ImageTargetBehaviour)tracker.TargetFinder.EnableTracking(

            targetSearchResult, ImageTargetTemplate.gameObject);

}

GUI.Label(new Rect(10, 10, 300, 70), "Path: " + url);

 

if (GUI.Button(new Rect(100,300,200,50), "Path: " + url)) {

            // Restart TargetFinder

            mCloudRecoBehaviour.CloudRecoEnabled = true;

        }

 

}

  IEnumerator GetAssetBundle ()

{

 

www = new WWW(url);

yield return www;

Debug.Log("The last BundleURL " + BundleURL );

 

AssetBundleRequest request = www.assetBundle.LoadAsync("modelipad", typeof(GameObject));

yield return request;

 

Instantiate(request.asset, new Vector3(0f, 0f, 0f), Quaternion.identity);

 

//Put the stream model under the image target

GameObject ImageTargetUsed = GameObject.Find("ImageTarget");

         GameObject ModelIpadClone = GameObject.Find("modelipad(Clone)");

         ModelIpadClone.transform.parent = ImageTargetUsed.transform;

 

}

Log in or register to post comments