ARCore + Unity + Augmented Images - Load different prefabs for different Images

前端 未结 2 1891
后悔当初
后悔当初 2020-12-17 07:19

How do I assign different prefabs to different images?

right now, I have all my prefabs loading in on top of each other but how do I get it so each prefab loads in o

2条回答
  •  佛祖请我去吃肉
    2020-12-17 07:38

    You could change your AugmentedImageVisualizer prefab, so that at the start all your different objects are inactive (.SetActive(false);) For changing a prefab you can add it to your hierarchy, set all the objects inactive and then apply the changes. After apply you can delete the prefab from your game hierarchy.

    Img 1: Add existing prefab to game hierarchy Img 2: set all the attached objecty to inactive (1) and apply the changes to the prefab (2)

    So when you detect a image from your imagedatabase the AugmentedImageVisualizer prefab is attached and only the object with the given index is set to active. Then your code should work.

    Because at the start all your objects are inactive you could change this part of your code:

    if (Image == null || Image.TrackingState != TrackingState.Tracking)
        {
            obj1.SetActive(false);
            obj2.SetActive(false);
            obj3.SetActive(false);
            obj4.SetActive(false);
            return;
        }
    

    so that you only deactivate the active object:

    if (Image.TrackingState != TrackingState.Tracking)
            {
                imagePrefabPairs[Image.DatabaseIndex].SetActive(false);
                return;
            }
    

提交回复
热议问题