Я хочу сделать 3d-объекты (используя blender) и поместить их в javaFx, используя Interactive Me sh: Браузер моделей. Это выдает F XML со всей необходимой мне информацией. У меня есть камера в этом F XMl (которая в основном пришла из Blender), и я хочу, чтобы она использовала эту камеру в качестве ОСНОВНОЙ камеры.
Я попытался загрузить объект из f xml, используя lookup и getNamespace.
import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Group;
import javafx.scene.*;
import javafx.stage.Stage;
import java.io.IOException;
public class main extends Application {
public static void main(String[] args) {
launch(args);
}
public void start(Stage stage){
FXMLLoader loader = new FXMLLoader(getClass().getResource("ground.fxml"));
Group base = new Group();
PerspectiveCamera camera;
Parent root=new Parent(){};
try {
root = loader.load();
}catch (IOException e){
e.printStackTrace();
}
base=(Group)root.lookup("#Full3DScene");
camera= (PerspectiveCamera) base.lookup("#camera");
Scene scene = new Scene(base,1920,1080);
stage.setScene(scene);
scene.setCamera(camera);
stage.show();
camera.getId();
}
}
Заранее спасибо! Это вид с камеры с использованием InteractiveMe sh: ModelBrowserJFX 0.4.1
F XML Похоже:
<Group fx:id="Full3DScene" xmlns:fx="http://javafx.com/fxml/1" xmlns="http://javafx.com/javafx/8.0.121" fx:controller="Controller">
<transforms>
<Rotate angle="-90.0" pivotX="0.0" pivotY="0.0" pivotZ="0.0">
<axis>
<Point3D x="1.0" y="0.0" z="0.0" />
</axis>
</Rotate>
</transforms>
<children>
//...all objects for the scene...
//+
<PerspectiveCamera fx:id="camera">
</PerspectiveCamera>
</children>
</Group>
Что я сделал Blender- > .dae (Collada) -> InteractiveMe sh: Браузер моделей-> F XML -> javaFx