«SessionConfig требуется ARCoreSession» возникает, когда я пытаюсь создать новую ARCoreSession - PullRequest
0 голосов
/ 25 октября 2019

Я создаю и уничтожаю ARCoreSession в своем приложении, чтобы «забыть / уничтожить» старые отслеживаемые объекты (обнаруженные плоскости и характерные точки). Я использую Unity 2019.2.8f1 и пакет Unity ARCore SDK 1.11.

Для создания и уничтожения сеанса я использую следующий код.

    public void DestroyActualSession()
    {
        //if session exists destroy
        if (available)
        {
            //save SessionConfig and CameraConfigFilter
            mySession = myARCoreDevice.GetComponent<ARCoreSession>();
            myConfig = mySession.SessionConfig;
            myCameraConfigFilter = mySession.CameraConfigFilter;

            //destroy SessionComponent
            DestroyImmediate(mySession);
            available = false;
        }
    }

    public void CreateNewSession()
    {
        //if session doesn't exist you can create one
        if (!available)
        {
            //add ARCoreSession component to ARCoreDevice
            //error messages belongs to this line
            mySession = myARCoreDevice.AddComponent<ARCoreSession>();

            //set configuration
            mySession.SessionConfig = myConfig;
            mySession.CameraConfigFilter = myCameraConfigFilter;
            available = true;
        }
        //enable session
        mySession.enabled = true;
    }

Работает нормально. Но я не могу избавиться от следующих ошибок при создании сеанса:

- "SessionConfig требуется ARCoreSession"

- "CameraConfigFilter требуется ARCoreSession. Чтобы получить все доступные конфигурации, установите CameraConfigFilter на фильтр со всеми выбранными параметрами. "

Кажется, что класс ARCoreSession проверяет SessionConfig и CameraConfigFilter в методе OnValidate (). Но я не нашел способа настроить конфигурацию перед добавлением компонента ARCoreSession к моему устройству ARCore.

...