Javafx - Image soll sich mit der Camera mitbewegen

Wjob

Neues Mitglied
Hey, ich wollte im 3D raum eine art UI mit Information über den Spieler der am zug ist programmieren. Ich habe es derzeit mit image geregelt.

Code:
Image playerImage = new Image( getClass().getResource("soraka.png").toExternalForm(),
                100, 100, true, true);
        ImageView imgView = new ImageView(playerImage);

        double x = 0;
        double y = 0;
        //hier wahrscheinlich  etwas umständlich gemacht 
        for (int i = 0; i < camera.getTransforms().size() ; i++)
        {
            x += camera.getTransforms().get(i).getTx();
            y += camera.getTransforms().get(i).getTy();
        }

        imgView.setX(x);
        imgView.setY(y);


        root.getChildren().add(imgView);

Das Bild wird jedoch einfach auf die X-Achse geworfen und ich habe keine Optionen es, wie die anderen 3D Objekte mit drei Koordinaten richtig zu bewegen sonder nur mit X und Y. Deswegen skaliert es nicht richtig, wenn ich mit der camera hoch oder runter fahre.

Meine Frage ist, gibt es ein Befehle damit ein Objekte an der camera heften bleiben oder steht im Vordergrund ist (also nicht von 3D Objekten verdeckt wird)? Oder ist Image eine schlechte Idee für mein Vorhaben? Bin noch recht neu mit javafx unterwegs, habt also bitte nachsichtig mit mir.
 
Nein, ich denke nicht, dass es eine grundsätzlich eine schlechte Idee wäre. Da ich selbst noch nie mit den 3D-Features gespielt habe (obwohl ich JavaFX schon etwa seit erscheinen der Version 2.1 verwende), bin ich mir allerdings nicht zu 100% sicher, wie man es richtig macht. Es scheint, als wäre als erstes meist eine Group als Container verwendet worden:
http://docs.oracle.com/javase/8/javafx/visual-effects-tutorial/effect-types.htm#CIHFAJCI
http://docs.oracle.com/javafx/8/3d_graphics/camera.htm
http://www.developer.com/java/data/3d-graphics-in-javafx.html
...
(Group ist mitunter die bessere Wahl, wenn du recht spezielle Transformationen/Scaling/etc. verwendest.)

Wenn ich mich auf YouTube umschaue, scheint es auch einige Varianten zu geben, die Images und sogar Videos in 3D darstellen:

Etwas Hilfe könnte dir vielleicht folgende Bibliothek geben:
https://github.com/FXyz/FXyz
A JavaFX 3D Visualization and Component Library

Schau dich mal um! 😉
 

Neue Themen


Zurück
Oben