Desatando Experiencias Web 3D de Última Generación con Babylon.js 6.0

Rate this content
Bookmark
En esta sesión, exploraremos la última versión principal de Babylon.js que ha traído avances significativos al desarrollo de juegos basados en la web.

Analizaremos las nuevas características principales que se agregaron a Babylon.js 6.0, incluyendo renderizado fluido y calcomanías de textura, que elevan la fidelidad visual a nuevas alturas, modo de prioridad de rendimiento, soporte de accesibilidad para escenas 3D y la integración del motor de física de clase mundial Havok en el motor, desbloqueando un realismo sin precedentes en juegos basados en la web.

También echaremos un vistazo a nuestros planes para la próxima versión principal, a medida que continuamos empujando los límites de lo posible en experiencias web 3D.

This talk has been presented at JS GameDev Summit 2023, check out the latest edition of this JavaScript Conference.

FAQ

Babylon.js es un motor de renderizado 3D de código abierto diseñado para crear experiencias y juegos 3D acelerados por GPU en la web. Está escrito en Typescript y construido sobre estándares web abiertos como WebGL y WebGPU.

El líder técnico web de Babylon.js es Ranaan, quien es un desarrollador de software en Microsoft y ha sido un colaborador principal del proyecto desde aproximadamente 2014.

Babylon.js ofrece varias herramientas como el Playground, un editor de código en línea; el Inspector, para depurar escenas; el Editor de Materiales Node para crear materiales de sombreado; y el Editor de UI para interfaces de usuario en 2D.

Babylon Native es una extensión de Babylon.js que permite reutilizar el mismo código de experiencias web en plataformas nativas como Android, iOS y Windows, facilitando el desarrollo multiplataforma.

La versión 6.0 de Babylon.js introdujo la integración del motor de física Havok usando WebAssembly, mejorando significativamente el rendimiento y añadiendo nuevas funcionalidades como ray casting avanzado y mejor soporte de articulaciones.

Babylon 6.0 incluyó mejoras importantes como la integración de Havok para física, un nuevo pipeline de renderizado SSR para reflexiones más eficientes, soporte mejorado de WebGPU, y optimizaciones generales de rendimiento y accesibilidad.

El Editor de Geometría de Nodos (NGE) es una herramienta que permite generar mallas de forma procedural directamente en Babylon.js, mejorando los tiempos de descarga y renderizado y optimizando el rendimiento general de las escenas.

Para comenzar con Babylon.js, puedes visitar el sitio oficial babylonjs.com, donde encontrarás documentación detallada, ejemplos y tutoriales. También puedes unirte al foro de la comunidad en forum.babylonjs.com para obtener soporte y compartir experiencias.

Raanan Weber
Raanan Weber
20 min
28 Sep, 2023

Comments

Sign in or register to post your comment.

Video Summary and Transcription

Babylon.js es un motor de renderizado 3D de código abierto que tiene como objetivo ser poderoso, hermoso, simple y abierto. Admite WebGL, WebGPU y una interfaz de usuario acelerada por canvas, y ofrece características como integración de física y abstracción WebXR. El motor proporciona herramientas como Playground e Inspector para depurar y editar escenas. Babylon Native lleva el poder de Babylon Engine a plataformas nativas, y la última versión integra el motor de física Havok para mejorar el rendimiento. La versión 7.0 presentará nuevas características como el Editor de Geometría de Nodo y el Gráfico de Flujo, y renovará la API y el motor de audio.

1. Introducción a Babylon.js

Short description:

Hola a todos. Mi nombre es Ranaan y estaré presentando Babylon.js, el motor de renderizado 3D de código abierto. Nuestro objetivo en Babylon.js es crear el motor de renderizado web más potente, hermoso, simple y abierto. Babylon es un motor de renderizado web completo escrito en TypeScript y construido sobre estándares web abiertos. Siempre es compatible con versiones anteriores y ofrece una amplia gama de características, incluyendo soporte para WebGL, WebGPU, interfaz de usuario acelerada por canvas, sistema de materiales avanzado, integración de física, abstracción de WebXR y más. Proporcionamos herramientas poderosas como el Playground, un editor de código lado a lado, y el Inspector, una herramienta de depuración para tu escena.

Mi nombre es Ranaan y estaré presentando Babylon.js, el motor de renderizado 3D de código abierto.

Primero, un poco sobre mí. Soy un desarrollador de software en Microsoft. Soy el líder técnico web de Babylon.js y un colaborador principal desde aproximadamente 2014. Soy un director responsable de la infraestructura de Babylon, su sistema de compilación, el WebEx nuestra abstracción, y algunas otras características en el camino.

Pero hablemos de Babylon. Nuestro objetivo en Babylon.js es crear el motor de renderizado web más potente, hermoso, simple y abierto. Queremos proporcionar a cualquier desarrollador, diseñador y aficionado todas las herramientas necesarias para crear experiencias y juegos 3D acelerados por GPU en la web, sin la necesidad de comprender profundamente el renderizado 3D, al mismo tiempo que permitimos a los desarrolladores experimentados aprovechar al máximo estas APIs.

Entonces, Babylon es un motor de renderizado web completo. Está escrito en Typescript, transpilado a JavaScript, y está construido sobre estándares web abiertos. Estándares como WebGL y WebGPU para el renderizado, Web Audio y Video para la reproducción de medios, y otros estándares como WebXR, WebRTC, WebAssembly, en general, cualquier API que comience con web, queremos admitirla. Babylon siempre es compatible con versiones anteriores, lo cual es un principio rector para el equipo al desarrollar nuevas características o modificar las antiguas. Nuestro código, escrito en Babylon 3, seguirá funcionando en Babylon 6, 7 o 10. El framework tiene aproximadamente 10 años y se utiliza en sitios web de producción en toda la web.

Además de nuestro paquete principal, ofrecemos diferentes paquetes como cargadores, serializadores, materiales, interfaz de usuario y otros, incluidos todos nuestros editores y herramientas. Todo es de código abierto y los publicamos tanto en NPM como en nuestro CDN. De forma predeterminada, tenemos soporte completo para WebGL 1 y 2, WebGPU. Tenemos una interfaz de usuario acelerada por canvas, sistema de materiales avanzado, integración de física, abstracción de WebXR, sistema de entrada de dispositivos y muchas, muchas otras características. Puedes visitar nuestro sitio web y la página de documentación para ver una lista completa de las características.

Babylon tiene un conjunto de herramientas poderosas para permitirte aprovechar al máximo el motor. La primera herramienta es el Playground. El Playground es un editor de código lado a lado que te permite ver tu escena en la que estás trabajando directamente en tu navegador. Está basado en Monaco, que es el editor utilizado, entre otros, en VS Code. Puedes escribir código en JavaScript o TypeScript, y tienes acceso completo a todas las características y paquetes publicados de Babylon. El Playground te permite guardar tu código, compartirlo con otros e incluso descargar tu escena y alojarla tú mismo. El Playground está disponible en playground.babylonjs.com y es un lugar perfecto para comenzar con el motor y comprender sus capacidades. Incluye muchos ejemplos diferentes.

La segunda herramienta es el Inspector. El Inspector es una herramienta de depuración para tu escena.

2. Herramientas de Babylon.js

Short description:

Puedes habilitar y deshabilitar características utilizando una interfaz de usuario sencilla. El Inspector te permite editar tu gráfico de escena, mallas, materiales y texturas. El Editor de Materiales Node te permite crear materiales de sombreado con una interfaz intuitiva. El Editor de UI te permite crear una interfaz de usuario acelerada en 2D para tu experiencia en Babylon.

Ver o editar tu gráfico de escena, verificar tus mallas, tus materiales, tus texturas en tu escena y transformarlos según tus necesidades. El Inspector se puede habilitar en cualquier escena de Babylon. Solo necesitas unas pocas líneas de código. Y está integrado en el Playground para simplificar la depuración de tus escenas del Playground.

La tercera herramienta de la que quiero hablar es el Editor de Materiales Node. El Editor de Materiales Node o NME te permite crear materiales de sombreado utilizando un conjunto de bloques disponibles en nuestra biblioteca principal. Utilizando una interfaz de usuario muy intuitiva, puedes crear materiales, guardarlos como archivos JSON o directamente en nuestro servidor de fragmentos gratuito y agregarlos a tu escena utilizando una sola línea de código.

La última herramienta que quiero mostrar aquí es el Editor de UI. Esta es la herramienta que estás viendo ahora mismo. El Editor de UI te permite crear una interfaz de usuario acelerada en 2D para tu experiencia en Babylon. Utilizando todas las características de nuestra potente biblioteca de UI, puedes agregar, eliminar y transformar diferentes tipos de elementos de UI, y al igual que el NME, guardarlos como archivos JSON descargables o en nuestro servidor de fragmentos y luego usarlos directamente en tu escena. Utilizar eso no podría ser más sencillo. Simplemente analiza el JSON o proporciona el ID del fragmento para integrar la UI en tu escena y vincular cualquier devolución de llamada que necesites utilizando la sencilla API de entrada de dispositivos de Babylon. Todas esas herramientas, como puedes ver, están integradas en el Playground, por lo que si agregas un material de nodo o una UI, puedes editarlos directamente en el Playground.

Check out more articles and videos

We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career

Optimización de juegos HTML5: 10 años de aprendizaje
JS GameDev Summit 2022JS GameDev Summit 2022
33 min
Optimización de juegos HTML5: 10 años de aprendizaje
Top Content
PlayCanvas is an open-source game engine used by game developers worldwide. Optimization is crucial for HTML5 games, focusing on load times and frame rate. Texture and mesh optimization can significantly reduce download sizes. GLTF and GLB formats offer smaller file sizes and faster parsing times. Compressing game resources and using efficient file formats can improve load times. Framerate optimization and resolution scaling are important for better performance. Managing draw calls and using batching techniques can optimize performance. Browser DevTools, such as Chrome and Firefox, are useful for debugging and profiling. Detecting device performance and optimizing based on specific devices can improve game performance. Apple is making progress with WebGPU implementation. HTML5 games can be shipped to the App Store using Cordova.
Construyendo Experimentos Divertidos con WebXR & Babylon.js
JS GameDev Summit 2022JS GameDev Summit 2022
33 min
Construyendo Experimentos Divertidos con WebXR & Babylon.js
Top Content
This Talk explores the use of Babylon.js and WebXR to create immersive VR and AR experiences on the web. It showcases various demos, including transforming a 2D game into a 3D and VR experience, VR music composition, AR demos, and exploring a virtual museum. The speaker emphasizes the potential of web development in the metaverse and mentions the use of WebXR in Microsoft products. The limitations of WebXR on Safari iOS are discussed, along with the simplicity and features of Babylon.js. Contact information is provided for further inquiries.
Creando juegos increíbles con LittleJS
JS GameDev Summit 2022JS GameDev Summit 2022
34 min
Creando juegos increíbles con LittleJS
Little.js is a super lightweight and fast JavaScript game engine that has everything included to start making games right away. It has a tiny footprint and no dependencies, making it perfect for size-coding competitions like JS13K. Little.js is built with an object-oriented structure and comes with several classes. It provides a fast rendering system, a comprehensive audio system, and various starter projects for different game types. Little.js is designed to be simple and easy to understand, allowing you to look at and modify the code.
Cómo no construir un videojuego
React Summit 2023React Summit 2023
32 min
Cómo no construir un videojuego
The Talk showcases the development of a video game called Athena Crisis using web technologies like JavaScript, React, and CSS. The game is built from scratch and includes features like multiple game states, AI opponents, and map editing. It demonstrates the benefits of using CSS for game development, such as instant load times and smooth transitions. The Talk also discusses optimizing performance, supporting dark mode, and publishing the game to other platforms.
¡Mejora el rendimiento de tus juegos WebGL Unity!
JS GameDev Summit 2023JS GameDev Summit 2023
7 min
¡Mejora el rendimiento de tus juegos WebGL Unity!
The Talk discusses ways to boost the performance of WebGL Unity games, including issues with bundle size, memory usage, and runtime performance. It suggests using Brotli for compression and non-exception support for better performance. Choosing the appropriate texture compression format and experimenting with separate builds can also help. The Talk also covers optimizing textures, models, audio, and assets by reducing build size, using compression, disabling unnecessary models, and optimizing audio quality. Unity's optimization tools and profilers are recommended for analyzing performance and memory issues.
Juegos Web 3: Qué es y por qué es importante
JS GameDev Summit 2022JS GameDev Summit 2022
36 min
Juegos Web 3: Qué es y por qué es importante
Web3 gaming enables decentralized identity and finance, allowing game developers to bypass centralized platforms. It is driven by wallets, ERC20 tokens, and NFTs. Web3 games focus on collaborative world-building, ownership, and open-source collaboration. The challenge is achieving decentralization while addressing economic and technological limitations. Web3 aims to redefine the gaming industry by using economic tools and exploring new genres like RPG and RTS games.

Workshops on related topic

Crea un Juego Con PlayCanvas en 2 Horas
JSNation 2023JSNation 2023
116 min
Crea un Juego Con PlayCanvas en 2 Horas
Top Content
Featured WorkshopFree
Steven Yau
Steven Yau
En esta masterclass, construiremos un juego utilizando el motor WebGL de PlayCanvas desde el principio hasta el final. Desde el desarrollo hasta la publicación, cubriremos las características más cruciales como la escritura de scripts, la creación de UI y mucho más.
Tabla de contenido:- Introducción- Introducción a PlayCanvas- Lo que vamos a construir- Agregando un modelo de personaje y animación- Haciendo que el personaje se mueva con scripts- 'Falsa' carrera- Agregando obstáculos- Detectando colisiones- Agregando un contador de puntuación- Fin del juego y reinicio- ¡Resumen!- Preguntas
Nivel de la masterclassSe recomienda familiaridad con los motores de juegos y los aspectos del desarrollo de juegos, pero no es obligatorio.
PlayCanvas de principio a fin: la versión rápida
JS GameDev Summit 2022JS GameDev Summit 2022
121 min
PlayCanvas de principio a fin: la versión rápida
Top Content
WorkshopFree
João Ruschel
João Ruschel
En esta masterclass, construiremos un juego completo utilizando el motor PlayCanvas mientras aprendemos las mejores prácticas para la gestión de proyectos. Desde el desarrollo hasta la publicación, cubriremos las características más cruciales como la gestión de activos, scripting, audio, depuración, y mucho más.
Introducción a WebXR con Babylon.js
JS GameDev Summit 2022JS GameDev Summit 2022
86 min
Introducción a WebXR con Babylon.js
Workshop
Gustavo Cordido
Gustavo Cordido
En este masterclass, te presentaremos los conceptos básicos de la construcción de experiencias de Realidad Mixta con WebXR y Babylon.js.
Aprenderás lo siguiente:- Cómo agregar objetos de malla 3D y botones a una escena- Cómo utilizar texturas procedurales- Cómo agregar acciones a objetos- Cómo aprovechar la experiencia predeterminada de Realidad Cruzada (XR)- Cómo agregar física a una escena
Para el primer proyecto en este masterclass, crearás una experiencia interactiva de Realidad Mixta que mostrará estadísticas de jugadores de baloncesto a fanáticos y entrenadores. Para el segundo proyecto en este masterclass, crearás una aplicación WebXR activada por voz utilizando Babylon.js y Azure Speech-to-Text. Luego, desplegarás la aplicación web utilizando el alojamiento de sitios web estáticos proporcionado por Azure Blob Storage.
Masterclass de Codificación en Vivo de Juegos Pequeños
JS GameDev Summit 2023JS GameDev Summit 2023
115 min
Masterclass de Codificación en Vivo de Juegos Pequeños
Workshop
Frank Force
Frank Force
Sumérgete en el cautivador mundo del desarrollo de microjuegos con Frank Force en este interactivo masterclass de codificación en vivo. Diseñado tanto para desarrolladores experimentados como para curiosos principiantes, esta sesión explora los desafíos únicos y las alegrías de crear juegos y demos con restricciones extremas de tamaño.
Construyendo el Metaverso Interconectado y Traversable
JS GameDev Summit 2022JS GameDev Summit 2022
103 min
Construyendo el Metaverso Interconectado y Traversable
WorkshopFree
Avaer Kazmer
Avaer Kazmer
Basado en gran medida en Free Association en el Metaverso - Avaer @Exokit - M3, Avaer demostrará algunas de las formas en que los estándares abiertos permiten la travesía abierta y gratuita de usuarios y activos en todo el metaverso interconectado.