Construye un Sistema Solar 3D con Reconocimiento de Manos y Three.js

Rate this content
Bookmark

Vivimos en tiempos emocionantes. Marcos de trabajo como TensorFlowJS nos permiten aprovechar el poder de los modelos de IA en el navegador, mientras que otros como Three.js nos permiten crear fácilmente mundos 3D. En esta charla veremos cómo podemos combinar ambos, para construir un sistema solar completo, en nuestro navegador, ¡usando nada más que gestos de mano!

This talk has been presented at JSNation 2022, check out the latest edition of this JavaScript Conference.

FAQ

TypeScript es un lenguaje de programación tipado desarrollado por Microsoft que se construye sobre JavaScript. Se utiliza para mejorar la capacidad de escalamiento y mantenimiento del código, proporcionando herramientas más robustas para la captura de errores durante la fase de escritura del código.

Three.js es una biblioteca de JavaScript que facilita la creación de gráficos 3D en la web. Se utiliza para desarrollar visualizaciones interactivas, juegos, y experiencias de usuario mejoradas en aplicaciones web y sitios mediante el renderizado de gráficos 3D.

TensorFlow.js permite ejecutar modelos de machine learning directamente en el navegador, facilitando la integración de capacidades de inteligencia artificial en aplicaciones web sin necesidad de una comunicación constante con el servidor.

Un astronauta analógico es una persona que participa en misiones simuladas en la Tierra que imitan las condiciones de vida en el espacio. Estas misiones suelen realizarse en aislamiento en lugares como desiertos para probar equipos y protocolos espaciales.

La interfaz de reconocimiento de manos permite interactuar con aplicaciones web mediante gestos. Esto incluye navegar por interfaces, controlar elementos gráficos en 3D, y crear interacciones más naturales y accesibles sin necesidad de dispositivos periféricos tradicionales.

Los gestos manuales pueden integrarse en una página web utilizando bibliotecas como MediaPipe, que analiza el video de una cámara en tiempo real para identificar la posición y el movimiento de las manos, permitiendo así manipular elementos gráficos o interactuar con la interfaz.

Crear 'mundos 3D' con gestos de mano implica usar la captura de movimientos de las manos para generar y manipular objetos tridimensionales en una interfacción web, permitiendo un control intuitivo y directo sobre los elementos 3D sin dispositivos físicos.

Liad Yosef
Liad Yosef
36 min
16 Jun, 2022

Comments

Sign in or register to post your comment.
Video Summary and Transcription
Esta charla explora el uso de TypeScript, 3JS, reconocimiento de manos y TensorFlow.js para crear experiencias 3D en la web. Cubre temas como la representación de objetos 3D, la adición de luces y objetos, el seguimiento de manos y la creación de gestos interactivos. El orador demuestra cómo construir un cubo y una caja rebotante, mover objetos con gestos de flick y crear un sistema solar con estrellas y planetas. La charla también discute las posibilidades de usar gestos de mano para la navegación web y el control de sitios web, así como los límites de rendimiento de estas tecnologías.

1. Introducción a la demo de TypeScript

Short description:

Vamos a entender mejor TypeScript utilizando TypeScript. Vamos a la demo. Hola a todos, bienvenidos de vuelta del almuerzo.

Vamos a entender mejor TypeScript utilizando TypeScript. Vamos a la demo. Hola a todos, bienvenidos de vuelta del almuerzo. Hola a todos los que están viendo la demo. Así que nuestra charla va a ser un poco más agradable, un poco más divertida. Este es el espacio después del almuerzo. Va a ser más ligero. Quiero intentar empezar con algo. Veamos. Permíteme intentar hacer eso. Espera. Uh-oh. Sabes que funcionó cuando... No. Espera un segundo. Siempre funciona diez veces antes del show. Bueno. Y puedo simplemente rotarlo con mis manos. Así que hola, JS Nation. Espero que las otras demos funcionen mejor.

Read also

2. Introducción a la charla temática espacial

Short description:

Permíteme presentarme. Soy un arquitecto de front-end y astronauta analógico. Pasemos al tema principal: temática espacial. Discutiremos por qué hablamos de 3JS y reconocimiento de manos. Es importante entender las tecnologías que conocemos y explorar nuevas. Compartiré un mapa de Netflix de tecnologías para aprender. Elegí centrarme en el metaverso y la creación de experiencias 3D. El reconocimiento de manos es crucial para la navegación y permite interacciones geniales como jugar Beat Saber. ¡Vamos a sumergirnos!

Así que permíteme empezar un poco sobre mí. Soy el jefe arquitecto de front-end y entusiasta de la web. Y también soy astronauta analógico para el foro espacial austriaco. Hago misiones analógicas alrededor del mundo. Es un mes de aislamiento en el desierto para probar el equipo espacial y las misiones espaciales. Así que para eso vamos a cambiar la charla al tema principal de la conversación, temática espacial. Lo haremos. Y la primera pregunta que necesitas hacer cuando ves el tema de la conversación, el tema de la charla es por qué. ¿Por qué hablar de 3JS y reconocimiento de manos? ¿Por qué combinar todo junto? ¿Por qué no hacer otra charla sobre módulos de ES modules o otra charla sobre performance en JavaScript? Y es porque hay un gran dicho que dice si tuviera ocho horas para cortar un árbol, pasaría diez horas para cortar un árbol. ¿Cuál es el punto de hablar sobre tecnología? Necesitas entender las tecnologías que conoces para entenderlas mejor, entenderlas perfectamente. Me gusta más esta cita. El universo es mucho más complicado de lo que piensas. Así que no te quedes solo con las tecnologías que conoces. Intenta expandir, intenta explorar otras tecnologías y otros aspectos.

Así que, para eso, hagamos un rápido 20 minutos dentro y fuera de la charla. Entonces, ¿qué pasa si quieres construir un proyecto paralelo? Como yo, ¿verdad? Trabajo con JavaScript todo el tiempo, trabajo con React todo el tiempo, quería experimentar un poco con diferentes tecnologías, así que voy a la web y busco bibliotecas para usar, busco herramientas para usar y hay una plétora de cosas para aprender. Puedes aprender a escribir en Solidity o Unity o TensorFlow o lo que quieras y simplemente te confundes. Realmente no sabes qué elegir. Y entonces, ¿qué hacemos? Simplemente encendemos Netflix, ¿verdad? Bueno, no voy a aprender nada nuevo. Pero podemos usar Netflix como un método para intentar y mapear las tecnologías que queremos aprender, ¿verdad? Así que, te doy el mapa de Netflix de las tecnologías que yo quería explorar. Así que, tienes en la línea superior las cosas que yo recomendaría para mí como desarrollador de JavaScript como performance y hooks y trucos y mobics y juego de lectura. Y en la segunda línea es algo que es un poco más profundo, un poco más complejo, como architecture, mundos de servidores, metaverso. Y hay una línea de shows completos que necesitamos evitar, como NPM list y logger y kit de referencia perdido. Sí, así que, elegí aprender sobre el metaverso porque lo escuché, y dije bien, quiero adentrarme un poco más en él, en el metaverso. Así que, cuando hablo del metaverso, no hablo de estas estafas de NFTs, de las cosas que nadie entiende. Pero estoy pensando en esto. ¿Cómo crear experiencias 3D, verdad? Esto es como una demo de una tienda virtual H&M, y esas son las cosas que quería crear. Y en el metaverso o en esa especie de realidad virtual o AR, sabes que la interfaz de reconocimiento de manos es clave porque esto es lo que usas para navegar. Y puedes hacer cosas realmente geniales con ello, ¿verdad? Puedes, como, jugar un poco de Beat Saber así. No olvides limpiar después de ti mismo.

QnA

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

Abrazando WebGPU y WebXR con Three.js
JSNation 2024JSNation 2024
27 min
Abrazando WebGPU y WebXR con Three.js
The 3JS project has evolved into a community-driven effort with numerous contributors over the past 14 years. It started with 3D engine work in Flash and transitioned to using SVGs for rendering in HTML5 before adopting WebGL. The project showcases various projects and frameworks, including a no-code tool powered by 3.js. The team is working on a new render using WebGPU and developing a new shader language called TSL. The hope is that WebGPU will eventually replace WebGL, offering better control and performance.
TensorFlow.js 101: Aprendizaje automático en el navegador y más allá
ML conf EU 2020ML conf EU 2020
41 min
TensorFlow.js 101: Aprendizaje automático en el navegador y más allá
TensorFlow.js enables machine learning in the browser and beyond, with features like face mesh, body segmentation, and pose estimation. It offers JavaScript prototyping and transfer learning capabilities, as well as the ability to recognize custom objects using the Image Project feature. TensorFlow.js can be used with Cloud AutoML for training custom vision models and provides performance benefits in both JavaScript and Python development. It offers interactivity, reach, scale, and performance, and encourages community engagement and collaboration between the JavaScript and machine learning communities.
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.
De Blender a la Web - el Viaje de un Modelo 3D
React Advanced 2021React Advanced 2021
27 min
De Blender a la Web - el Viaje de un Modelo 3D
Top Content
This Talk is about Blender, a free and open-source 3D software, and integrating 3D models into websites. The speaker discusses exporting 3D models to the web using the gltf format and compressing them using gltf transform and draco compression. They also cover integrating the 3D model into a website using React and React 3 fiber, troubleshooting installation and error issues, and working with refs and frames. The Talk explores rendering, lighting, mathematics, and experimentation in 3D, as well as interaction and rendering effects. The speaker also mentions their favorite creation in Blender.
Haciendo juegos web “de tamaño bocado” con GameSnacks
JS GameDev Summit 2022JS GameDev Summit 2022
33 min
Haciendo juegos web “de tamaño bocado” con GameSnacks
Top Content
Welcome to making bite-sized games with GameSnacks, a platform that focuses on optimizing game sizes for easy accessibility on the web. Techniques such as lazy loading, script placement, and code and art optimization can greatly improve game performance. Choosing the right file formats, reducing game size, and using game engines or custom tools are important considerations. Prioritizing file size, testing internet connections, and using testing tools for accurate simulation can help attract more users and improve game retention and reach.

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.
Introducción a la IA para Desarrolladores de JavaScript con Tensorflow.js
JSNation Live 2021JSNation Live 2021
81 min
Introducción a la IA para Desarrolladores de JavaScript con Tensorflow.js
Workshop
Chris Achard
Chris Achard
¿Has querido explorar la IA, pero no has querido aprender Python para hacerlo? ¡Tensorflow.js te permite usar IA y aprendizaje profundo en javascript, sin necesidad de Python!
Veremos las diferentes tareas que la IA puede ayudar a resolver y cómo usar Tensorflow.js para resolverlas. No necesitas saber nada de IA para empezar, comenzaremos desde lo básico, pero aún así podremos ver algunas demos interesantes, porque Tensorflow.js tiene muchas funcionalidades y modelos preconstruidos que puedes usar en el servidor o en el navegador.
Después de este masterclass, deberías ser capaz de configurar y ejecutar modelos preconstruidos de Tensorflow.js, o comenzar a escribir y entrenar tus propios modelos con tus propios datos.
Prácticas con TensorFlow.js
ML conf EU 2020ML conf EU 2020
160 min
Prácticas con TensorFlow.js
Workshop
Jason Mayes
Jason Mayes
Ven y descubre nuestro masterclass que te guiará a través de 3 recorridos comunes al usar TensorFlow.js. Comenzaremos demostrando cómo usar uno de nuestros modelos predefinidos, clases de JS muy fáciles de usar para trabajar rápidamente con ML. Luego veremos cómo volver a entrenar uno de estos modelos en minutos utilizando el aprendizaje por transferencia en el navegador a través de Teachable Machine y cómo se puede usar en tu propio sitio web personalizado. Finalmente, terminaremos con un hola mundo escribiendo tu propio código de modelo desde cero para hacer una regresión lineal simple y predecir los precios ficticios de las casas en función de sus metros cuadrados.