Part 2 - Einführung in die WebGL Entwicklung mit Three.js.
WebGL Tutorial ( part II ) Erstellen und Anzeigen eines einfachen 3d Körpers
In Diesen Teil des Tutorials wollen wir ein Boden und die möglichkeit sich im 3D Raum zu bewegen hinzufügen.
Desweiteren wollen wir Die Möglichkeit dass sich das "Render-Fenster" dem "Browser-Fenster" anpasst.
1. Einbinden des script´s
<script type="text/javascript">
init();
animate();
//Variablen inititalisieren
var SCREEN_WIDTH = window.innerWidth;
var SCREEN_HEIGHT = window.innerHeight;
var kamera;
var scene;
var zeichnen;
var steuerung;
function init() {
//Erzeugen einer Szene
scene = new THREE.Scene();
// Erzeugt Nebel
//scene.fog = new THREE.FogExp2( 0xcccccc, 0.001 );
//Erzeugen einer Kamera. Man benötigt mindestens eine Kamera.
kamera = new THREE.PerspectiveCamera( 45, window.innerWidth / window.innerHeight, 1, 100000 );
kamera.position.z = 700;
kamera.position.y = 900;
kamera.rotation.x = -0.78;
//Hinzufügen der Kamera zur Szene
scene.add( kamera );
//Hinzufügen der Kamera-Steuerung
steuerung = new THREE.OrbitControls( kamera );
steuerung.addEventListener( 'change', render );
// licht --------------------------------------------------------------------------
licht = new THREE.AmbientLight( 0xefefef );
scene.add( licht );
// Boden --------------------------------------------------------------------------
//Erzeugung des Materials für den Boden
var material1 = new THREE.MeshBasicMaterial( { color: 0xfff000, wireframe: true } );
//Erzeugung der Gemotrie / Boden
boden = new THREE.Mesh( new THREE.PlaneGeometry( 2000, 2000, 10, 10 ), material1 );
boden.position.y = - 150;
boden.rotation.x = - Math.PI / 2;
//Hinzufügen des Bodens zur Szene
scene.add( boden );
// Kugel --------------------------------------------------------------------------
//Erzeugung des Materials für die Kugel
var material2 = new THREE.MeshBasicMaterial( { color: 0xff0000, wireframe: true } );
//Erzeugung der Gemotrie / Kugel
kugel = new THREE.Mesh( new THREE.SphereGeometry( 150, 20, 20 ), material2 );
//Hinzufügen der Kugel zur Szene
scene.add( kugel );
//Hier wird ein WebGLRenderer verwendet.
zeichnen = new THREE.WebGLRenderer( { antialias: true } );
//Grösse der Zeichenflaeche
zeichnen.setSize( window.innerWidth / 1.4, window.innerHeight / 1.4 );
//Erzeugtes Canvas Element in den body einfügen. /
document.getElementById('webGL').appendChild( zeichnen.domElement );
window.addEventListener( 'resize', onWindowResize, true );
render();
}
//Diese Funktion passt die Zeichefläche an das Browserfenster an.
function onWindowResize() {
windowHalfX = window.innerWidth / 1.4;
windowHalfY = window.innerHeight / 1.4;
kamera.aspect = window.innerWidth / window.innerHeight;
kamera.updateProjectionMatrix();
zeichnen.setSize( window.innerWidth / 1.4, window.innerHeight / 1.4 );
render();
}
//Animation
function animate() {
requestAnimationFrame( animate );
steuerung.update();
}
//Ausgabe der 3D Welt
function render() {
zeichnen.render( scene, kamera );
}
</script>
Das Resultat dieses Tutorials können Sie sich hier anschauen. Sehen Sie hier keine rote Kugel unterstützt ihr Browser kein WebGL.
Die Dateien zum nachvollziehen des Tutorials können Sie sich im Download::Bereich herunterladen.
Navigation mit der Maus, linke Maustaste gedrückt halten um sich im Raum um die Kugel zu drehen. Mit der mittleren Maustaste können Sie "zoomen".
Im 3. Teil des Tutorials fügen wir ein eigenes 3D-Modell ein.
Allgemeine Geschäftsbedingungen
Abonnieren
Melden