在JavaFX中为面板中的对象设置摄影机
我正在用我的IDE和JavaFX场景生成器用JavaFX构建一个应用程序 “场景”对象在扩展应用程序的类中定义。在这个类的一个嵌套面板中,我加载了另一个.fxml文件 另一个.fxml文件与一个Java类配对,它包含一些我想要显示的形状 如果将摄影机添加到场景对象,摄影机将应用于GUI中的所有面板、菜单和其余元素。我只希望摄影机应用于包含形状的内部面板,但当我查找文档时,摄影机始终添加到场景中 这是Application类中的代码,也是我第一次尝试添加摄影机,正如我前面解释的,当摄影机应用于应用程序窗口中的所有内容时,会产生奇怪的结果:在JavaFX中为面板中的对象设置摄影机,java,javafx,3d,javafx-8,Java,Javafx,3d,Javafx 8,我正在用我的IDE和JavaFX场景生成器用JavaFX构建一个应用程序 “场景”对象在扩展应用程序的类中定义。在这个类的一个嵌套面板中,我加载了另一个.fxml文件 另一个.fxml文件与一个Java类配对,它包含一些我想要显示的形状 如果将摄影机添加到场景对象,摄影机将应用于GUI中的所有面板、菜单和其余元素。我只希望摄影机应用于包含形状的内部面板,但当我查找文档时,摄影机始终添加到场景中 这是Application类中的代码,也是我第一次尝试添加摄影机,正如我前面解释的,当摄影机应用于应用
public void initRootLayout() {
try {
// Load root layout from fxml file.
FXMLLoader loader = new FXMLLoader();
loader.setLocation(MainApp.class.getResource("view/RootLayout.fxml"));
rootLayout = (BorderPane) loader.load();
// Show the scene containing the root layout.
Scene scene = new Scene(rootLayout);
addCameraAndLights(scene, null);
primaryStage.setScene(scene);
primaryStage.show();
} catch (IOException e) {
e.printStackTrace();
}
}
使用a来包含3D形状
SubScene类是场景图中内容的容器。子场景提供场景不同部分的分离,每个部分都可以使用不同的摄影机、深度缓冲区或场景抗锯齿进行渲染。子场景嵌入到主场景或另一个子场景中
可以将子场景上的摄影机与应用于根场景上的任何摄影机分开
以下问题的答案中提供了亚场景使用的示例: