我正在使用IDE和Java FX Scene Builder使用JavaFX构建应用程序。

“场景”对象在扩展Application的类中定义。在此类的一个嵌套面板中,我加载了另一个.fxml文件。

与Java类配对的另一个.fxml文件包含我要显示的某些形状。

如果将照相机添加到Scene对象,则照相机将应用于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();
      }
   }

最佳答案

使用SubScene包含3D形状。


  SubScene类是场景图中内容的容器。 SubScene提供了场景不同部分的分离,每个部分都可以使用不同的相机,深度缓冲区或场景抗锯齿进行渲染。 SubScene嵌入到主场景或另一个子场景中。


您可以在子场景上set a camera与应用于根场景的任何摄像机分开。

答案中提供了SubScene使用示例:


How to create custom 3d model in JavaFX 8?

08-28 04:59