Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/348.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在JavaFX中为面板中的对象设置摄影机_Java_Javafx_3d_Javafx 8 - Fatal编程技术网

在JavaFX中为面板中的对象设置摄影机

在JavaFX中为面板中的对象设置摄影机,java,javafx,3d,javafx-8,Java,Javafx,3d,Javafx 8,我正在用我的IDE和JavaFX场景生成器用JavaFX构建一个应用程序 “场景”对象在扩展应用程序的类中定义。在这个类的一个嵌套面板中,我加载了另一个.fxml文件 另一个.fxml文件与一个Java类配对,它包含一些我想要显示的形状 如果将摄影机添加到场景对象,摄影机将应用于GUI中的所有面板、菜单和其余元素。我只希望摄影机应用于包含形状的内部面板,但当我查找文档时,摄影机始终添加到场景中 这是Application类中的代码,也是我第一次尝试添加摄影机,正如我前面解释的,当摄影机应用于应用

我正在用我的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类是场景图中内容的容器。子场景提供场景不同部分的分离,每个部分都可以使用不同的摄影机、深度缓冲区或场景抗锯齿进行渲染。子场景嵌入到主场景或另一个子场景中

可以将子场景上的摄影机与应用于根场景上的任何摄影机分开

以下问题的答案中提供了亚场景使用的示例: