Как получить ARReferencePoint TrackableID в ARFoundation Unity - PullRequest
0 голосов
/ 23 мая 2019

Как получить TrackableID на ARReferencePoint.Я не вижу это свойство выставлено на точке или его менеджера.https://docs.unity3d.com/Packages/com.unity.xr.arfoundation@1.0/api/UnityEngine.XR.ARFoundation.ARReferencePoint.html

Я могу получить TrackableID для ARPlanes через raycast, который поразил ARRaycastHit, но это не относится к ARReferencePoints.

Наличие имени ReferencePoint или получение его через ARReferencePointManager GetAllReferencePoints возвращает методИмя игрового объекта ReferecePoint, за которым следует отслеживаемый идентификатор.Обрезка этого имени как строки и приведение части trackableID как (TrackableID) не работает.

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

private string TrimString(ARReferencePoint currRefPoint)
    {
        String TrackableIDOnly = currRefPoint.gameObject.name;//name is e.g. "ReferencePoint A4300T6" where A4300T6 is the TrackableID 
        return TrackableIDOnly.Remove(0, 15);
    }
TrackableId currRefPointTrackableID = TrimString(m_CurrentRefPoint);//can't cast string to TrackableID
...