Я разрабатываю приложение AR, используя Unity с AR Foundation 6.0.5, и я сталкиваюсь с проблемой, связанной с отслеживаемым событием ArtrackableManager Class. В частности, я получаю следующие сообщения об ошибках при попытке подписаться на событие в моем коде:
SSASSETS/Scripts/confessionspawner.cs(15,9): Ошибка CS0200: свойство или indexer ' BADEDEDPLANE, ARPLANE> .TrackablesChanged 'не может быть назначено - он читается только
SSASSETS/Scripts/confessionspawner.cs(39,9): ошибка CS0200: свойство или индексера' artrackablemanager .trackablesChanged 'не может быть назначено - это только чтение < /p>
контекст кода: < /strong>
Я пытаюсь подписаться и не позаботиться о событии CrackablablesChanged для обнаружения добавленных плоскостей в AR -сцене, используя ARPLANMANER. Вот соответствующая часть моего кода: < /p>
using UnityEngine;
using UnityEngine.XR.ARFoundation;
public class ConfessionSpawner : MonoBehaviour
{
public GameObject confessionTextPrefab; // Assign in the Inspector
private ARPlaneManager arPlaneManager;
void Start()
{
arPlaneManager = GetComponent();
arPlaneManager.trackablesChanged += OnTrackablesChanged; // Subscription to event
}
void OnTrackablesChanged(ARTrackablesChangedEventArgs args)
{
foreach (ARPlane plane in args.added)
{
SpawnConfessionText(plane);
}
}
void SpawnConfessionText(ARPlane plane)
{
Vector3 spawnPosition = plane.transform.position + new Vector3(0, 0.1f, 0);
Instantiate(confessionTextPrefab, spawnPosition, Quaternion.identity);
}
void OnDestroy()
{
arPlaneManager.trackablesChanged -= OnTrackablesChanged; // Unsubscription from event
}
}
< /code>
Что я попробовал: < /strong>
Я рассмотрел документацию Unity и Руководство по миграции Foundation от версии 5.x до 6.x. Похоже, что события, по-видимому, используются правильно, но он все еще выбрасывает ошибку «только для чтения».
Я дважды проверил, что я использую версию AR Foundation 6.0.5, а плагин Arkit XR также составляет 6,0,5 в соответствии с рекомендациями.
Я обеспечил, чтобы я подписываюсь и не согласуется с /заключаю в себе / nebricbring). /> Ошибка: < /strong>
Ошибка гласит, что TrackAblabled не может быть назначена, потому что это свойство только для чтения. Насколько я понимаю, это событие должно быть подписано и отписано от использования операторов += и -=, поэтому я не понимаю, почему он поднимает эту проблему. Известная ошибка в AR Foundation 6.0.5, или я что -то упускаю в своем подходе? Спасибо!
Подробнее здесь: https://stackoverflow.com/questions/794 ... -foundatio