Каждый раз, когда я успешно произвожу вызов и нажму (через касание в редакторе или на экране), я могу создать новую ARReferencePoint.
Но если я попытаюсь удалить ранее добавленный ARReferencePoint, используя метод TryRemoveReferencePoint, Unity зависнет на неопределенное время.
Я использую образцы ARFoundation без изменений, кроме XRRemoting.
Протестировано на Unity 2019.1.1f1, ARFoundation 1.1.0 preview.6, lwrp 5.6.1, XRRemoting 0.0.1 preview .10
Что я пробовал:
Сначала я добавляю ARRefererencePoint, снимок показывает идентификатор этой точки:
* +1012 *
Затем я могу создать новую ARRefererencePoint при повторном запуске raycast, но если я попытаюсь удалить предыдущую, Unity зависнет: см. Снимок ниже. TryRemoveReferencePoint попытается удалить существующую предыдущую контрольную точку AR
Я также пытался переместить TryRemoveReferencePoint внутри и за пределами условия raycast и в конце Update () с помощью bool, но во всех случаях Unity зависает без сообщений об ошибках на консоли, чтобы просмотреть их.
пример кода с использованием ARRemote:
if (m_SessionOrigin.Raycast(ray, s_Hits, TrackableType.PlaneWithinPolygon))
if (spawnedObject == null)
{
spawnedObject = Instantiate(m_PlacedPrefab, hitPose.position, Quaternion.identity);
spawnedObject.transform.SetParent(m_CurrentRefPoint.transform);
Debug.Log("Instantiated");
}
else
{
spawnedObject.transform.position = m_CurrentRefPoint.transform.position;
spawnedObject.transform.SetParent(m_CurrentRefPoint.transform);
Debug.Log("Current Ref Point: " + m_CurrentRefPoint + " Removing RefPoint:" + prevRefPoint);
m_ARRefPointMgr.TryRemoveReferencePoint(prevRefPoint);
}
prevRefPoint = m_CurrentRefPoint;
Ожидаемые результаты: при успешном запуске raycast и попадании добавляется новая ARReferencePoint (пока это работает), а предыдущая ARReferencePoint удаляется (что не работает из-за зависания Unity).