Класс Camera
- Все реализуемые интерфейсы:
-
Styleable,EventTarget
- Прямые известные подклассы:
-
ParallelCamera,PerspectiveCamera
public abstract class Camera
extends Node ParallelCamera и PerspectiveCamera. По умолчанию камера расположена в сцене таким образом, что её плоскость проекции в пространстве координат сцены находится в Z = 0, и она смотрит на экран в положительном направлении Z. Расстояние по Z от камеры до плоскости проекции определяется значениями width и height сцены, к которой она прикреплена, и её fieldOfView.
nearClip и farClip этой камеры задаются в пространстве координат наблюдателя. Это пространство определено таким образом, что наблюдатель находится в его начале координат, а плоскость проекции расположена на единицу впереди наблюдателя в положительном направлении Z.
Следующий псевдокод представляет математику, используемую для вычисления ближней и дальней отсечек в пространстве координат сцены:
final double tanOfHalfFOV = Math.tan(Math.toRadians(FOV) / 2.0); final double halfHeight = HEIGHT / 2; final double focalLenght = halfHeight / tanOfHalfFOV; final double eyePositionZ = -1.0 * focalLenght; final double nearClipDistance = focalLenght * NEAR + eyePositionZ; final double farClipDistance = focalLenght * FAR + eyePositionZ;
где FOV — это fieldOfView в градусах, NEAR — это nearClip, заданное в пространстве наблюдателя, а FAR — это farClip, заданное в пространстве наблюдателя.
Примечание: Поскольку класс ParallelCamera не имеет свойства fieldOfView, используется вертикальное поле зрения 30 градусов.
Примечание: В случае с PerspectiveCamera, где атрибут fixedEyeAtCameraZero имеет значение true, пространство координат сцены нормализуется для соответствия усечённому конусу обзора (см. PerspectiveCamera для получения более подробной информации). В этом режиме пространство координат наблюдателя совпадает с локальным пространством координат этого узла Camera. Следовательно, вышеупомянутая формула преобразования не используется.
Приложение не должно напрямую расширять класс Camera. Это может привести к исключению UnsupportedOperationException.
- С момента:
- JavaFX 2.0
Краткое описание свойств
| Тип | Свойство | Описание |
|---|---|---|
DoubleProperty | farClip | Указывает расстояние от наблюдателя до дальней отсекающей плоскости этой Camera в пространстве координат наблюдателя. |
DoubleProperty | nearClip | Указывает расстояние от наблюдателя до ближней отсекающей плоскости этой Camera в пространстве координат наблюдателя. |
Свойства, объявленные в классе 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
Краткое описание конструкторов
| Модификатор | Конструктор | Описание |
|---|---|---|
protected | Camera() |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
DoubleProperty | farClipProperty() | Указывает расстояние от наблюдателя до дальней отсекающей плоскости этой Camera в пространстве координат наблюдателя. |
double | getFarClip() | Возвращает значение свойства farClip. |
double | getNearClip() | Возвращает значение свойства nearClip. |
DoubleProperty | nearClipProperty() | Указывает расстояние от наблюдателя до ближней отсекающей плоскости этой Camera в пространстве координат наблюдателя. |
void | setFarClip(double value) | Устанавливает значение свойства farClip. |
void | setNearClip(double value) | Устанавливает значение свойства nearClip. |
Методы, объявленные в классе 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
Подробное описание свойств
nearClip
public final DoubleProperty nearClipProperty
Camera в пространстве координат глаза. Объекты, расположенные ближе к глазу, чем nearClip, не отображаются. nearClip задаётся значением, большим нуля. Значение, меньшее или равное нулю, обрабатывается как очень маленькое положительное число.- Значение по умолчанию:
- 0.1
- С:
- JavaFX 8.0
- См. также:
-
getNearClip(),setNearClip(double)
farClip
public final DoubleProperty farClipProperty
Camera в пространстве координат глаза. Объекты, расположенные дальше от глаза, чем farClip, не отображаются. farClip задаётся значением, большим чем nearClip. Значение, меньшее или равное nearClip, обрабатывается как nearClip плюс очень маленькое положительное число.- Значение по умолчанию:
- 100.0
- С:
- JavaFX 8.0
- См. также:
-
getFarClip(),setFarClip(double)
Подробное описание конструкторов
Camera
protected Camera()
Подробное описание методов
setNearClip
public final void setNearClip(double value)
- Описание свойства:
- Указывает расстояние от глаза до ближней плоскости обрезания этого
Cameraв пространстве координат глаза. Объекты, расположенные ближе к глазу, чемnearClip, не отображаются.nearClipзадаётся значением, большим нуля. Значение, меньшее или равное нулю, обрабатывается как очень маленькое положительное число. - Значение по умолчанию:
- 0.1
- С:
- JavaFX 8.0
getNearClip
public final double getNearClip()
- Описание свойства:
- Указывает расстояние от глаза до ближней плоскости обрезания этого
Cameraв пространстве координат глаза. Объекты, расположенные ближе к глазу, чемnearClip, не отображаются.nearClipзадаётся значением, большим нуля. Значение, меньшее или равное нулю, обрабатывается как очень маленькое положительное число. - Значение по умолчанию:
- 0.1
- С:
- JavaFX 8.0
nearClipProperty
public final DoubleProperty nearClipProperty()
Camera в пространстве координат глаза. Объекты, расположенные ближе к глазу, чем nearClip, не отображаются. nearClip задаётся значением, большим нуля. Значение, меньшее или равное нулю, обрабатывается как очень маленькое положительное число.- Значение по умолчанию:
- 0.1
- С:
- JavaFX 8.0
- См. также:
-
getNearClip(),setNearClip(double)
setFarClip
public final void setFarClip(double value)
- Описание свойства:
- Указывает расстояние от глаза до дальней плоскости обрезания этого
Cameraв пространстве координат глаза. Объекты, расположенные дальше от глаза, чемfarClip, не отображаются.farClipзадаётся значением, большим чемnearClip. Значение, меньшее или равноеnearClip, обрабатывается какnearClipплюс очень маленькое положительное число. - Значение по умолчанию:
- 100.0
- С:
- JavaFX 8.0
getFarClip
public final double getFarClip()
- Описание свойства:
- Указывает расстояние от глаза до дальней плоскости обрезания этого
Cameraв пространстве координат глаза. Объекты, расположенные дальше от глаза, чемfarClip, не отображаются.farClipзадаётся значением, большим чемnearClip. Значение, меньшее или равноеnearClip, обрабатывается какnearClipплюс очень маленькое положительное число. - Значение по умолчанию:
- 100.0
- С:
- JavaFX 8.0
farClipProperty
public final DoubleProperty farClipProperty()
Camera в пространстве координат глаза. Объекты, расположенные дальше от глаза, чем farClip, не отображаются. farClip задаётся значением, большим чем nearClip. Значение, меньшее или равное nearClip, обрабатывается как nearClip плюс очень маленькое положительное число.- Значение по умолчанию:
- 100.0
- С:
- JavaFX 8.0
- См. также:
-
getFarClip(),setFarClip(double)
© 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.