Для некоторого контекста я реализую эффект «светящейся границы», где мне нужен список светящихся объектов, готовый в обратном вызове пост-процесса, и я не могу запрашивать объекты 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()
}
Подробнее здесь: https://stackoverflow.com/questions/798 ... is-removed
Мобильная версия