Сцена Sceneform поддерживает граф сцены, иерархическую организацию содержимого сцены. Сцена может иметь ноль или более дочерних узлов, и каждый узел может иметь ноль или более дочерних узлов.
Сцена также обеспечивает проверку попадания, способ определить, к какому узлу прикасается MotionEvent или Ray.
Вложенные классы
интерфейс | Сцена.OnPeekTouchListener | Определение интерфейса для обратного вызова, который будет вызываться при отправке события касания в сцену. | |
интерфейс | Сцена.OnTouchListener | Определение интерфейса для обратного вызова, который будет вызываться при отправке события касания в сцену. | |
интерфейс | Scene.OnUpdateListener | Определение интерфейса для обратного вызова, который будет вызываться один раз за кадр непосредственно перед обновлением сцены. |
Поля
public static final | DEFAULT_HDR_PARAMETERS |
Публичные конструкторы
Публичные методы
пустота | addOnPeekTouchListener ( Scene.OnPeekTouchListener onPeekTouchListener) Добавляет прослушиватель, который будет вызываться перед Scene.OnTouchListener . |
пустота | addOnUpdateListener ( Scene.OnUpdateListener onUpdateListener) Добавляет прослушиватель, который будет вызываться один раз за кадр непосредственно перед обновлением сцены. |
Камера | получитьКамеру () Получите камеру, которая используется для рендеринга сцены. |
Узел | получить солнечный свет () Получите узел солнечного света по умолчанию. |
Просмотр сцены | получить вид () Возвращает SceneView, используемый для создания сцены. |
HitTestResult | hitTest ( MotionEvent движениеEvent) Проверяет, касается ли событие движения каких-либо узлов в сцене, на основе теста попадания луча, источником которого является положение на экране события движения, и выводит HitTestResult, содержащий ближайший к экрану узел. |
HitTestResult | |
ArrayList < HitTestResult > | hitTestAll ( Рэй Рэй ) Проверяет, попадает ли луч в какие-либо узлы в сцене, и возвращает список HitTestResults, содержащий все затронутые узлы, отсортированные по расстоянию. |
ArrayList < HitTestResult > | hitTestAll ( MotionEvent движениеEvent) Проверяет, касается ли событие движения каких-либо узлов в сцене, и возвращает список HitTestResults, содержащий все затронутые узлы, отсортированные по расстоянию. |
пустота | onAddChild (дочерний узел ) |
пустота | onRemoveChild ( дочерний узел ) |
Узел | перекрытиеTest ( узел Node ) Проверяет, перекрывается ли форма столкновения данного узла с формой столкновения любых других узлов в сцене, используя getCollisionShape() . |
ArrayList < узел > | перекрытиеTestAll ( узел Node ) Проверяет, перекрывает ли узел какие-либо другие узлы в сцене, используя getCollisionShape() . |
пустота | removeOnPeekTouchListener ( Scene.OnPeekTouchListener onPeekTouchListener) Удаляет прослушиватель, который будет вызываться перед Scene.OnTouchListener . |
пустота | removeOnUpdateListener ( Scene.OnUpdateListener onUpdateListener) Удаляет прослушиватель, который будет вызываться один раз за кадр непосредственно перед обновлением сцены. |
пустота | setLightEstimate ( Color ColorCorrection, float pixelIntensity) Устанавливает оценку освещенности для модуляции освещения и интенсивности сцены. |
пустота | setOnTouchListener ( Scene.OnTouchListener onTouchListener) Зарегистрируйте обратный вызов, который будет вызываться при касании сцены. |
Унаследованные методы
Поля
public static final
Публичные конструкторы
публичная сцена (представление SceneView )
Создайте сцену с заданным контекстом.
Параметры
Посмотреть |
---|
Публичные методы
public void addOnPeekTouchListener ( Scene.OnPeekTouchListener onPeekTouchListener)
Добавляет прослушиватель, который будет вызываться перед Scene.OnTouchListener
. Это вызывается, даже если жест был использован, что позволяет наблюдать за всеми событиями движения, отправленными на сцену. Это вызывается, даже если касание не над узлом, и в этом случае getNode()
будет нулевым. Слушатели будут вызываться в том порядке, в котором они были добавлены.
Параметры
onPeekTouchListener | прослушиватель peek touch для добавления |
---|
public void addOnUpdateListener ( Scene.OnUpdateListener onUpdateListener)
Добавляет прослушиватель, который будет вызываться один раз за кадр непосредственно перед обновлением сцены. Слушатели будут вызываться в том порядке, в котором они были добавлены.
Параметры
onUpdateListener | прослушиватель обновлений для добавления |
---|
общественная камера getCamera ()
Получите камеру, которая используется для рендеринга сцены. Камера — это тип узла.
Возвращает
- камера, используемая для визуализации сцены
публичный узел getSunlight ()
Получите узел солнечного света по умолчанию.
Возвращает
- узел солнечного света, используемый для освещения сцены
общедоступный HitTestResult hitTest ( MotionEvent motionEvent)
Проверяет, касается ли событие движения каких-либо узлов в сцене, на основе теста попадания луча, источником которого является положение на экране события движения, и выводит HitTestResult, содержащий ближайший к экрану узел.
Параметры
событие движения | событие движения, используемое для теста |
---|
Возвращает
- результат включает в себя первый узел, в который попало событие движения (может быть нулевым), и информацию о том, где событие движения попало в узел в мировом пространстве.
публичный HitTestResult hitTest ( Рэй Рэй )
Проверяет, попадает ли луч в какие-либо узлы в сцене, и выводит HitTestResult, содержащий узел, ближайший к источнику луча, который пересекается с лучом.
Параметры
луч | луч для теста |
---|
Возвращает
- результат включает в себя первый узел, в который попал луч (может быть нулевым), и информацию о том, где луч попал в узел в мировом пространстве.
Смотрите также
public ArrayList < HitTestResult > hitTestAll ( Рэй Рэй )
Проверяет, попадает ли луч в какие-либо узлы в сцене, и возвращает список HitTestResults, содержащий все затронутые узлы, отсортированные по расстоянию.
Параметры
луч | Луч, используемый для теста. |
---|
Возвращает
- Заполняется HitTestResult для каждого узла, в который попали, отсортированные по расстоянию. Пусто, если узлы не были поражены.
Смотрите также
public ArrayList < HitTestResult > hitTestAll ( MotionEvent motionEvent)
Проверяет, касается ли событие движения каких-либо узлов в сцене, и возвращает список HitTestResults, содержащий все затронутые узлы, отсортированные по расстоянию.
Параметры
событие движения | Событие движения, используемое для теста. |
---|
Возвращает
- Заполняется HitTestResult для каждого узла, в который попали, отсортированные по расстоянию. Пусто, если узлы не были поражены.
общедоступный узел NodeoveroverTest ( узел Node )
Проверяет, перекрывается ли форма столкновения данного узла с формой столкновения любых других узлов в сцене, используя getCollisionShape()
. Узел, используемый для тестирования, не обязательно должен быть активным.
Параметры
узел | Узел, который будет использоваться для теста. |
---|
Возвращает
- Узел, перекрывающий тестовый узел. Если ни один узел не перекрывает тестовый узел, то это нуль. Если несколько узлов перекрывают тестовый узел, это может быть любой из них.
Смотрите также
общедоступный ArrayList < узел > перекрытиеTestAll ( узел узла)
Проверяет, перекрывает ли узел какие-либо другие узлы в сцене, используя getCollisionShape()
. Узел, используемый для тестирования, не обязательно должен быть активным.
Параметры
узел | Узел, который будет использоваться для теста. |
---|
Возвращает
- Список всех узлов, перекрывающих тестовый узел. Если ни один узел не перекрывает тестовый узел, то список пуст.
Смотрите также
public void removeOnPeekTouchListener ( Scene.OnPeekTouchListener onPeekTouchListener)
Удаляет прослушиватель, который будет вызываться перед Scene.OnTouchListener
. Это вызывается, даже если жест был использован, что позволяет наблюдать за всеми событиями движения, отправленными на сцену. Это вызывается, даже если касание не над узлом, и в этом случае getNode()
будет нулевым.
Параметры
onPeekTouchListener | прослушиватель peek touch для удаления |
---|
public void removeOnUpdateListener ( Scene.OnUpdateListener onUpdateListener)
Удаляет прослушиватель, который будет вызываться один раз за кадр непосредственно перед обновлением сцены.
Параметры
onUpdateListener | прослушиватель обновлений для удаления |
---|
public void setLightEstimate ( Color colorCorrection, float pixelIntensity)
Устанавливает оценку освещенности для модуляции освещения и интенсивности сцены. Визуализированные источники света будут использовать комбинацию этих значений, а также цвета и интенсивности источников света. Значение white colorCorrection и pixelIntensity, равное 1, означает, что в настройки освещения не вносятся изменения.
Это используется сценами AR Sceneform внутри для настройки освещения на основе значений из ARCore. Сцена AR вызовет это автоматически, возможно, переопределив другие настройки. В большинстве случаев вам не нужно вызывать это явно.
Параметры
цветокоррекция | модулирует цвет освещения сцены. |
---|---|
пиксельинтенсивность | модулирует интенсивность освещения сцены. |
public void setOnTouchListener ( Scene.OnTouchListener onTouchListener)
Зарегистрируйте обратный вызов, который будет вызываться при касании сцены. Обратный вызов будет вызван после того, как событие касания будет отправлено узлам в сцене, если ни один узел не воспользовался событием. Это вызывается, даже если касание не над узлом, и в этом случае getNode()
будет нулевым.
Параметры
onTouchListener | сенсорный прослушиватель для подключения |
---|