RealityKit, как получить обратный вызов после удаления компонентаIOS

Программируем под IOS
Ответить
Anonymous
 RealityKit, как получить обратный вызов после удаления компонента

Сообщение Anonymous »

Глядя на документ ComponentEvents, кажется, что DidRemove API не существует. Интересно, как я могу получать уведомления после удаления компонента.
Для некоторого контекста я реализую эффект «светящейся границы», где мне нужен список светящихся объектов, готовый в обратном вызове пост-процесса, и я не могу запрашивать объекты GlowingBorderComponent в каждом кадре, потому что (1) нет необходимости запускать каждый кадр и (2) обратный вызов пост-процесса находится в потоке рендеринга, но запрос объекта должен выполняться в основном, поэтому я придется заблокировать поток рендеринга.
Я движусь в том направлении, чтобы сохранить список светящихся объектов и обновлять его только при добавлении или удалении светящегося компонента.

Код: Выделить всё

    @Atomic
private var glowingEntities: [RLModelEntity] = []

// only DidAdd/WillRemove, but no DidRemove?
arView.scene.subscribe(to: ComponentEvents.DidAdd.self, componentType: GlowingBorderComponent.self) { event in
glowingEntities = helper_queryGlowingEntities()
}

Где Atomic — это просто оболочка свойства с блокировкой доступа к значению.

Подробнее здесь: https://stackoverflow.com/questions/798 ... is-removed
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»