stringtranslate.com

Babilonia.js

Babylon.js es una biblioteca de JavaScript y un motor 3D para mostrar gráficos 3D en tiempo real en un navegador web a través de HTML5 . El código fuente está disponible en GitHub y se distribuye bajo la licencia Apache 2.0 .

Historia y progreso

Babylon.js fue lanzado inicialmente en 2013 bajo la Licencia Pública de Microsoft , habiendo sido desarrollado por dos empleados de Microsoft en su tiempo libre como un proyecto paralelo. David Catuhe creó el motor de juego 3D , mientras que David Rousset implementó VR , Gamepad y soporte IndexedDB . Los dos fueron ayudados por el artista Michel Rousseau, quien contribuyó con varias escenas 3D. Babylon.js se basa en un motor de juego anterior para el sistema 3D basado en WPF de Silverlight . [4] [5] El proyecto paralelo de Catuhe se convirtió entonces en su trabajo de tiempo completo y el enfoque principal de su equipo. [6] En 2015, se presentó en la Conferencia WebGL en París. [7] Tras su promoción [8] [9] y aplicación en juegos, [10] el editor de videojuegos Ubisoft lanzó un título de Assassin's Creed construido sobre la biblioteca en 2014. [11] A partir de 2024, el proyecto tiene más de 500 colaboradores. [12]

Su uso se ha desarrollado en diversos campos como:

Descripción técnica

El código fuente está escrito en TypeScript y luego compilado en una versión JavaScript . La versión JavaScript está disponible para los usuarios finales a través de NPM o CDN, quienes luego codifican sus proyectos en JavaScript accediendo a la API del motor. El motor 3D Babylon.js y el código de usuario son interpretados de forma nativa por los navegadores web que admiten el estándar HTML5 y WebGL para realizar la representación 3D .

Metodología de modelado

El proceso de modelado 3D utilizado es el de modelado de polígonos con caras triangulares para ser representadas por modelos de concha. [26] Es posible un uso limitado de geometría sólida constructiva , aunque solo como un método de transición para crear la unión, sustracción e intersección de modelos de concha. [27] Una vez creados, los modelos se renderizan en un elemento de lienzo HTML 5 utilizando un programa de sombreado que determina las posiciones de los píxeles y los colores en el lienzo utilizando los modelos de polígonos, las texturas aplicadas a cada modelo, la cámara de la escena y las luces junto con las matrices del mundo 4 x 4 para cada objeto que almacena su posición, rotación y escala. [28] La técnica utilizada para producir imágenes fotorrealistas es la de renderizado basado en física [29] junto con métodos de posprocesamiento . [30] Para simular colisiones entre modelos y otras acciones físicas del mundo real, se debe agregar uno de los dos motores de física como complementos: Cannon.js y Oimo. [31] La animación que implica, por ejemplo, cambios en la posición o el color de los modelos se logra mediante objetos de animación de fotogramas clave llamados "animables", mientras que la animación completa de personajes se logra mediante el uso de esqueletos con pesos de mezcla . [30] [32]

Véase también

Referencias

  1. ^ "David Catuhe - Gerente de Ingeniería de Grupo - Microsoft". linkedin.com . Consultado el 11 de marzo de 2021 . ... Creador y líder del proyecto de código abierto Babylon.js ...
  2. ^ "Microsoft presenta Babylon.js 4.1, un potente motor de renderizado web de código abierto". winbuzzer.com . 28 de febrero de 2020 . Consultado el 18 de abril de 2021 .
  3. ^
  4. ^ Elliot, Iain (15 de agosto de 2013). "Babylon.js: un motor de juegos WebGL de Microsoft". i-programmer.info . Consultado el 6 de septiembre de 2018 .
  5. ^ Dumand, Mickael (28 de noviembre de 2014). "Entrevista de David Rousset sobre Babylon.js" [Entrevista con David Rousset sobre Babylon.js]. ekino (en francés). Archivado desde el original el 12 de septiembre de 2016. Consultado el 7 de septiembre de 2018 .
  6. ^ Irwin, Emma (21 de febrero de 2021). "Historia de éxito de Microsoft Open Source: Babylon" . Consultado el 18 de abril de 2021 .
  7. ^ Rousseau, Jean-Michel; Rousseau, David (12 de octubre de 2015). "BabylonJS et ses dernières fonctionnalités" [BabylonJS y sus últimas funciones]. webglparis.com (en francés) . Consultado el 12 de septiembre de 2018 .
  8. ^ Weber, Raanan (1 de diciembre de 2015). "Babylon.js: creación de un juego básico para la Web". Vol. 30, núm. 13. MSDN . Consultado el 12 de septiembre de 2018 . {{cite magazine}}: Requiere citar revista |magazine=( ayuda )
  9. ^ Weber, Raanan (1 de enero de 2016). "Desarrollo de juegos: Babylon.js: funciones avanzadas para mejorar su primer juego web". Vol. 31, n.º 1. MSDN . Consultado el 12 de septiembre de 2018 . {{cite magazine}}: Requiere citar revista |magazine=( ayuda )
  10. ^ "Simulador de vuelo Babylon.js". Archivado desde el original el 16 de agosto de 2020. Consultado el 7 de septiembre de 2018 .
  11. ^ Protalinski, Emil (9 de mayo de 2014). «Microsoft y Ubisoft lanzan el juego web en 3D Assassin's Creed Pirates, creado con el framework de código abierto Babylon.JS». The Next Web . Consultado el 7 de septiembre de 2018 .
  12. ^ "Colaboradores". GitHub . Consultado el 6 de septiembre de 2018 .
  13. ^ Nolan, Ben (2 de agosto de 2018). "Desarrollo de un mundo virtual para múltiples dispositivos". medium.com . Consultado el 5 de septiembre de 2018 .
  14. ^ Button, Brian (24 de mayo de 2018). "Visualizaciones de datos sobre delincuencia en Boston, Massachusetts" . Consultado el 9 de septiembre de 2018 .
  15. ^ Lurie, Jonathan. "Oblicuación de MRI con textura 3D webgl2 - Pixpipe y BabylonJS". YouTube . Consultado el 9 de septiembre de 2018 .
  16. ^ Batista, Arthur V.; Lemos, Robson R.; Rudolph, Cristiane M.; Bueno, Bruna S.; Fiuza, Patricia J. (2018). "Un juego serio Web3D para la educación en anatomía humana" (PDF) . p. 4 . Consultado el 9 de septiembre de 2018 .
  17. ^ "Demostración de ropa en 3D con BabylonJS". 20 de septiembre de 2016. Consultado el 9 de septiembre de 2018 .
  18. ^ Moreno, Francisco; Ramirez, Esmitt; Sans, Francisco; Carmona, Rhadamés (2015-10-23). ​​"Un marco de código abierto para gestionar Kinect en la Web". Conferencia Latinoamericana de Computación 2015 (CLEI) . p. 7. doi :10.1109/CLEI.2015.7359995. ISBN 978-1-4673-9143-6. S2CID  2798664 . Consultado el 9 de septiembre de 2018 .
  19. ^ Maxwell, Douglas; Heilmann, Michael (2017). "Aprovechamiento de HTML5 y WebGL para abordar las barreras de seguridad de la información para el entrenamiento basado en simulación en el ejército de los EE. UU." (PDF) . modsimworld.org . pág. 8.
  20. ^ Goussu, Laurence. "Pompéi digital". Instituto Nacional de Investigación en Informática y Control (Inria) . Consultado el 7 de septiembre de 2018 .
  21. «Palacio Sponza» . Consultado el 12 de septiembre de 2018 .
  22. ^ Cardoza, Christina; Moore, Madison (14 de julio de 2017). «Resumen de noticias del SD Times». SD Times . Consultado el 7 de septiembre de 2018 .
  23. ^ "XBox Design Lab". Xbox . Archivado desde el original el 19 de agosto de 2016 . Consultado el 12 de septiembre de 2018 .
  24. ^ Viola, Fabio; Roffia, Luca; Antoniazzi, Francesco; D'Elía, Alfredo; Aguzzi, Cristiano; Cinotti, Tullio Salmón (17 de agosto de 2018). "Exploración 3D interactiva de gráficos RDF a través de planos semánticos". Internet del futuro . 10 (8): 5–8. doi : 10.3390/fi10080081 . hdl : 11585/640472 .
  25. ^ Rodríguez, Juan Manuel Jurado; Alvarado, Lidia Ortega; Higueruela, Francisco R. Feito (2018). «Reconstrucción subterránea en 3D para un entorno de realidad virtual colaborativo y en tiempo real» (PDF) . World Society for Computer Graphics. pp. 40, 43. Consultado el 9 de septiembre de 2018 .
  26. ^ Chenard, Julian. "Generador de árboles: cómo utilizar el objeto VertexData". Pixel Codr . Archivado desde el original el 2019-08-27 . Consultado el 2018-11-27 .
  27. ^ Feldspar, Craig. "Geometría sólida constructiva en Babylon.js". GitHub . Consultado el 27 de noviembre de 2018 .
  28. ^ Catuhe, David (noviembre de 2016). "Building Shaders with Babylon.js" (Construcción de sombreadores con Babylon.js). Smashing Magazine . Consultado el 27 de noviembre de 2018 .
  29. ^ Ryan, Patrick (8 de enero de 2018). "Art Pipeline for glTF". Khronos Group . Consultado el 27 de noviembre de 2018 .
  30. ^ de Moreau-Mathis, Julien (2016). Babylon.js Essentials. Packt Publishing. ISBN 978-1785884795.
  31. ^ Rousset, David (11 de junio de 2015). «Física WebGL y detección de colisiones con BabylonJS y Oimo.js». Desarrollo de juegos . Consultado el 27 de noviembre de 2018 .
  32. ^ Beaulieu, Andy (26 de mayo de 2014). «babylon.js: física y animación de personajes». Spritehand . Consultado el 6 de septiembre de 2018 .

Lectura adicional

Enlaces externos