Babylon.js


De Wikipedia, la enciclopedia libre
Saltar a navegación Saltar a búsqueda

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

Historia y progreso

Inicialmente se lanzó en 2013 bajo licencia pública de Microsoft y fue desarrollado por dos empleados de Microsoft , David Catuhe y David Rousset principalmente en su tiempo libre como un proyecto paralelo, ayudado por el artista Michel Rousseau como motor de juego 3D . Se basa en un motor de juego antes de Silverlight 's WPF sistema 3D basado. [7] [8] El proyecto paralelo de Catuhe se convirtió en su trabajo de tiempo completo y el enfoque principal de su equipo. [9] En 2015, se presentó en la Conferencia WebGL en París. [10] A partir de 2018, tiene más de 190 contribuyentes [11] y tras su promoción [12][13] y aplicación en juegos, [14] incluido uno de Ubisoft . [15] Su uso se ha desarrollado en una variedad de campos tales como:

  • mundos blockchain [16]
  • visualización de datos sobre delitos [17]
  • educación en medicina [18] [19]
  • avatares de moda [20]
  • administrar Kinect en la web [21]
  • entrenamiento militar [22]
  • modelado de sitios históricos [23] [24]
  • Diseño de producto [25] [26]
  • Gráficos RDF [27]
  • Modelado de infraestructura urbana subterránea [28]

Descripción técnica

El código fuente se escribe en TypeScript y luego se compila en una versión de JavaScript . La versión de 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 de Babylon.js y el código de usuario son interpretados de forma nativa por todos los navegadores web compatibles con 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 capa. [29] El uso limitado de geometría sólida constructiva es posible, aunque solo como un método de transición para crear la unión, resta e intersección de modelos de caparazón. [30] 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ígono, las texturas aplicadas a cada modelo, la cámara de escena y las luces junto con el 4 x 4 matrices mundialespara cada objeto que almacena su posición, rotación y escala. [31] La técnica utilizada para producir imágenes fotorrealistas es la del renderizado con base física [32] junto con los métodos de posprocesamiento . [33] Para simular colisiones entre modelos y otras acciones físicas del mundo real , es necesario agregar uno de los dos motores de física como complementos, estos son Cannon.js y Oimo. [34] 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 de personajes completa se logra mediante el uso deesqueletos con pesos de mezcla . [33] [35]

Bibliografía

  • Moreau-Mathis, Julien (2016). Babylon.js Essentials . Packt Publishing. ISBN 978-1785884795.
  • Chenard, Julian; Moreau-Mathis, Julien (2016). "Réaliser un jeu en 3D avec BabylonJS" [Creación de un juego 3D con BabylonJS] (PDF) . Programmez! (en francés).
  • Bousquié, Jérôme (2015). "La 3D sur le Web con BabylonJS" [3D en la Web con BabylonJS] (PDF) . Programmez! (en francés).
  • Catuhe, David (2014). "Sous le capot d'un moteur 3D" [Bajo el capó de un motor 3D] (PDF) . Programmez! (en francés).
  • Chenard, Julien (2015). Aprendiendo BabylonJS (libro electrónico) .
  • Cozzi, Patrick (2015). "Diseño de motores WebGL en Babylon.js" . Perspectivas de WebGL . Prensa CRC . ISBN 978-1498716079.

Referencias

  1. ^ "David Catuhe - Gerente de ingeniería de software del grupo principal - Microsoft" . linkedin.com . Consultado el 11 de marzo de 2021 . ... Creador y líder del proyecto de código abierto Babylon.js ...
  2. ^ "davrous (David Rousset) · GitHub" . github.com . Consultado el 18 de abril de 2021 . Gerente Senior de Programas en Microsoft. PWABuilder líder y coautor de Babylon.js ...
  3. ^ "Microsoft presenta Babylon.js 4.1, un potente motor de renderizado web de código abierto" . winbuzzer.com . Consultado el 18 de abril de 2021 .
  4. ^ "Colaboradores de BabylonJS / Babylon.js · GitHub" . github.com . Consultado el 11 de marzo de 2021 .
  5. ^ "Novedades" . doc.babylonjs.com . 12 de noviembre de 2020 . Consultado el 11 de marzo de 2021 .
  6. ^ "Lanzamientos · BabylonJS / Babylon.js · GitHub" . github.com . 17 de marzo de 2021 . Consultado el 18 de abril de 2021 .
  7. 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 .
  8. Dumand, Mickael (28 de noviembre de 2014). "Entrevista de David Rousset sur babylon.js" [Una entrevista con David Rousset en Babylon.js]. ekino (en francés) . Consultado el 7 de septiembre de 2018 .
  9. Irwin, Emma (21 de febrero de 2021). "Historia de éxito de Microsoft Open Source: Babylon" . Consultado el 18 de abril de 2021 .
  10. ^ 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 .
  11. ^ "Colaboradores" . GitHub . Consultado el 6 de septiembre de 2018 .
  12. Weber, Raanan (1 de diciembre de 2015). "Babylon.js construyendo un juego básico para la web" . Vol. 30 no. 13. MSDN . Consultado el 12 de septiembre de 2018 . La revista Cite requiere |magazine=( ayuda )
  13. Weber, Raanan (1 de enero de 2016). "Desarrollo de juegos - Babylon.js: características avanzadas para mejorar su primer juego web" . Vol. 31 no. 1. MSDN . Consultado el 12 de septiembre de 2018 . La revista Cite requiere |magazine=( ayuda )
  14. ^ "Simulador de vuelo de Babylon.js" . Consultado el 7 de septiembre de 2018 .
  15. Protalinski, Emil (9 de mayo de 2014). "Microsoft y Ubisoft lanzan el juego web 3D Assassin's Creed Pirates, construido con el marco de código abierto Babylon.JS" . La próxima web . Consultado el 7 de septiembre de 2018 .
  16. Nolan, Ben (2 de agosto de 2018). "Desarrollando un mundo virtual para múltiples dispositivos" . medium.com . Consultado el 5 de septiembre de 2018 .
  17. Button, Brian (24 de mayo de 2018). "Visualizaciones de datos de delitos de Boston, Massachusetts" . Consultado el 9 de septiembre de 2018 .
  18. ^ Lurie, Jonathan. "Obliquing de resonancia magnética con textura 3D webgl2 - Pixpipe & BabylonJS" . Consultado el 9 de septiembre de 2018 .
  19. ^ Batista, Arthur V .; Lemos, Robson R .; Rudolph, Cristiane M .; Bueno, Bruna S .; Fiuza, Patricia J. (2018). "Un juego serio de Web3D para la educación en anatomía humana" (PDF) . pag. 4 . Consultado el 9 de septiembre de 2018 .
  20. ^ "Demo de ropa 3D con BabylonJS" . Consultado el 9 de septiembre de 2018 .
  21. ^ Moreno, Francisco; Ramírez, Esmitt; Sans, Francisco; Carmona, Rhadamés (23 de octubre de 2015). "Un marco de código abierto para administrar Kinect en la Web" . 2015 Congreso Latinoamericano de Computación (CLEI) . pag. 7. doi : 10.1109 / CLEI.2015.7359995 . ISBN 978-1-4673-9143-6. S2CID  2798664 . Consultado el 9 de septiembre de 2018 .
  22. ^ Maxwell, Douglas; Heilmann, Michael (2017). "Aprovechamiento de HTML5 y WebGL para abordar las barreras de garantía de la información para el entrenamiento basado en simulación en el ejército de los EE. UU." (PDF) . modsimworld.org . pag. 8.
  23. ^ Goussu, Laurence. "Digital Pompéi" . El Instituto Nacional de Investigación en Ciencias de la Computación y Control (Inria) . Consultado el 7 de septiembre de 2018 .
  24. ^ "Palacio Sponza" . Consultado el 12 de septiembre de 2018 .
  25. ^ Cardoza, Christina; Moore, Madison (14 de julio de 2017). "Resumen de noticias de SD Times" . Tiempos SD . Consultado el 7 de septiembre de 2018 .
  26. ^ "Laboratorio de diseño de Xbox" . Xbox . Consultado el 12 de septiembre de 2018 .
  27. ^ Viola, Fabio; Roffia, Luca; Antoniazzi, Francesco; D'Elia, Alfredo; Aguzzi, Cristiano; Cinotti, Tullio Salmon (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 .
  28. ^ Rodríguez, Juan Manuel Jurado; Alvarado, Lidia Ortega; Higueruela, Francisco R. Feito (2018). "Reconstrucción subterránea 3D para un entorno de realidad virtual colaborativo y en tiempo real" (PDF) . Sociedad Mundial de Gráficos por Computadora. págs. 40, 43 . Consultado el 9 de septiembre de 2018 .
  29. ^ Chenard, Julian. "Tree Generator - Cómo utilizar el objeto VertexData" . Pixel Codr . Consultado el 27 de noviembre de 2018 .
  30. ^ Feldespato, Craig. "Geometría sólida constructiva en Babylon.js" . GitHub . Consultado el 27 de noviembre de 2018 .
  31. ^ Catuhe, David (noviembre de 2016). "Construyendo Shaders con Babylon.js" . Revista Smashing . Consultado el 27 de noviembre de 2018 .
  32. Ryan, Patrick (8 de enero de 2018). "Art Pipeline para glTF" . Grupo Khronos . Consultado el 27 de noviembre de 2018 .
  33. ↑ a b Moreau-Mathis, Julien (2016). Babylon.js Essentials . Packt Publishing. ISBN 978-1785884795.
  34. Rousset, David (11 de junio de 2015). "Física de WebGL y detección de colisiones con BabylonJS y Oimo.js" . Desarrollo de juegos . Consultado el 27 de noviembre de 2018 .
  35. Beaulieu, Andy (26 de mayo de 2014). "babylon.js: física y animación de personajes" . Spritehand . Consultado el 6 de septiembre de 2018 .

enlaces externos

  • Página web oficial
  • Babylon.js en GitHub
Obtenido de " https://en.wikipedia.org/w/index.php?title=Babylon.js&oldid=1018499641 "