TileMap auf 3D Quad

javaPanther

Mitglied
Hallo liebe Javalianer,
ich versuche derzeit mit der jMonkeyEngine 3 eine 2D + 3D Projektierung umzusetzen und wollte den 2D "Teil" mit Hilfe einer TileMap lösen. Hierfür scheinen die Texturkoordinaten die richtige Adresse zu sein, allerdings bin ich neu in der 3D Szene und würde gerne in Erfahrung bringen, wie man das bei JME3 umsetzen kann.

Wer in diesem Kontext noch einen Hinweis auf die Verwendung einer .tmx tilemap (insbesondere deren Dechiffrierung) geben kann ist ebenfalls sehr willkommen!

Meine bisherige Implementierung mit einzelnen Quads (Was der Performance aber so gar nicht gefällt):

Java:
Quad box = new Quad(1,1);
		box.scaleTextureCoordinates(Vector2f.UNIT_XY.mult(1.0f));
        Spatial wall = new Geometry("Box", box );
        Material mat_brick = new Material( assetManager, "Common/MatDefs/Misc/Unshaded.j3md");
        mat_brick.setTexture("ColorMap", assetManager.loadTexture("assets/Textures/Papier_" + (new Random().nextInt(3)+1) + ".png"));
        mat_brick.getAdditionalRenderState().setBlendMode(BlendMode.Alpha);
        wall.setQueueBucket(Bucket.Transparent);
        wall.setMaterial(mat_brick);
        wall.setLocalTranslation(x, y, z);
        wall.rotate(-FastMath.HALF_PI, 0, 0);
        wall.setShadowMode(ShadowMode.Receive);
        rootNode.attachChild(wall);

Beste Grüße und Dank im Voraus!
 

Marco13

Top Contributor
Den Zusammenhang zu libGDX kapier ich grad nicht ???:L
Egal.
Ist das wirklich viel schneller, wenn es NICHT einzlene Quads sind? Also, bist du sicher, dass es langsam ist, weil es einzele Quads sind, oder liegt es vielleicht an Schatten & Co?
 

javaPanther

Mitglied
Hi danke erstmal für die Anregungen,
das mit den Quads ist mir beim herauszoomen aufgefallen, da je weiter ich mich mit der Kamera aus der Szene rausbewege, desto schlechter wird die Framerate. Dies wird daran liegen, dass die Schatten der 3D Objekte wohl nur für die einzelnen im Viewport liegenden Objekte berechnet werden muss und deren Zahl beim Zoom steigt. Daher würde ich annehmen, dass ein einziges zu berücksichtigendes Element besser wäre als viele.
 

Ähnliche Java Themen

Neue Themen


Oben