Класс PerspectiveCamera
- Все реализованные интерфейсы:
-
Styleable,EventTarget
public class PerspectiveCamera
extends Camera Эта камера определяет объём обзора для перспективной проекции; усечённая прямая пирамида. Значение fieldOfView может быть использовано для изменения объёма обзора. По умолчанию эта камера расположена в центре сцены и смотрит вдоль положительной оси z. Система координат, определённая этой камерой, имеет начало в верхнем левом углу панели, ось Y направлена вниз, а ось Z — от наблюдателя (в экран). Если узел PerspectiveCamera добавлен в график сцены, преобразованное положение и ориентация камеры определят положение камеры и направление взгляда камеры.
В камере по умолчанию, где fixedEyeAtCameraZero — false, значение Z положения глаза корректируется по оси Z таким образом, что матрица проекции, сгенерированная с использованием указанного fieldOfView, будет отображать единицы в Z = 0 (плоскость проекции) в устройствах независимых пикселях, совпадающих с параллельной камерой. Когда сцена изменяет размер, объекты на плоскости проекции (Z = 0) сохраняют свой размер, но больше или меньше контента сцены отображается.
Если fixedEyeAtCameraZero — true, положение глаза фиксируется в (0, 0, 0) в локальных координатах камеры. Матрица проекции генерируется с использованием указанного fieldOfView, и объём проекции отображается на viewport (окно) таким образом, что он растягивается на большее или меньшее количество устройств независимых пикселей на плоскости проекции. При изменении размера сцены объекты в сцене будут уменьшаться или увеличиваться пропорционально, но видимая часть контента не изменится.
Рекомендуется устанавливать fixedEyeAtCameraZero в значение true, если вы собираетесь преобразовывать (перемещать) камеру. Преобразование камеры, когда fixedEyeAtCameraZero установлено в значение false, может привести к неинтуитивным результатам.
Обратите внимание, что это условная функция. См. ConditionalFeature.SCENE3D для получения дополнительной информации.
- С:
- JavaFX 2.0
Краткое описание свойств
| Тип | Свойство | Описание |
|---|---|---|
DoubleProperty | fieldOfView | Задает угол поля зрения камеры, измеренный в градусах. |
BooleanProperty | verticalFieldOfView | Определяет, будет ли свойство fieldOfView применяться к вертикальной размерности проекции. |
Свойства, объявленные в классе javafx.scene.Node
accessibleHelp, accessibleRoleDescription, accessibleRole, accessibleText, blendMode, boundsInLocal, boundsInParent, cacheHint, cache, clip, cursor, depthTest, disabled, disable, effectiveNodeOrientation, effect, eventDispatcher, focused, focusTraversable, hover, id, inputMethodRequests, layoutBounds, layoutX, layoutY, localToParentTransform, localToSceneTransform, managed, mouseTransparent, nodeOrientation, onContextMenuRequested, onDragDetected, onDragDone, onDragDropped, onDragEntered, onDragExited, onDragOver, onInputMethodTextChanged, onKeyPressed, onKeyReleased, onKeyTyped, onMouseClicked, onMouseDragEntered, onMouseDragExited, onMouseDragged, onMouseDragOver, onMouseDragReleased, onMouseEntered, onMouseExited, onMouseMoved, onMousePressed, onMouseReleased, onRotate, onRotationFinished, onRotationStarted, onScrollFinished, onScroll, onScrollStarted, onSwipeDown, onSwipeLeft, onSwipeRight, onSwipeUp, onTouchMoved, onTouchPressed, onTouchReleased, onTouchStationary, onZoomFinished, onZoom, onZoomStarted, opacity, parent, pickOnBounds, pressed, rotate, rotationAxis, scaleX, scaleY, scaleZ, scene, style, translateX, translateY, translateZ, viewOrder, visible
Краткое описание полей
Поля, объявленные в классе javafx.scene.Node
BASELINE_OFFSET_SAME_AS_HEIGHT
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
PerspectiveCamera() | Создаёт пустой экземпляр PerspectiveCamera. |
PerspectiveCamera(boolean fixedEyeAtCameraZero) | Создаёт PerspectiveCamera с указанным флагом fixedEyeAtCameraZero. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
DoubleProperty | fieldOfViewProperty() | Устанавливает угол поля зрения камеры, измеренный в градусах. |
double | getFieldOfView() | Возвращает значение свойства fieldOfView. |
boolean | isFixedEyeAtCameraZero() | Возвращает флаг, указывающий, использует ли эта камера фиксированное положение глаза в начале координат камеры. |
boolean | isVerticalFieldOfView() | Возвращает значение свойства verticalFieldOfView. |
void | setFieldOfView(double value) | Устанавливает значение свойства fieldOfView. |
void | setVerticalFieldOfView(boolean value) | Устанавливает значение свойства verticalFieldOfView. |
BooleanProperty | verticalFieldOfViewProperty() | Определяет, будет ли свойство fieldOfView применяться к вертикальной размерности проекции. |
Методы, объявленные в классе javafx.scene.Camera
farClipProperty, getFarClip, getNearClip, nearClipProperty, setFarClip, setNearClip
Методы, объявленные в классе javafx.scene.Node
accessibleHelpProperty, accessibleRoleDescriptionProperty, accessibleRoleProperty, accessibleTextProperty, addEventFilter, addEventHandler, applyCss, autosize, blendModeProperty, boundsInLocalProperty, boundsInParentProperty, buildEventDispatchChain, cacheHintProperty, cacheProperty, clipProperty, computeAreaInScreen, contains, contains, cursorProperty, depthTestProperty, disabledProperty, disableProperty, effectiveNodeOrientationProperty, effectProperty, eventDispatcherProperty, executeAccessibleAction, fireEvent, focusedProperty, focusTraversableProperty, getAccessibleHelp, getAccessibleRole, getAccessibleRoleDescription, getAccessibleText, getBaselineOffset, getBlendMode, getBoundsInLocal, getBoundsInParent, getCacheHint, getClassCssMetaData, getClip, getContentBias, getCssMetaData, getCursor, getDepthTest, getEffect, getEffectiveNodeOrientation, getEventDispatcher, getId, getInitialCursor, getInitialFocusTraversable, getInputMethodRequests, getLayoutBounds, getLayoutX, getLayoutY, getLocalToParentTransform, getLocalToSceneTransform, getNodeOrientation, getOnContextMenuRequested, getOnDragDetected, getOnDragDone, getOnDragDropped, getOnDragEntered, getOnDragExited, getOnDragOver, getOnInputMethodTextChanged, getOnKeyPressed, getOnKeyReleased, getOnKeyTyped, getOnMouseClicked, getOnMouseDragEntered, getOnMouseDragExited, getOnMouseDragged, getOnMouseDragOver, getOnMouseDragReleased, getOnMouseEntered, getOnMouseExited, getOnMouseMoved, getOnMousePressed, getOnMouseReleased, getOnRotate, getOnRotationFinished, getOnRotationStarted, getOnScroll, getOnScrollFinished, getOnScrollStarted, getOnSwipeDown, getOnSwipeLeft, getOnSwipeRight, getOnSwipeUp, getOnTouchMoved, getOnTouchPressed, getOnTouchReleased, getOnTouchStationary, getOnZoom, getOnZoomFinished, getOnZoomStarted, getOpacity, getParent, getProperties, getPseudoClassStates, getRotate, getRotationAxis, getScaleX, getScaleY, getScaleZ, getScene, getStyle, getStyleableParent, getTransforms, getTranslateX, getTranslateY, getTranslateZ, getTypeSelector, getUserData, getViewOrder, hasProperties, hoverProperty, idProperty, inputMethodRequestsProperty, intersects, intersects, isCache, isDisable, isDisabled, isFocused, isFocusTraversable, isHover, isManaged, isMouseTransparent, isPickOnBounds, isPressed, isResizable, isVisible, layoutBoundsProperty, layoutXProperty, layoutYProperty, localToParent, localToParent, localToParent, localToParent, localToParent, localToParentTransformProperty, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToSceneTransformProperty, localToScreen, localToScreen, localToScreen, localToScreen, localToScreen, lookup, lookupAll, managedProperty, maxHeight, maxWidth, minHeight, minWidth, mouseTransparentProperty, nodeOrientationProperty, notifyAccessibleAttributeChanged, onContextMenuRequestedProperty, onDragDetectedProperty, onDragDoneProperty, onDragDroppedProperty, onDragEnteredProperty, onDragExitedProperty, onDragOverProperty, onInputMethodTextChangedProperty, onKeyPressedProperty, onKeyReleasedProperty, onKeyTypedProperty, onMouseClickedProperty, onMouseDragEnteredProperty, onMouseDragExitedProperty, onMouseDraggedProperty, onMouseDragOverProperty, onMouseDragReleasedProperty, onMouseEnteredProperty, onMouseExitedProperty, onMouseMovedProperty, onMousePressedProperty, onMouseReleasedProperty, onRotateProperty, onRotationFinishedProperty, onRotationStartedProperty, onScrollFinishedProperty, onScrollProperty, onScrollStartedProperty, onSwipeDownProperty, onSwipeLeftProperty, onSwipeRightProperty, onSwipeUpProperty, onTouchMovedProperty, onTouchPressedProperty, onTouchReleasedProperty, onTouchStationaryProperty, onZoomFinishedProperty, onZoomProperty, onZoomStartedProperty, opacityProperty, parentProperty, parentToLocal, parentToLocal, parentToLocal, parentToLocal, parentToLocal, pickOnBoundsProperty, prefHeight, prefWidth, pressedProperty, pseudoClassStateChanged, queryAccessibleAttribute, relocate, removeEventFilter, removeEventHandler, requestFocus, resize, resizeRelocate, rotateProperty, rotationAxisProperty, scaleXProperty, scaleYProperty, scaleZProperty, sceneProperty, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, screenToLocal, screenToLocal, screenToLocal, setAccessibleHelp, setAccessibleRole, setAccessibleRoleDescription, setAccessibleText, setBlendMode, setCache, setCacheHint, setClip, setCursor, setDepthTest, setDisable, setDisabled, setEffect, setEventDispatcher, setEventHandler, setFocused, setFocusTraversable, setHover, setId, setInputMethodRequests, setLayoutX, setLayoutY, setManaged, setMouseTransparent, setNodeOrientation, setOnContextMenuRequested, setOnDragDetected, setOnDragDone, setOnDragDropped, setOnDragEntered, setOnDragExited, setOnDragOver, setOnInputMethodTextChanged, setOnKeyPressed, setOnKeyReleased, setOnKeyTyped, setOnMouseClicked, setOnMouseDragEntered, setOnMouseDragExited, setOnMouseDragged, setOnMouseDragOver, setOnMouseDragReleased, setOnMouseEntered, setOnMouseExited, setOnMouseMoved, setOnMousePressed, setOnMouseReleased, setOnRotate, setOnRotationFinished, setOnRotationStarted, setOnScroll, setOnScrollFinished, setOnScrollStarted, setOnSwipeDown, setOnSwipeLeft, setOnSwipeRight, setOnSwipeUp, setOnTouchMoved, setOnTouchPressed, setOnTouchReleased, setOnTouchStationary, setOnZoom, setOnZoomFinished, setOnZoomStarted, setOpacity, setPickOnBounds, setPressed, setRotate, setRotationAxis, setScaleX, setScaleY, setScaleZ, setStyle, setTranslateX, setTranslateY, setTranslateZ, setUserData, setViewOrder, setVisible, snapshot, snapshot, startDragAndDrop, startFullDrag, styleProperty, toBack, toFront, toString, translateXProperty, translateYProperty, translateZProperty, usesMirroring, viewOrderProperty, visibleProperty
Методы, объявленные в классе java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Методы, объявленные в интерфейсе javafx.css.Styleable
getStyleableNode, getStyleClass
Подробности свойств
fieldOfView
public final DoubleProperty fieldOfViewProperty
- Значение по умолчанию:
- 30.0
- См. также:
-
getFieldOfView(),setFieldOfView(double)
verticalFieldOfView
public final BooleanProperty verticalFieldOfViewProperty
fieldOfView применяться к вертикальному измерению проекции. Если это false, то fieldOfView будет применяться к горизонтальному измерению проекции.- Значение по умолчанию:
- true
- С момента:
- JavaFX 8.0
- См. также:
-
isVerticalFieldOfView(),setVerticalFieldOfView(boolean)
Подробности конструкторов
PerspectiveCamera
public PerspectiveCamera()
PerspectiveCamera
public PerspectiveCamera(boolean fixedEyeAtCameraZero)
В стандартной камере, где fixedEyeAtCameraZero ложно, значение Z позиции глаза корректируется так, что матрица проекции, сгенерированная с указанным fieldOfView, будет создавать единицы в Z = 0 (плоскость проекции) в пикселях, независимых от устройства, аналогично ParallelCamera. При изменении размера сцены, объекты в сцене на плоскости проекции (Z = 0) останутся одинакового размера, но больше или меньше содержимого сцены будет отображаться.
Если fixedEyeAtCameraZero истинно, позиция глаза фиксируется в (0, 0, 0) в локальных координатах камеры. Матрица проекции генерируется с использованием указанного fieldOfView, а объем проекции отображается на область просмотра (окно) таким образом, чтобы он растягивался на большее или меньшее количество пикселей, независимых от устройства, на плоскости проекции. При изменении размера сцены объекты в сцене будут уменьшаться или увеличиваться пропорционально, но видимая часть содержимого останется неизменной.
Рекомендуется установить fixedEyeAtCameraZero в true, если вы собираетесь преобразовывать (перемещать) камеру. Преобразование камеры, когда fixedEyeAtCameraZero установлено в false, может привести к неинтуитивным результатам.
- Параметры:
-
fixedEyeAtCameraZero- true, если позиция глаза фиксирована в (0, 0, 0) в локальных координатах камеры. - С момента:
- JavaFX 8.0
Подробности методов
setFieldOfView
public final void setFieldOfView(double value)
- Описание свойства:
- Указывает угол поля зрения проекции камеры, измеряемый в градусах.
- Значение по умолчанию:
- 30.0
getFieldOfView
public final double getFieldOfView()
- Описание свойства:
- Указывает угол поля зрения проекции камеры, измеряемый в градусах.
- Значение по умолчанию:
- 30.0
fieldOfViewProperty
public final DoubleProperty fieldOfViewProperty()
- Значение по умолчанию:
- 30.0
- См. также:
-
getFieldOfView(),setFieldOfView(double)
setVerticalFieldOfView
public final void setVerticalFieldOfView(boolean value)
- Описание свойства:
- Определяет, будет ли свойство
fieldOfViewприменяться к вертикальному измерению проекции. Если это false, тоfieldOfViewбудет применяться к горизонтальному измерению проекции. - Значение по умолчанию:
- true
- С момента:
- JavaFX 8.0
isVerticalFieldOfView
public final boolean isVerticalFieldOfView()
- Описание свойства:
- Определяет, будет ли свойство
fieldOfViewприменяться к вертикальному измерению проекции. Если это false, тоfieldOfViewбудет применяться к горизонтальному измерению проекции. - Значение по умолчанию:
- true
- С момента:
- JavaFX 8.0
verticalFieldOfViewProperty
public final BooleanProperty verticalFieldOfViewProperty()
fieldOfView применяться к вертикальному измерению проекции. Если это false, то fieldOfView будет применяться к горизонтальному измерению проекции.- Значение по умолчанию:
- true
- С момента:
- JavaFX 8.0
- См. также:
-
isVerticalFieldOfView(),setVerticalFieldOfView(boolean)
isFixedEyeAtCameraZero
public final boolean isFixedEyeAtCameraZero()
fixedEyeAtCameraZero равно true, то позиция глаза фиксируется в (0, 0, 0) в локальных координатах камеры. Этот атрибут неизменяем.- Возвращает:
- флаг, указывающий, использует ли эта камера фиксированную позицию глаза в начале координат камеры
- С момента:
- JavaFX 8.0
© 2008, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from JavaFX API Documentation.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Java, JavaFX and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.