Programación con tres.js: una guía para principiantes ¿Qué es la inteligencia artificial?Compras en el juego: ¿por qué gastamos tanto dinero en juegos?A-Frame-Develovel WebVr usted mismo

Programación con tres.js: una guía para principiantes ¿Qué es la inteligencia artificial?Compras en el juego: ¿por qué gastamos tanto dinero en juegos?A-Frame-Develovel WebVr usted mismo

Mit WebGL lassen sich 3D-Anwendungen programmieren, die im Browser ausgeführt werden. Wie es der Name also schon verrät, bringt WebGL die Grafikprogrammierung ins Web! Three.js baut nun wiederum auf WebGL auf. Dabei ist das Programmieren mit Three.js fürs Web deutlich leichter. So ist hier die Syntax einfacher und das Ganze spielt sich auf einer etwas höheren Ebene ab. Wir müssen uns also nicht mit unnötig komplizierten Details herumschlagen. Three.js eignet sich insofern auch für Einsteiger in die Grafikprogrammierung, als dass die einfache Syntax es einem leichter macht, die Konzepte hinter dem Code besser zu verstehen. Wer generell lernen möchte, wie man programmiert, kann verschiedenen Apps nutzen! Ich habe mich mit Three.js mal etwas ausführlicher beschäftigt und hatte mit dem JavaScript-Framework ziemlich viel Spaß! Deswegen hier ein kleiner Three.js Guide für Einsteiger und Anfänger. Mit Three.js Programmieren – Ein Guide für Einsteiger Was ist Künstliche Intelligenz? In-Game Käufe – warum geben wir so viel Geld in Spielen aus? A-Frame – WebVR selbst entwickeln

Que necesitas para tres.JS?

A con tres.Para poder programar JS, necesita los primeros tres.JS en sí mismo.Puede descargar los archivos necesarios aquí (atención: la descarga comunicarseienza de inmediato).Aquí vienes a los tres sitios web.JS, donde encontrará varios excelentes ejemplos de lo que con tres, además del documentoal.JS puede programar todo.De lo contrario, solo necesita un navegador que pueda manejar WebGL (Chrome o Firefox, por ejemplo) y un editor de códigos.Personalmente soy fanático del código VS, pero cualquier otro editor también lo hace.También deberías tener tus tres.No solo abra el proyecto JS a través del navegador, sino que inicie un servidor web en su comunicarseputadora.Hay comunicarseplementos para muchos editores de código que lo hacen mucho más fácil.Me gusta usar servidores en vivo para el código VS.Aquí puedo iniciar el servidor con un clic en el código VS.¡Puede copiar todo el código al final del artículo!

Ein Three.js Projekt anlegen Mit Three.js Programmieren – Ein Guide für Einsteiger Was ist Künstliche Intelligenz? In-Game Käufe – warum geben wir so viel Geld in Spielen aus? A-Frame – WebVR selbst entwickeln

Antes de nosotros con tres.JS puede comunicarseenzar, tenemos que crear un proyecto.Eso va a través de diferentes maneras.Algunos usan administradores de paquetes comunicarseo NPM, que también se recomunicarseienda absolutamente para proyectos más grandes, especialmente para proyectos más grandes.En nuestro caso, sin embargo, innecesario.

La estructura del proyecto

Als Erstes legen wir einen lib-Ordner an und entpacken die Three.js-Datein hierhinein. Als Nächstes legen wir einen src-Ordner an, in dem wir unseren eigenen JavaScript-Code speichern. Die erste Amtmierdaandlung besteht darin, in src eine main.js–Datei anzulegen. In das Hauptverzeichnis kommt schließlich die index.Html. Über diese wird die gesamte 3D-Anwendung, die wir mit Three.Programación JS, geladen. Euer Verzeichnis sollte jetzt also wie folgt aussehen: Mit Three.js Programmieren – Ein Guide für Einsteiger Was ist Künstliche Intelligenz? In-Game Käufe – warum geben wir so viel Geld in Spielen aus? A-Frame – WebVR selbst entwickeln

El índice.Html

El contenido de nuestro índice.Html–Datei ist relativ überschaubar.Así que solo tenemos que insertar el andamio HTML habitual aquí y nuestro principal.Enlace el archivo js en el que nuestros tres.El código JS se mantendrá.

Die main.js Mit Three.js Programmieren – Ein Guide für Einsteiger Was ist Künstliche Intelligenz? In-Game Käufe – warum geben wir so viel Geld in Spielen aus? A-Frame – WebVR selbst entwickeln

En nuestro principal.Archivo js ahora tenemos que hacer los tres primero.Cargue el archivo js.También podríamos en el índice.Html direkt verlinken, wie wir es zuvor getan haben.Pero me parece más claro al principio en general.JS con el documentoo de comunicarseando.para insertar escribir ().Este comunicarseando en realidad solo escribe el enlace en el índice.Html.

Una escena en tres.Crear js

In unserem Three.js Guide für Einsteiger wollen wir eine Szene mit einem Boden anlegen und darin ein Modell laden, das Schatten auf den Boden wirft. Dafür erstellen wir zuerst eine main()–Funktion. Diese rufen wir mit Ventana.onload allerdings erst auf, sobald unsere Anwendung geladen ist. So verhindern wir, während wir mit Three.Programación JS, dass auf Elemente zugegriffen wird, die vielleicht noch gar nicht geladen wurden. Mit Three.js Programmieren – Ein Guide für Einsteiger Was ist Künstliche Intelligenz? In-Game Käufe – warum geben wir so viel Geld in Spielen aus? A-Frame – WebVR selbst entwickeln

Escena, cámara y renderista

Ahora tenemos que asignar una escena, una cámara y un renderizador a nuestra función principal.También podemos perder un fondo de la escena.La cámara es responsable de mapear los objetos en la escena, mientras que el renderizador representa la escena y crea una imagen en nuestro monitor..Además, podemos activar el mapa de sombras del renderizador para poder lanzar sombras más tarde.Además, tenemos que cambiar la posición de la cámara, de lo contrario se encuentra en el centro de la aplicación.Podemos determinar el punto en el que la cámara mira la función Look ().

Noch sehen wir allerdings nichts, wenn wir unseren Server starten. Das liegt daran, dass wir dem Renderer noch nicht mitgeteilt haben, dass er die Szene auch rendern soll. In der Funktion animate() können wir das nachholen. Über requestAnimationFrame() sagen wir außerdem, dass die animate-Funktion immer wieder aufgerufen und somit das Bild immer wieder gerendert werden soll. Mit Three.js Programmieren – Ein Guide für Einsteiger Was ist Künstliche Intelligenz? In-Game Käufe – warum geben wir so viel Geld in Spielen aus? A-Frame – WebVR selbst entwickeln

Vemos en nuestros tres.La aplicación 3D JS todavía no es nada, ¡pero no estamos muy lejos!Ahora solo tenemos que ir al objeto Div desde nuestro índice.Html anhängen.

Da tres.JS calcula en rotaciones con ciclismo, tiene sentido crear la constante DEG_TO_RAD si tenemos tres.Programación JS.Si multiplicamos un grado de grado con él, obtenemos la rotación en el ciclismo.

Der Code sollte nun wie folgt aussehen: Mit Three.js Programmieren – Ein Guide für Einsteiger Was ist Künstliche Intelligenz? In-Game Käufe – warum geben wir so viel Geld in Spielen aus? A-Frame – WebVR selbst entwickeln

Piso y luz

Ahora podemos agregar un piso a nuestra aplicación 3D.Para eso, tres tienen.JS un objeto separado que podemos crear fácilmente y a través de la escena.Add () puede agregar nuestra escena.Todavía tenemos que girar el suelo 90 grados contra el sentido del reloj en el eje X y usar la constante que acaba de crear.

Allerdings können wir den Boden jetzt noch nicht sehen, da es bis jetzt in unserer Szene keinerlei Licht gibt. Also fügen wir der Szene noch zwei weitere Lichter hinzu – ein AmbientLight und ein DirectionalLight. Letzteres hat eine konkrete Richtung und kann somit Schatten werfen. Der Schatten wird dabei mit einer Schattenkamera berechnet. Über das Objekt directionalObject können wir den Schatten und seine Attribute definieren. Mit Three.js Programmieren – Ein Guide für Einsteiger Was ist Künstliche Intelligenz? In-Game Käufe – warum geben wir so viel Geld in Spielen aus? A-Frame – WebVR selbst entwickeln

Ahora nuestro código debería verse así:

Y nuestra escena ahora debería verse así.Todavía no es espectacular, pero al menos algo se puede ver.

Ein 3D-Modell mit Three.js laden Mit Three.js Programmieren – Ein Guide für Einsteiger Was ist Künstliche Intelligenz? In-Game Käufe – warum geben wir so viel Geld in Spielen aus? A-Frame – WebVR selbst entwickeln

Para cargar modeloos 3D en una escena, tres regalos.JS Varios cargadores disponibles.Como queremos cargar un modeloo FBX, necesitamos el cargador FBX.Para usar esto en nuestra aplicación 3D, tenemos que, comunicarseo los tres anteriores,.Archivo js, ​​integrar.También necesitamos que el script se infle.JS con el que se puede procesar el formato FBX.

El cargador FBX

Nun können wir den Loader benutzen, wenn wir mit Three.Programación JS. Wir verwenden in diesem Beispiel ein eigenes 3D-Modell. Alternativ gibt es auf Sketchfab viele kostenlose und sehr gute Modelle. Das Modell speichert ihr am besten in einem Ordner modelo im Ordner src. Nun können wir das Model laden und für alle Child-Objekte festlegen, dass diese Schatten werfen und empfangen können. Mit Three.js Programmieren – Ein Guide für Einsteiger Was ist Künstliche Intelligenz? In-Game Käufe – warum geben wir so viel Geld in Spielen aus? A-Frame – WebVR selbst entwickeln

Nuestro código ahora debería verse así:

Y nuestra escena ahora debería verse así:

Wir haben also mittlerweile ein 3D-Modell in unsere 3D-Anwendung geladen, das Schatten auf unseren Boden wirft. Zu guter Letzt wollen wir uns noch die Möglichkeit geben, mit der Kamera herumzufliegen. Mit Three.js Programmieren – Ein Guide für Einsteiger Was ist Künstliche Intelligenz? In-Game Käufe – warum geben wir so viel Geld in Spielen aus? A-Frame – WebVR selbst entwickeln

Orbitcontrols

Para usar la cámara en los tres.js-Szene navigieren zu können, stehen uns die Orbitcontrols aus Three.JS proporciona.

Nun können wir die Orbitcontrols der Szene hinzufügen. Dabei müssen wir dem Objekt die Kamera und das DOM-Element, an das wir die Szene gehängt haben, übergeben. Mit Three.js Programmieren – Ein Guide für Einsteiger Was ist Künstliche Intelligenz? In-Game Käufe – warum geben wir so viel Geld in Spielen aus? A-Frame – WebVR selbst entwickeln

y...Tadaaaa!Nuestra escena está lista.Por supuesto es con tres.JS mucho más posible, pero este artículo solo debería dar una pequeña idea del marco.Si desea hacer más, puede inspirarse en los muchos ejemplos en Internet.Encuentro las posibilidades de que los tres.JS ofrece muy emocionante y se divirtió mucho con tres.JS para programar.

El código comunicarsepleto:

documento.write('');documento.write('');documento.write('');documento.write(''); Mit Three.js Programmieren – Ein Guide für Einsteiger Was ist Künstliche Intelligenz? In-Game Käufe – warum geben wir so viel Geld in Spielen aus? A-Frame – WebVR selbst entwickeln

Const deg_to_rad = matemáticas.Pi / 180;

Función main () {escena = nuevo tres.Escena ();escena.Antecedentes = Tres nuevos.Color (0x000000);Cámara = Tres nuevos.Perspectivecámara (45, ventana.Anchura / ventana.Innerheight, 0.1, 1000);cámara.posición.Establecer (0, 150, 250);cámara.Lookat (0, 0, 0);Var renderer = nuevo tres.Webglrenderer ();renderizador.SetSize (ventana.Innerwidth, ventana.Innerhight);renderizador.SetClearColor (tres nuevos.Color (0x000000));renderizador.sombramap.habilitado = true;

var ambientLight = new THREE.AmbientLight(0xffffff); ambientLight.Intensidad = 0.4; Mit Three.js Programmieren – Ein Guide für Einsteiger Was ist Künstliche Intelligenz? In-Game Käufe – warum geben wir so viel Geld in Spielen aus? A-Frame – WebVR selbst entwickeln

Var direccionalight = nuevo tres.DirectionAllight (0xffffff);Direccional.posición.Establecer (0, 100, 100);Direccional.Lookat (escena.posición); directionaLight.Intensidad = 0.7;Direccional.CasttShadow = True;Direccional.sombra.radio = 2;Direccional.sombra.Tamaño de mapa.Ancho = 2048;Direccional.sombra.Tamaño de mapa.Altura = 2048;Direccional.sombra.cámara.Superior = 100;Direccional.sombra.cámara.Fondo = -100;Direccional.sombra.cámara.izquierda = -100;Direccional.sombra.cámara.derecho = 100;

escena.add(ambientLight); escena.agregar (direccional);

var floorGeometry = new THREE.PlaneGeometry(200, 200); var floorMaterial = new THREE.MemierdaStandardMaterial({ color: 0xFFFFFF, roughness: 0.4, metalness: 0.0 }); Mit Three.js Programmieren – Ein Guide für Einsteiger Was ist Künstliche Intelligenz? In-Game Käufe – warum geben wir so viel Geld in Spielen aus? A-Frame – WebVR selbst entwickeln

Var piso = tres nuevos.Malla (pisoicomunicarseetría, material de piso);piso.rotación.X = -90 * DEG_TO_RAD;piso.Recibehadow = true;

escena.agregar (piso);

var npLogo = new THREE.Group(); Mit Three.js Programmieren – Ein Guide für Einsteiger Was ist Künstliche Intelligenz? In-Game Käufe – warum geben wir so viel Geld in Spielen aus? A-Frame – WebVR selbst entwickeln

Var Carnero = nuevo tres.Fbxloader ();

Carnero.Load ("SRC/Model/NPLOGO.fbx ", función (modeloo) {nPLOGO.agregar (modeloo);

modelo.Traverse (función (niño) {if (niño.Ismemierda) {niño.CasttShadow = True;niño.Recibehadow = true; } });

});nplago.posición.y = 2;nplago.escala.Establecer (0.5, 0.5, 0.5); escena.agregar (nPLOGO);

Var orbitControls = nuevo tres.Orbitcontrols(cámara, documento.GetElementById ("3D_Application"));orbitcontrols.Target = nuevo tres.Vector3 (0, 80, 0);orbitcontrols.Actualizar ();

documento.GetElementById ("3D_Application").Appendchild (renderizador.Dominio);

var animates = function () {requestimation Frame (Animates);renderizador.render( escena, cámara ); };

animates ();}

Ventana.Onload = main;

Captura de pantalla hecha de código VS creado por Moritz Stoll con carbono.nieve.mierda

TitleImage por денис ююеезнов a través de stock.Adobe.comunicarse

Pío

Cuota

mitCuota

Moritz Stoll

puede hacer mucho, pero nada realmente.Me gusta y mucho con Tech y Trara, es una parte integral del equipo editorial de Network Pilot y modera el podcast de red Pilation Tech y Trara.Para él, el mundo (digital) es un lugar lleno de posibilidades y tecnologías emocionantes que pueden ser juzgadas, editadas y cuestionadas.