Дополненная реальность: динамическая загрузка модели

Я совершенно новичок в дополненной реальности и Unity 3D. Проект, над которым я работаю, требует от меня загрузки 3D-объекта в камеру только после того, как я выберу его из списка.

Например, первая страница даст вам список, например, Apple, Orange, Mango, и когда я нажму на Apple, на камере должна появиться 3D-модель яблока.

Может ли кто-нибудь из вас сказать мне, как загрузить 3D-модель из пакета активов в цель во время выполнения?


person Sunitha    schedule 27.02.2017    source источник
comment
Помимо динамической загрузки, вы также можете заранее создать все 3D-объекты в Unity и сделать их неактивными (не будут отображаться). Затем используйте скрипт, чтобы активировать соответствующую 3D-модель во время выполнения.   -  person Senador    schedule 01.03.2017


Ответы (1)


Загрузите свою модель и создайте ее экземпляр под целевым объектом. Этот объект содержит компонент TrackingBehaviour, который просто просматривает рендерер и коллайдер под целевым объектом.

    protected virtual void OnTrackingFound()
    {
        Renderer[] rendererComponents = GetComponentsInChildren<Renderer>(true);
        Collider[] colliderComponents = GetComponentsInChildren<Collider>(true);

        // Enable rendering:
        foreach (Renderer component in rendererComponents)
        {
            component.enabled = true;
        }

        // Enable colliders:
        foreach (Collider component in colliderComponents)
        {
            component.enabled = true;
        }

        Debug.Log("Trackable " + mTrackableBehaviour.TrackableName + " found");
    }

Поэтому, если ваш объект находится под этим объектом, на него автоматически повлияет отслеживание/потеря маркера.

Что касается загрузки AssetBundle: https://unity3d.com/learn/tutorials/topics/scripting/assetbundles-and-assetbundle-manager

person Everts    schedule 27.02.2017