Frage von gut4fr5g4, 10

LibGDX Wie 3d programmieren?

Wie kann ich in LibGDX ein simples Spiel machen, indem man einfach nur mit W A S und D rumläuft (Der Boden soll einfach ein raster o.ä. sein

Ihr müsst (wäre geil aber ich kann ja keinen zwingen) keinen code schicken sondern es nur erklären, denn ich kann mir das irgendwie so garnicht vorstellen und es interessiert mich einfach

Antwort
von Springrbua, 8

In LibGDX gibt es verschiedene Arten von Cameras. Eine davon ist die OrthographicCamera für 2D, die andere ist die PerspectiveCamera, welche wie der Name schon sagt eine perspektivische Projektion hat und 3D Szenen rendern kann.

Zudem gibt es ja verscheidene Renderer. Du kennst vermutlich bereits den ShapeRenderer, welcher einfache, geometrische Formen rendern kann oder den SpriteBatch, welcher Sprites und Texturen rendern kann.

Es gibt noch einen weiteren Batch und zwar den ModelBatch, welcher 3D Modelle, abhängig von der PerspectiveCamera, rendern kann.

Die 3D Modelle kannst du entweder importieren (soweit ich weiß werden verschiedene Formate unterstützt), oder auch zur Laufzeit mit dem ModelBuilder erstellen. Letzterer wird eher fürs debugging verwendet.

Die Bewegung anhand der Tasteneingaben funktioniert im Grunde gleich wie in 2D, nur halt mit einer zusätzlichen Achse, welche du aber ja ignorieren möchtest.

Der andere Antwortgeber hat ja bereits ein gutes Tutorial verlinkt. Dieses wurde vom Macher der LibGDX 3D API selbst geschrieben, das solltest du dir also unbedingt durchlesen.

Zudem rate ich dir auch das Wiki durchzulesen https://github.com/libgdx/libgdx/wiki/3D-Graphics).

Dort werden wichtige Dinge wie z.B: das Material oder das Environment u.s.w. erklärt.

LG

Antwort
von XVirusX, 8

Naja du benutzt anstatt einer OrthographiCamera, die 3d in 2d projiziert, eine Perspectivecamera. Mit dem ModelBuilder kannst du eine box bauen... In der update() methode kannst du wie in 2D auch Tastatureingaben auslesen und die Box dann nach in die gewünschte Richtung bewegen. Es gibt in 3D halt 3 Dimensionen. Kuck dir am Besten paar Beispiele an. Wenn du in 2D programmieren kannst, sollte das einfach zu verstehen sein.
https://xoppa.github.io/blog/basic-3d-using-libgdx/

Keine passende Antwort gefunden?

Fragen Sie die Community