Zuhause Persönliche Finanzen 3 Schritte zum Erstellen einer 3D-Java-Welt - Dummies

3 Schritte zum Erstellen einer 3D-Java-Welt - Dummies

Inhaltsverzeichnis:

Video: Erstelle dein eigenes Spiel mit Godot (Einstieg Teil 1) 2024

Video: Erstelle dein eigenes Spiel mit Godot (Einstieg Teil 1) 2024
Anonim

In wenigen Schritten können Sie beginnen, ein relativ einfaches 3D-Programm in JavaFX zu erstellen, das die dreidimensionale Welt anzeigt (ein Beispiel wird unten gezeigt)… Wie Sie sehen können, enthält dieser 3D-Raum vier Formen: eine Kugel, einen Würfel, einen Zylinder und eine Pyramide. Diese kurze Liste zeigt Ihnen, wie Sie mit einem Zylinder beginnen können.

Setzen Sie Ihr Thinking Cap auf, da dieses Beispiel manchmal ziemlich technisch ist und viele der Konzepte zum Erstellen von 3D-Welten verwirrend sein können, besonders wenn dies Ihre erste Erfahrung mit 3D-Programmierung ist.

Ein Beispiel für ein 3D-Programm in JavaFX.

Schritt eins: Einen Zylinder hinzufügen

In diesem Schritt fügen Sie Ihrer Welt ein einfaches 3D-Objekt hinzu. JavaFX bietet drei grundlegende Formen, die Sie hinzufügen können: Zylinder, Boxen und Kugeln. Beginnen Sie mit dem Hinzufügen eines Zylinders:

Zylinderzylinder = neuer Zylinder (100, 50); Wurzel. getChildren (). hinzufügen (Zylinder);

Der Cylinder-Klassenkonstruktor akzeptiert zwei Argumente: den Radius des Zylinders und seine Höhe. Dieses Beispiel erzeugt einen Zylinder, der ungefähr die Form eines Hockey-Pucks hat, viermal so groß wie groß; Dann fügt es den Zylinder dem Stammknoten der Szene hinzu.

Zu ​​diesem Zeitpunkt existiert der Zylinder in der Welt, ist aber nicht sichtbar. Je nachdem, was Sie über 2D-Formen wissen, können Sie versucht sein, diese sichtbar zu machen, indem Sie eine Füllfarbe (setFill) oder eine Strichfarbe (setStroke) hinzufügen. Aber so funktionieren 3D-Objekte nicht. Im nächsten Schritt lernen Sie, wie Sie ein Material auf die Oberfläche des Zylinders aufbringen, damit es in der Szene sichtbar wird.

Schritt zwei: Erstellen Sie ein Material

Das Rendern der Flächen eines 3D-Objekts ist viel komplizierter als das Rendern flacher, zweidimensionaler Objekte. Bei einem 2D-Objekt wenden Sie einfach ein Paint-Objekt über die setFill-Methode an. Die Farbe kann eine einfache Farbe, eine Verlaufsfarbe oder ein Bild sein.

Bei 3D-Objekten wird keine Farbe aufgetragen. Stattdessen wenden Sie ein spezielles Objekt namens Phong-Material an, das von der PhongMaterial-Klasse repräsentiert wird. Ein Phong-Material (benannt nach Bui Tuong Phong, einem bahnbrechenden Computergrafik-Experten in den 1970er Jahren) liefert die Mittel, mit denen die Gesichter eines 3D-Objekts realistisch gerendert werden.

Der folgende Code erstellt ein einfaches Phong-Material basierend auf zwei Blautönen und wendet das Material dann auf den Zylinder an:

PhongMaterial blueStuff = new PhongMaterial (); blueStuff. setDiffuseColor (Farbe. HELLBLAU); blueStuff. setSpecularColor (Farbe. BLAU); Zylinder. setMaterial (blueStuff);

Nachdem das Phong-Material auf den Zylinder aufgebracht wurde, ist der Zylinder wie abgebildet in der Szene sichtbar.

Der 3D-Zylinder mit einem Phong-Material.

Schritt drei: Übersetzen Sie den Zylinder

Sie haben zweifellos bemerkt, dass der Zylinder nicht sehr dreidimensional aussieht. Das liegt daran, dass Sie es direkt am Rand sehen: Die Kamera zeigt gerade auf den Schnittpunkt der x- und y-Achsen, und der Zylinder ist genau an dieser Stelle zentriert.

Um eine gewisse Perspektive auf den Zylinder zu erhalten, können Sie ihn an einen anderen Ort im 3D-Raum verschieben, indem Sie die x-, y- und z-Koordinaten übersetzen. Zum Beispiel:

Zylinder. setTranslateX (-200); Zylinder. setTranslateY (200); Zylinder. setTranslateZ (200);

Hier wird der Zylinder um 200 Einheiten nach links, 200 Einheiten nach unten und 200 Einheiten von der Kamera entfernt bewegt. Die resultierende Ansicht sieht eher wie ein Zylinder aus, wie Sie hier sehen können.

Der übersetzte 3D-Zylinder.

In dieser Abbildung sieht es so aus, als ob der Zylinder nach vorne gedreht wurde, so dass Sie etwas von der Oberfläche sehen können. Dies ist jedoch nicht der Fall. Was tatsächlich passiert ist, ist, dass Sie nicht mehr auf den Zylinderrand schauen.

Stattdessen blicken Sie auf den Zylinder, weil sich der Zylinder unter der Kamera befindet. So können Sie ein bisschen von der Oberseite sehen. Sie betrachten es auch von der Seite, was erklärt, warum es nur ein bisschen gekippt aussieht.

3 Schritte zum Erstellen einer 3D-Java-Welt - Dummies

Die Wahl des Herausgebers

Bearbeiten in Photoshop Elements 10 Schnellfoto-Bearbeitungsmodus - Schnuller

Bearbeiten in Photoshop Elements 10 Schnellfoto-Bearbeitungsmodus - Schnuller

Schneller Foto-Bearbeitungsmodus ist eine abgespeckte Version des Modus "Full Photo Edit", der einfach grundlegende Fixingtools bereitstellt und mit einigen einzigartigen Funktionen aufwartet, z. B. eine Vorher-Nachher-Vorschau Ihres Bildes. Hier ist ein Schritt-für-Schritt-Workflow, den Sie im Schnellfoto-Bearbeitungsmodus verwenden können, um Ihre Fotos zu reparieren:

Zum Optimieren von Photoshop Elements-Bildern mit Fotoeffekten - Dummies

Zum Optimieren von Photoshop Elements-Bildern mit Fotoeffekten - Dummies

Fotoeffekte in Photoshop Elements 11 funktionieren wie Anwenden von Filtern; Das Dialogfeld "Filtergalerie" bietet Ihnen zahlreiche Optionen zum Anwenden eines Filters. Das geführte Bedienfeld bietet Ihnen Filtereffekte und führt Sie dann durch die Schritte zum Anpassen von Helligkeitswerte, Ändern von Farbton und Sättigung und Durchführen weiterer Anpassungen zum Vervollkommnen des Ergebnisses. Sie ...

Eingeben des Absatztyps in Photoshop Elements 11 - Dummies

Eingeben des Absatztyps in Photoshop Elements 11 - Dummies

Absatztyp in Photoshop Elements 11 ist ähnlich zu dem Text, den Sie in ein Textverarbeitungsprogramm eingeben, mit der Ausnahme, dass er in einem Textfeld oder einem Begrenzungsrahmen enthalten ist. Wenn Sie größere Textabschnitte haben, die Sie in ein Bild eingeben möchten, ist die Eingabe des Textes als Absatztyp die praktischste Option. Während ...

Die Wahl des Herausgebers

PHP-Anweisungen - Dummys

PHP-Anweisungen - Dummys

PHP ist eine Skriptsprache, die speziell für die Verwendung im Internet entwickelt wurde. Es enthält Funktionen, die Sie bei der Programmierung der Aufgaben unterstützen, die für die Entwicklung dynamischer Webanwendungen erforderlich sind. Diese Tabelle gibt einen kurzen Überblick über einige der Anweisungen, die Sie häufig verwenden werden: Anweisung Beschreibung array ("key" => "value", ...); Casts a ...

PHP-Schablonen-Systeme - Schablonen-Systeme

PHP-Schablonen-Systeme - Schablonen-Systeme

Können die Menge an Arbeit reduzieren, die Sie für die Erstellung einer Website in PHP benötigen. Wenn Sie eine Website erstellen, verwenden Sie häufig das gleiche Layout für die gesamte Website. Sie haben eine obere Portion, vielleicht mit einem Menü; ein Hauptinhaltsbereich; und ein unterer Teil, vielleicht mit Links oder ...

Make MySQL Datenbank Änderungen mit den ALTER Query - Dummies

Make MySQL Datenbank Änderungen mit den ALTER Query - Dummies

Die ALTER Query wird verwendet, um die Struktur von eine MySQL-Datenbank. In dieser Liste wird die Syntax für die Änderungen angezeigt, die Sie wahrscheinlich vornehmen möchten: ADD-Spaltenbezeichnung ALTER-Spaltenname SET-DEFAULT-Wert ALTER-Spaltenname DROP DEFAULT CHANGE-Spaltenname newcolname-Definition DROP-Spaltenname MODIFY-Spaltenname RENAME newtablename

Die Wahl des Herausgebers

Hochgeschwindigkeitsdatencaching mit NoSQL - Dummies

Hochgeschwindigkeitsdatencaching mit NoSQL - Dummies

Mit NoSQL haben Sie Hochgeschwindigkeits-Caching. Stellen Sie sich vor, Sie sind Bankangestellte und arbeiten mit drei anderen Kollegen zusammen. Jeder hat eine Reihe von Leuten, die bedient werden sollen. Einer der Kunden bleibt jedoch in der Schlange, um zu fragen, ob sein Scheck bereits eingelöst und der Betrag seinem Konto gutgeschrieben wurde. Wenn Sie ...

Wie man Einsichten aus Big Data kommuniziert - Dummies

Wie man Einsichten aus Big Data kommuniziert - Dummies

Big Data kann helfen, Einblicke zu gewinnen. Unternehmen gewinnen Wettbewerbsvorteile, wenn die richtigen Informationen zur richtigen Zeit an die richtigen Leute geliefert werden. Dies bedeutet, Erkenntnisse und Informationen aus Daten zu extrahieren und sie Entscheidungsträgern auf eine Weise zu vermitteln, die sie leicht verstehen. Schließlich sind Menschen weniger wahrscheinlich zu handeln, wenn sie ...

Zookeeper und HBase Reliability - dummies

Zookeeper und HBase Reliability - dummies

Zookeeper ist ein verteiltes Cluster von Servern, das gemeinsam zuverlässige Koordinations- und Synchronisationsdienste für Cluster-Anwendungen bereitstellt. .. Zugegeben, der Name "Zookeeper" mag auf den ersten Blick eine seltsame Wahl sein, aber wenn Sie verstehen, was es für einen HBase-Cluster tut, können Sie die Logik dahinter sehen. Beim Erstellen und Debuggen von verteilten Anwendungen ...