Three.js: Erstellen einer 3D-Welt mit mehreren Objekten

Three.js ist eine beliebte JavaScript-Bibliothek zur Erstellung von 3D-Grafiken in Webanwendungen. Mit Three.js können Entwickler beeindruckende 3D-Welten mit mehreren Objekten erstellen, die im Browser gerendert werden können. In diesem Artikel werden wir durch die Schritte gehen, die erforderlich sind, um eine einfache 3D-Welt mit mehreren Objekten mithilfe von Three.js zu erstellen.

Was ist Three.js?

Three.js ist eine Open-Source-Bibliothek, die auf WebGL aufbaut, einem Webstandard, der die Hardwarebeschleunigung für 3D-Grafiken im Browser ermöglicht. Dank Three.js müssen Entwickler nicht von Grund auf neu beginnen, um 3D-Inhalte in ihre Webanwendungen zu integrieren. Es bietet eine Fülle von Funktionen und Tools, die die Erstellung von 3D-Szenen erheblich vereinfachen.

Vorteile von Three.js:

Plattformunabhängigkeit: Three.js kann auf verschiedenen Browsern und Geräten verwendet werden, ohne dass spezielle Plugins oder Erweiterungen erforderlich sind.

Leistungsstark: Die Bibliothek nutzt WebGL, um Hardwarebeschleunigung zu nutzen, was zu reibungslosen und schnellen 3D-Grafiken führt.

Große Community: Three.js hat eine aktive und wachsende Community, was bedeutet, dass Entwickler Zugang zu vielen Ressourcen und Unterstützung haben.

Grundlegende Konzepte in Three.js:

Bevor wir beginnen, sollten wir einige grundlegende Konzepte in Three.js verstehen:

Szene: Die Szene ist der Container, der alle 3D-Objekte und Lichtquellen enthält.

Kamera: Die Kamera bestimmt, was in der Szene sichtbar ist. Es gibt verschiedene Arten von Kameras, darunter Perspektiv- und Orthografiekameras.

Renderer: Der Renderer ist verantwortlich für das Rendern der Szene auf den Bildschirm. Three.js unterstützt verschiedene Renderer, einschließlich WebGLRenderer für WebGL.

Objekte: Objekte in Three.js repräsentieren 3D-Elemente wie Würfel, Kugeln, Modelle usw.

Materialien: Materialien definieren das Erscheinungsbild eines Objekts, einschließlich seiner Farbe, Textur und Reflektionseigenschaften.

Lichter: Lichtquellen beeinflussen die Beleuchtung in der Szene und können die Darstellung von Objekten stark verändern.

Grundlagen für die 3D-Welt setzen

Bevor wir tiefer in die Erstellung unserer 3D-Welt eintauchen, müssen wir einige grundlegende Schritte durchführen, um die Szene, die Kamera und den Renderer in Three.js einzurichten. Dieser Abschnitt wird sich auf diese grundlegenden Schritte konzentrieren.

1. Einrichten der HTML-Struktur:

Zuerst erstellen wir eine HTML-Datei und fügen die erforderlichen Script-Tags hinzu, um Three.js zu importieren. Stellen Sie sicher, dass Sie die Three.js-Bibliothek von der offiziellen Website heruntergeladen haben oder eine CDN-Verknüpfung verwenden.

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Three.js 3D-Welt</title>
</head>
<body>
<!-- Hier wird unsere 3D-Welt gerendert -->
<div id="scene-container"></div>

<!-- Three.js-Bibliothek einbinden -->
<script src="path/to/three.js"></script>

<!-- Unsere eigene JavaScript-Datei einbinden -->
<script src="path/to/your-script.js"></script>
</body>
</html>


2. Einrichten der Szene, Kamera und Renderer:

In unserer JavaScript-Datei (your-script.js) erstellen wir eine Szene, eine Kamera und einen Renderer. Die Szene dient als Container für unsere 3D-Objekte.

// Initialisieren der Szene
const scene = new THREE.Scene();

// Initialisieren der Kamera (Perspektivkamera)
const camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);

// Initialisieren des Renderers
const renderer = new THREE.WebGLRenderer();
renderer.setSize(window.innerWidth, window.innerHeight);

// Fügen Sie den Renderer zum HTML-Dokument hinzu
document.getElementById( scene-container ).appendChild(renderer.domElement);


In diesem Code wird eine Perspektivkamera erstellt, die eine breite Sicht auf die Szene bietet. Sie können die Parameter der Kamera anpassen, um die Sichtweite und den Betrachtungswinkel zu ändern.

3. Hinzufügen eines Gitters und einer Hintergrundfarbe:

Um die Szene besser visualisieren zu können, fügen wir ein Gitter und eine Hintergrundfarbe hinzu.

// Hinzufügen eines Gitters zur Szene
const gridHelper = new THREE.GridHelper(10, 10);
scene.add(gridHelper);

// Festlegen der Hintergrundfarbe
scene.background = new THREE.Color(0xadd8e6); // Zum Beispiel hellblau


Das Gitter (GridHelper) dient als Referenzgitter und erleichtert die Positionierung von Objekten in der Szene.

Hinzufügen von Objekten und Beleuchtung

Nachdem wir die Grundlagen für unsere 3D-Welt mit Three.js eingerichtet haben, ist es an der Zeit, Objekte hinzuzufügen und Lichtquellen zu setzen, um unsere Szene zum Leben zu erwecken.

1. Objekte zur Szene hinzufügen:

Wir können verschiedene 3D-Objekte wie Würfel, Kugeln oder Modelle zur Szene hinzufügen. Hier ist ein Beispiel zum Hinzufügen eines einfachen Würfels:

// Erstellen eines Würfels
const cubeGeometry = new THREE.BoxGeometry();
const cubeMaterial = new THREE.MeshBasicMaterial({ color: 0xff0000 }); // Rot
const cube = new THREE.Mesh(cubeGeometry, cubeMaterial);

// Position des Würfels festlegen
cube.position.set(0, 0, 0);

// Objekt zum Szenengraphen hinzufügen
scene.add(cube);


Sie können ähnliche Schritte verwenden, um andere Objekte Ihrer Wahl hinzuzufügen. Beachten Sie, dass Sie Materialien, Farben und Positionen nach Ihren Vorstellungen anpassen können.

2. Hinzufügen von Lichtquellen:

Lichter sind entscheidend für die Darstellung von 3D-Objekten in Three.js. Hier sind Beispiele für das Hinzufügen verschiedener Lichtquellen:

// Umgebungslicht
const ambientLight = new THREE.AmbientLight(0x404040); // Weiches, gleichmäßiges Licht
scene.add(ambientLight);

// Punktlichtquelle
const pointLight = new THREE.PointLight(0xffffff); // Weißes Licht
pointLight.position.set(5, 5, 5);
scene.add(pointLight);

// Richtungslicht
const directionalLight = new THREE.DirectionalLight(0x00ff00); // Grünes Licht
directionalLight.position.set(-1, 0, 0); // Position des Lichts
scene.add(directionalLight);


Ambient Light erzeugt ein gleichmäßiges, umgebendes Licht, während Point Light von einer bestimmten Position aus strahlt, und Directional Light simuliert paralleles Licht, wie die Sonne.

3. Animieren der Szene:

Um die Szene zu animieren, können Sie eine Animations-Schleife erstellen und die Szene in jedem Frame aktualisieren. Hier ist ein einfaches Beispiel:

// Animations-Schleife
function animate() {
requestAnimationFrame(animate);

// Hier können Sie Objekte oder die Kamera animieren

renderer.render(scene, camera);
}

// Starten der Animation
animate();


In der Animations-Schleife können Sie die Positionen oder Eigenschaften von Objekten ändern, um Bewegungen und Interaktionen in Ihrer 3D-Welt zu erstellen.

Mit diesen Schritten haben Sie eine solide Grundlage für die Erstellung einer 3D-Welt mit mehreren Objekten in Three.js. Sie können jetzt weiter experimentieren, Objekte erstellen, Texturen hinzufügen und Ihre 3D-Szene nach Belieben gestalten. Denken Sie daran, dass die Möglichkeiten in Three.js nahezu unbegrenzt sind, und es gibt viele Ressourcen und Beispiele in der Community, die Ihnen bei Ihren Projekten helfen können. Viel Spaß beim Erstellen Ihrer eigenen 3D-Welt!

Weitere Artikel:

JavaScript: Fehlerbehandlung (try, catch, throw)

JavaScript ist eine der wichtigsten Programmiersprachen im Webentwicklungsbereich. Sie ermöglicht die Erstellung dynamischer und interaktiver Webseite

Three.js: Implementieren von Partikelsystemen

Partikelsysteme sind ein leistungsstarkes Werkzeug in der Welt der 3D-Computergrafik. Sie ermöglichen es, komplexe und dynamische Effekte wie Rauch, F

Three.js: Erstellen eines interaktiven 3D-Diagramms oder Graphen

Three.js ist eine leistungsstarke JavaScript-Bibliothek, die es Entwicklern ermöglicht, beeindruckende 3D-Grafiken und Visualisierungen direkt im Webb

JavaScript: Erstellung eines Bildergalerie-Sliders

Bildergalerie-Slider sind eine häufige und ansprechende Möglichkeit, Bilder oder Inhalte auf Websites zu präsentieren. Sie ermöglichen es, verschieden

Funktionen in JavaScript

JavaScript ist eine weit verbreitete Programmiersprache, die hauptsächlich in Webanwendungen eingesetzt wird, um Interaktivität und Funktionalität auf

Three.js: Erstellen und Anzeigen eines einfachen Würfels

Three.js ist eine beliebte JavaScript-Bibliothek zur Erstellung von 3D-Grafiken im Webbrowser. Mit Three.js können Entwickler erstaunliche 3D-Szenen,

Objektorientierte Programmierung in JavaScript

JavaScript ist eine der am häufigsten verwendeten Programmiersprachen weltweit und wird oft für die Entwicklung von Webanwendungen eingesetzt. Eine de

JavaScript: Asynchrone Programmierung und Promises

Die asynchrone Programmierung ist ein wesentlicher Bestandteil moderner Webentwicklung, da sie ermöglicht, dass Webanwendungen gleichzeitig auf versch

JavaScript: Schleifen (for, while, do-while)

Schleifen sind ein entscheidender Bestandteil jeder Programmiersprache, einschließlich JavaScript. Sie ermöglichen es Entwicklern, Codeblöcke mehrmals

Three.js: Laden und Anzeigen eines 3D-Modells

Die Welt der 3D-Grafik und -Animationen hat in den letzten Jahren enorme Fortschritte gemacht. Dank JavaScript-Frameworks wie Three.js können Entwickl