JavaFX 3D开发全解析:从基础构建到交互实现
1. 3D相机节点的创建与设置
在JavaFX中创建3D相机节点,如 PerspectiveCamera
,就像创建 BorderPane
或 Button
一样,会创建一个独立的场景图节点。它需要像其他节点一样添加到场景中,但相机节点有其特殊性,需通过 scene.setCamera()
方法添加。
PerspectiveCamera
构造函数的布尔参数决定了3D原点的位置:
- 设置为 true
时,所有3D布局将从(0,0,0)原点开始,所有轴在屏幕中心交叉,这适用于大多数JavaFX构建的3D场景。
- 设置为 false
时,3D原点位于左上角,类似于2D组件布局。
对于大多数场景, PerspectiveCamera(true)
是理想选择。不过,某些场景,特别是科学数据显示,使用左上角原点会更自然。
选择相机类型的经验法则 :如果计划在场景中大量平移和旋转相机,应使用 PerspectiveCamera(true)
。
2. 3D图元的使用
JavaFX 9提供了一些现成的几何形状,即图元,可像添加传统节点一样添加到场景中。
2.1 添加圆柱体图元示例
以下是向JavaFX 3D场景添加