2016-08-10 15 views
0

Я пытаюсь сделать мои префабы появляются во время выполнения на моем imagetarget по этой ссылке vuforia instantiate prefab on imagetarget dynamicallyЕдинство Vuforia не может сделать ребенка в качестве целевого изображения появляются

единственное различие заключается в том, что я хочу, чтобы иметь возможность перетащить некоторые сборные, которые я создал вместо одного сборника, показанного в учебнике.

public GameObject[] prefabModels; 

моя проблема даже после того, как обнаружена моя воображаемая модель, все мои 3d-сборники не появились.

этот код привязан к своему объекту imagetarget

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

public class ImageTargetMgr : MonoBehaviour, ITrackableEventHandler { 

private TrackableBehaviour mTrackableBehaviour; 

public GameObject[] prefabModels; 

// Use this for initialization 
void Start() {     
    mTrackableBehaviour = GetComponent<TrackableBehaviour>(); 

    if (mTrackableBehaviour) 
    { 
     mTrackableBehaviour.RegisterTrackableEventHandler(this); 
    }   
} 

// Update is called once per frame 
void Update() { 

} 

public void OnTrackableStateChanged(TrackableBehaviour.Status previousStatus, TrackableBehaviour.Status newStatus) 
{ 
    if (newStatus == TrackableBehaviour.Status.TRACKED || newStatus == TrackableBehaviour.Status.DETECTED || newStatus == TrackableBehaviour.Status.EXTENDED_TRACKED) 
    { 
     OnTrackingFound(); 
    } 
    else 
    { 
     OnTrackingLost(); 
    } 
} 

private void OnTrackingLost() 
{ 

} 

private void OnTrackingFound() 
{ 
    Debug.Log("Image Target Found!"); 
    foreach (GameObject o in prefabModels) 
    { 
     if (o != null) 
     { 
      Debug.Log("Currently instantiated models is " + o.name); 

      GameObject myPrefab = Instantiate(o, Vector3.zero, Quaternion.identity) as GameObject; 

      myPrefab.transform.parent = mTrackableBehaviour.transform; 
      myPrefab.transform.localPosition = new Vector3(0.0f, 10.0f, 0.0f); 
      myPrefab.transform.localRotation = Quaternion.identity; 
      //o.transform.localScale = new Vector3(1000.0f, 1000.0f, 1000.0f); 

      myPrefab.gameObject.SetActive(true); 

     } 

    } 

} 

вот бревно и что показано на иерархии при запуске сцены

надежды я получить некоторые помогает here..cheers

enter image description here

enter image description here

+0

Вы назначены любая Prefabs в массив prefabModels? – Rob

+0

Да ... i hv назначил некоторые сборные файлы –

+0

Использует ли он когда-либо OnTrackingFound? и выйдите из системы «Цель изображения найдена!» и "В настоящее время созданы экземпляры модели"? – Rob

ответ

0

Проблема наконец решена после добавления компонента Box Collider в объект prefab. Я также должен настроить некоторые параметры преобразования.

Ниже приведены снимки экрана инспектор панели префаб во время выполнения enter image description here

enter image description here