Сцена 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 | сенсорный прослушиватель для подключения |
|---|