По умолчанию, fixedEyeAtCameraZero имеет значение false, и при изменении размера сцены объекты в сцене на плоскости проекции (в координате Z = 0) будут иметь тот же размер, но для просмотра будет доступно больше или меньше содержимого сцены, то есть будет изменяться положение глаз.
Здесь у нас этот параметр имеет значение false, и при увеличении размера сцены мы начинаем видеть другие поверхности куба.
Если значение параметра true, положение глаза фиксировано в локальных координатах камеры. При изменении размера сцены объекты в сцене будут уменьшаться или увеличиваться пропорционально, но видимая часть содержимого изменяться не будет.
В этом случае, чтобы увидеть сцену, нужно тщательно подбирать расстояние от камеры до дальней плоскости отсечения, которое по умолчанию имеет значение 100, чтобы захватить объекты сцены, и расстояние камеры по оси Z до плоскости проекции, чтобы получить адекватные видимые размеры объектов.
Что касается угла fieldOfView, так как расстояние по оси Z от камеры до плоскости проекции определяется шириной и высотой сцены, и ее углом fieldOfView, то при увеличении этого угла методом setFieldOfView, который по умолчанию имеет значение 30, объекты цены становятся дальше от камеры.
Если использовать параллельную камеру, ее можно двигать по осям X и Y, смещая отображение сцены.
Двигать параллельную камеру по оси Z не имеет смысла.
Сцена может использовать только одну камеру.
Но иногда вы хотите просмотреть различные части сцены, используя несколько разных камер.
Или, например, вы хотите разместить элементы управления, которые не будут зависеть от перемещения камеры основной сцены.
Поэтому JavaFX предоставляет возможность создавать подсцены.
Подсцена – это контейнер для графа сцены. Он может иметь собственные характеристики, такие как, собственная ширина, высота, цвет заливки, и так далее.
Подсцена наследует класс Node.
Таким образом, подсцена может использоваться везде, где может использоваться узел.