De Blender a la Web - el Viaje de un Modelo 3D

Rate this content
Bookmark

Crear experiencias 3D en la web puede ser algo que suena muy desalentador. Estoy aquí para eliminar esta idea de tu mente y mostrarte que el mundo 3D es para todos. Para eso, obtendremos un modelo del software 3D Blender a la web, lleno de animaciones, controles de accesibilidad y optimizado para el uso web, así que únete a mí en este viaje mientras hacemos la web más impresionante.

This talk has been presented at React Advanced 2021, check out the latest edition of this React Conference.

FAQ

Blender es un software 3D gratuito y de código abierto que se utiliza para la creación de gráficos y animaciones en 3D. Además, ofrece funcionalidades para edición de video y creación de gráficos en 2D.

Sí, es posible usar Blender en una Mac, pero puede ser más complicado y el rendimiento podría no ser óptimo, ya que puede hacer sonidos inusuales y requerir más recursos del sistema.

glTF es un formato de archivo utilizado principalmente para la web que permite la transmisión eficiente y la carga de modelos 3D en aplicaciones online. Es ideal para usar en la web debido a su eficiencia y compatibilidad.

Para exportar un modelo 3D de Blender para la web, debes usar el formato glTF. Dentro de Blender, selecciona 'Archivo', luego 'Exportar', y elige 'glTF'. Este formato es compatible y eficiente para uso web.

Para mostrar un modelo 3D en una página web con React, necesitarás usar bibliotecas como React Three Fiber y React Three Drei. Estas bibliotecas te ayudan a integrar contenidos 3D en tu proyecto React.

E.V. y Cycles son dos motores de renderizado en Blender. E.V. es un motor de renderizado en tiempo real que imita cómo debería rebotar la luz, mientras que Cycles calcula la interacción detallada de cada haz de luz con los objetos de la escena, ofreciendo un resultado más realista.

Sara Vieira
Sara Vieira
27 min
22 Oct, 2021

Comments

Sign in or register to post your comment.
Video Summary and Transcription
Esta charla trata sobre Blender, un software 3D gratuito y de código abierto, e integrando modelos 3D en sitios web. El orador discute la exportación de modelos 3D a la web utilizando el formato gltf y comprimiéndolos utilizando la transformación gltf y la compresión draco. También cubren la integración del modelo 3D en un sitio web utilizando React y React 3 fiber, solucionando problemas de instalación y errores, y trabajando con refs y frames. La charla explora la renderización, la iluminación, las matemáticas y la experimentación en 3D, así como la interacción y los efectos de renderización. El orador también menciona su creación favorita en Blender.

1. Introducción a Blender e integración web

Short description:

Hablaré sobre Blender, un software 3D gratuito y de código abierto. Comencé a usarlo durante la pandemia y me enamoré de él. Hoy, exportaremos un modelo 3D desde Blender y luego lo integraremos en un sitio web. Trabajo como desarrollador front-end en Remote, una empresa que ayuda a contratar trabajadores remotos. Estamos contratando, pero por favor no menciones mi nombre. Blender se puede usar en una Mac, pero puede ser doloroso. La charla se dividirá en partes, comenzando con la exportación de un modelo 3D desde Blender y luego pasando a la integración web.

Buenos días a todos. Quiero decir que tengo un resfriado, pero me hice la prueba y no es COVID, así que lo peor que vas a conseguir es un resfriado, que, quiero decir, toma lo que te dan, ¿verdad? Bueno, eso no fue gracioso y me disculpo. Quiero decir, creo que escuché como dos risas. Gracias. No sé quién fue. No puedo ver a ninguno de ustedes, lo cual es agradable. Bueno.

Entonces, sí. Como dijo Elie, mi nombre es Saru Wieda, que, Elie es una de las únicas personas que puede pronunciar mi nombre correctamente, lo cual aprecio. Usualmente solo algo como Vieda, algo así, que no sé. Pero sí. Entonces, voy a hacer mi charla. Sé que son las 10 a.m. y vamos a ver Blender, que es algo que muchos de ustedes no han visto. Y si lo han visto hace muchos años, les prometo que se ve mejor. Se veía realmente mal. Y por eso nadie lo usaba. Así que comencé a usar Blender a mediados de la pandemia o algo así, no sé, cuando todos comenzaron a hacer sus hobbies, básicamente.

Y entonces esto es una de las cosas que hago—¿Pueden ver mi ratón? Sí. Entonces esto es una de las cosas—Además, traje un ratón porque ahora soy esa persona. Entonces esto es una de las cosas que hice y lo que vamos a intentar hacer hoy aquí, juntos como una familia, todos juntos en una conferencia real, es—¡Guau!—es que vamos a intentar llevar a este pequeño chico, al que voy a considerar un chico, aparentemente, a la web y intentar ponerlo en un sitio web. Bueno, entonces, ¿quién soy yo? Mi nombre es Sara. Sara—como quieras llamarme, no me importa. Trabajo como desarrolladora front-end en una empresa llamada Remote, lo cual es muy confuso para decirle a la gente, cuando preguntan, ¿dónde trabajas? Y yo digo, trabajo en Remote. Y ellos dicen, sé que trabajas de forma remota, pero ¿dónde trabajas? Y simplemente sigue y sigue hasta que uno de nosotros se rinde, y es como, está bien, ya no me importa. Pero, sí. Entonces, Remote es una empresa que ayuda a las empresas a contratar trabajadores remotos con, como, lo normal, sabes, tiempo de vacaciones y no eres un contratista, básicamente, lo cual es bastante agradable. Sí. Entonces, estamos contratando. Diles que te envié yo. En realidad, no. Eso suena terrible. No les digas que te envié yo. Y me encanta hacer cosas en 3D. Comencé a usar Blender, como dije, en medio de la pandemia, y me enamoré de él. Entonces, todas estas cosas que viste, las hice con mis propias manos, y tengo una computadora Windows, si alguien va a preguntar, ¿puedo usar Blender en una Mac? Puedes. Pero es doloroso como el infierno. Como, hace sonidos que no sabías que una computadora podía hacer. Y crees que lo sabes por NPM, pero confía en mí, no lo sabes. Entonces, hay una charla... Guau. Ha pasado tanto tiempo desde que hice una charla, que estaba como, ¿cómo se llama esto? La charla se dividirá en partes. En la primera parte, vamos a ir a Blender y simplemente exportar al pequeño. Y luego, en la segunda parte, vamos a saltar a la web. Bueno. Entonces, si nunca has oído hablar de Blender, Blender es un software 3D gratuito y de código abierto. La razón por la que hay un asterisco en 3D es porque en realidad hace otras cosas. Como hace 2D. También hace edición de video.

2. Aspecto 3D y vistas de Blender

Short description:

Blender es mayormente conocido por su aspecto 3D y es gratuito y de código abierto. Ofrece la capacidad de escribir plugins y cosas procedimentales en Python. La interfaz de usuario de Blender ha mejorado significativamente desde la versión 2.8. Hay tres vistas principales en Blender: una para mallas y dos vistas de renderizado - E.V. y Cycles. E.V. imita la luz y cómo debería rebotar, mientras que Cycles calcula el comportamiento de cada haz de luz en la escena. Cycles requiere una tarjeta gráfica potente, lo que lo hace inadecuado para MacBooks.

El aspecto 2D no está mal, pero todo lo demás es como... Es mayormente conocido por su aspecto 3D. Y sí, es gratuito y de código abierto. También puedes escribir plugins y cosas procedimentales en Python, si sabes Python. Yo no. Así que, ahí lo tienes.

Vamos. Voy a abrir Blender y así es como se ve ahora. Si lo has usado antes, se veía peor. Mucho peor. ¿Alguien aquí ha abierto Blender alguna vez? ¿Antes de la versión 2.8? Vale. Así que nadie ha visto lo mal que estaba. ¿Así que no entiendes lo bien que se ve ahora? Estás como, esto ni siquiera se ve tan bien. No, no entiendes. Te ruego que busques en Google Blender 2.7 UI. Vale.

Así que esta es mi pequeña taza y hay principalmente tres vistas aquí en Blender. Así que esta que tengo ahora es solo para que veas las mallas que son el pequeño cubo, una bola, lo que sea, y todo lo que tienes en la escena. Y luego hay dos vistas de renderizado. Y hay algo llamado E.V. y algo llamado Cycles.

E.V. es lo mismo, no lo mismo, pero el mismo IDS 3.js. Así que no es físicamente bueno. Esto imita la luz y cómo debería rebotar la luz, pero lo descubre por, no sé, AI y Python. Probablemente no sea AI. Son solo un montón de declaraciones if. Quiero decir, ¿qué es AI? Un montón de declaraciones if. Y así que esto es nuevo, lo que hace que sea completamente factible usarlo en una Mac porque no hace realmente todo eso. Así que si cambio a E.V. aquí y tarda un poco y voy a la cámara, así es como se ve en E.V. Así que puedes ver que si lo muevo, la luz hace esta sombra, cosa rara. Y eso es porque lo está calculando en tiempo real. Si piensas en motores de juegos como Unity o Unreal o algo así, hace lo mismo pero peor. Ahí lo tienes. No sé si alguien ha visto Unreal 5, pero es mucho peor que Unreal 5. Eso ni siquiera va a ir allí. Así que sí, E.V. E.V., este ciclo es el que hace que tu ordenador vaya. No sé si eso fue demasiado fuerte. Así que esto es Cycles, y vas a estar bien. Así que sí, esto es Cycles, y lo que hace Cycles es imaginar cada haz de luz en esta habitación, literalmente calcula dónde rebota y dónde se refracta y todo para cada uno de esas luces. Y cada luz tiene como mil puntos de luz, así que necesita una muy buena tarjeta gráfica. O cualquier tarjeta gráfica. Así que MacBook es un no-no. Así que sí, este es el más realista, pero no es el que vamos a usar. Así que sí. Volvamos a Eevee para que mi ordenador no muera. Y quería explicar principalmente esto. Y también quería mostrarte algo aquí, así que, imagina que quieres cambiar un color o algo así.

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

TresJS, una forma declarativa de crear escenas 3D a partir de componentes Vue
Vue.js London 2023Vue.js London 2023
27 min
TresJS, una forma declarativa de crear escenas 3D a partir de componentes Vue
The speaker discovered 3D with 3GS and was inspired to create a 3D ecosystem for the Vue community using Troy.js. The process of setting up a 3D scene and objects in Tress was explained, along with creating and configuring 3D objects. The talk also covered animating objects with Tress and the 'Cientos' package, as well as the future of Tress.js and its compatibility with older versions of Three. The speaker expressed gratitude to sponsors and contributors and highlighted the potential for product customization with Tress.js.
Construye un Sistema Solar 3D con Reconocimiento de Manos y Three.js
JSNation 2022JSNation 2022
36 min
Construye un Sistema Solar 3D con Reconocimiento de Manos y Three.js
Top Content
This Talk explores the use of TypeScript, 3JS, hand recognition, and TensorFlow.js to create 3D experiences on the web. It covers topics such as rendering 3D objects, adding lights and objects, hand tracking, and creating interactive gestures. The speaker demonstrates how to build a cube and a bouncy box, move objects with flick gestures, and create a solar system with stars and planets. The Talk also discusses the possibilities of using hand gestures for web navigation and controlling websites, as well as the performance limits of these technologies.
Escalando aplicaciones React-Three-Fiber más allá del Hola Mundo
React Summit 2023React Summit 2023
20 min
Escalando aplicaciones React-Three-Fiber más allá del Hola Mundo
WebGL has evolved from showcasing technology to being used in everyday applications like Google Maps and Figma. React and 3.js can be used together to build WebGL applications, allowing for reusable components and declarative development. Building complex 3D graphics applications requires efficient data structures, algorithms, and rendering techniques. The Flux CAD editor uses React, 3.js, and React ReFiber to handle complex engineering documents and optimize GPU utilization. Optimizing the render loop and GPU performance is crucial for improving WebGL application performance. Instance rendering can be used to optimize text rendering in WebGL applications, achieving efficient rendering of thousands of 3D characters.
Desde Blender hasta la Web: El Viaje de un Modelo 3D
React Summit 2022React Summit 2022
26 min
Desde Blender hasta la Web: El Viaje de un Modelo 3D
Today's Talk is about Blender and 3D in the web, covering topics such as rendering engines, material properties, exporting models, using React Fiber, lighting and shadows, state management, and adding wobbling effects. The speaker demonstrates how to create a 3D cupcake model and customize its appearance and behavior using React and Blender. The Talk also touches on topics like frosting selection, color changes, and adding orbit controls for interactive movement.
Trae la Magia del 3D a Tus Aplicaciones Vue Con TresJS
JSNation US 2024JSNation US 2024
9 min
Trae la Magia del 3D a Tus Aplicaciones Vue Con TresJS
What if I told you that this scene or game is entirely done with Vue components? I'm presenting Trace.js, a library to bring 3D to Vue applications. In the setup syntax of Vue, we import the TraceCampos component and add it with a prop called window size. By adding a light to the scene, we can create our first 3D renderer. The post processing library for TresCS was launched, allowing developers to easily add effects like glow to their 3D scenes. TresCS allows you to build impressive scenes with minimal code. Let's quickly demo some galaxies using view components.

Workshops on related topic

Cómo crear arte generativo increíble con código JavaScript simple
JS GameDev Summit 2022JS GameDev Summit 2022
165 min
Cómo crear arte generativo increíble con código JavaScript simple
Top Content
WorkshopFree
Frank Force
Frank Force
En lugar de dibujar manualmente cada imagen como en el arte tradicional, los artistas generativos escriben programas que son capaces de producir una variedad de resultados. En esta masterclass aprenderás cómo crear arte generativo increíble usando solo un navegador web y un editor de texto. Comenzando con conceptos básicos y avanzando hacia la teoría avanzada, cubriremos todo lo que necesitas saber.
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.