Babylon.js - Le Bottin des Jeux Linux

Babylon.js

🗃️ Specifications

📰 Title: Babylon.js 🕹️ / 🛠️ Type: Tool
🗃️ Genre: Development 🚦 Status: 04. Released (status)
🏷️ Category: Development ➤ Engine ➤ 2D & 3D ➤ Misc. 🌍️ Browser version:
🔖 Tags: Development; Multi-platform; 2D & 3D engine; Rendering 📦️ Package name:
🐣️ Approx. start: 2013-06-23 ....... 📦️ Arch:
🐓️ Latest: 2024-03-28 ....... 📦️ RPM:
📍️ Version: Latest: 7.0.0 / Dev: 5c66623 ....... 📦️ Deb:
🏛️ License type: 🕊️ Libre ....... 📦️ Flatpak:
🏛️ License: Apache-2.0 ....... 📦️ AppImage:
🏝️ Perspective: Third & First person ....... 📦️ Snap:
👁️ Visual: 2D & 3D ⚙️ Generic binary:
⏱️ Pacing: Real Time 📄️ Source: ✓
👫️ Played: Single & Multi 📱️ PDA support:
🎖️ This record: 5 stars 🎀️ Game design:
👫️ Contrib.: goupildb 🎰️ ID: 16410
🐛️ Created: 2024-03-30 🐜️ Updated: 2024-03-31

📖️ Summary

[en]: A libre, multi-platform, powerful, yet simple game and rendering engine, integrated into a JavaScript framework. It offers tons of rendering features (procedural geometry, global illumination, Gaussian Splatting, ...), support for texture decals, a new greased line system, an advanced animation system, an advanced ground projection system, Ragdoll physics, the full WebXR specification, the Apple Vision Pro system (augmented reality glasses with integrated cameras), and the full glTF specification. [fr]: Un moteur de jeu et de rendu libre et multi-plateforme, puissant, et simple, intégré dans un framework JavaScript. Il offre notamment des tonnes de fonctionnalités de rendu (géométrie procédurale, illumination globale, Gaussian Splatting, ...), le support des décalques de texture, d'un nouveau système de ligne graissée, d'un système d'animation avancé, d'un système de projection au sol avancé, de la physique Ragdoll, de l'intégralité de la spécification WebXR, du système Apple Vision Pro (lunettes de réalité augmentée avec caméras intégrées), et de la spécification glTF complète.

🚦 Entry status

📰 What's new?: 💥️ New 🦺️ Work in progress:
💡 Lights on: 💭️ New version published (to be updated):
🎨️ Significant improvement: 🚧️ Some work remains to be done:
👻️ Temporary: 👔️ Already shown:

🎥️ Videos


🏝️ Trailer: (7.0/202403),


🦉️From Devs: [fr](201410),


💎 Features: (202304),


📰 Progress: (7.0/202403),


🕯️ How To: (201611), (202306), [fr](201904),


🎮️ Showcase: (202303), (202212), (202203),

🕸️ Links

🏡️ Website & videos
[Homepage] [Dev site] [Features/About] [Screenshots] [Videos ft(202304) ft(202204) t(7.0/202403) gd[fr](201410) gu[fr](202005) r(202xxx) lp(202xxx) d(202303) d(202212) d(202203) d(202102) d(202208) d(2023012) ht(201611) ht(202306) ht(202305) ht(202401) ht[fr](201904) ht[de](202xxx) ht[ru](202xxx) ht[pl](202xxx) ht[cz](202xxx) ht[sp](201407) ht[pt](202xxx) ht[it](202xxx) ht[tr](202xxx)] [WIKI] [FAQ] [RSS] [Changelog 1 2 3 4]

💰 Commercial
• (empty)

🍩️ Resources
(empty, license): [Homepage] [Dev site] 🎬️ ht(202xxx)

🛠️ Technical informations
[PCGamingWiki] [MobyGames]

🦣️ Social
Devs (Babylon.js Team 1 2 [fr] [en]): [Site 1 2] [Chat] [mastodon] [PeerTube] [YouTube] [PressKit] [Interview 1(202403) 2[fr](202302)]
Devs (David Catuhe (deltakosh @Microsoft) 1 2 [fr] [en]): [Site 1 2] [Chat] [mastodon] [X] [PeerTube] [YouTube] [PressKit] [Interview 1(202xxx) 2(202xxx)]
The Project: [Blog] [Chat] [Forums] [mastodon] [X] [PeerTube] [YouTube] [PressKit] [Lemmy] [reddit] [Discord]

🐝️ Related
[Wikipedia (Babylon.js) [fr] [en] [de]]

📦️ Misc. repositories
[Repology] [pkgs.org] [Generic binary] [Arch Linux / AUR] [openSUSE] [Debian/Ubuntu] [Flatpak] [AppImage(author's repo)] [Snap] [PortableLinuxGames]

🕵️ Reviews
[HowLongToBeat] [metacritic] [OpenCritic] [iGDB]

🕊️ Source of this Entry: [Dev café [fr] (20240330)]

🦣️ Social Networking Update (on mastodon)

🛠️ Title: Babylon.js
🦊️ What's: A libre powerful, simple, game and rendering engine integrated into a JavaScript framework
🏡️ https://www.babylonjs.com
🐣️ https://github.com/BabylonJS
🔖 #LinuxGameDev #LibreGameEngine #Rendering #Typescript
📦️ #Libre
📖 Our entry: https://www.lebottindesjeuxlinux.tuxfamily.org/en/online/lights-on/

🥁️ Update: 7.0.0
⚗️ Major upgrade (Stable) 🍎️
📌️ Changes: https://github.com/BabylonJS/Babylon.js/releases
🦣️ From: https://mastodon.social/@devcafe/112184120681405751
📶️ https://github.com/BabylonJS/Babylon.js/releases.atom
📰 https://www.youtube.com/embed/1RFeoDe7XZw

🏝️ https://www.youtube.com/embed/5V07vm5u74Q
💎 https://www.youtube.com/embed/KCFlZtu0ftw
🕯️ https://www.youtube.com/embed/?list=PLS9MbmO_ssyCT1KHSi1GYX73ayv_9GusY
🕯️ https://www.youtube.com/embed/?list=PLjcjAqAnHd1HaaJLnBP2ok6cOF8dkYSep
🎮️ https://www.youtube.com/embed/HG5FDOPgskw
🎮️ https://www.youtube.com/embed/RIs0URMKDRY
🎮️ https://www.youtube.com/embed/3Wv1BfhW_Vk

🕶️ The engine logo

Babylon.js is a libre, multi-platform, powerful, yet simple game and rendering engine, integrated into a JavaScript framework. It offers tons of rendering features (procedural geometry, global illumination, Gaussian Splatting, ...), support for texture decals, a new greased line system, an advanced animation system, an advanced ground projection system, Ragdoll physics, the full WebXR specification, the Apple Vision Pro system (augmented reality glasses with integrated cameras), and the full glTF specification.

📕 Description [en]

📕🐧"A libre powerful, simple, game and rendering engine integrated into a JavaScript framework"🐧📕

Babylon.js is a powerful, beautiful, simple, and open game and rendering engine packed into a friendly JavaScript framework.

PROCEDURAL GEOMETRY (NODE GEOMETRY)
This simple to use tool lets you assemble a non-destructive geometry tree, allowing you to create anything from tiny geometric variations, to entire procedural worlds/landscapes. Procedural geometry offers the ability to create complex geometry at run/build time. This adds a tremendous layer of flexibility for creators to offer the perfect loading/performance optimization for their unique web experience!

GLOBAL ILLUMINATION
With Babylon.js 7.0, we are excited to introduce support for basic Global Illumination. This highly desired and advanced feature allows Babylon.js scenes to render even more lifelike experiences by allowing light and shadows to “bounce” around environments in a way that much closer matches reality.

GAUSSIAN SPLAT RENDERING
Gaussian Splatting is a new technique to capture and display volumetric data using Neural Radiance Fields, point clouds and billboards. In more simple terms, it's an advanced way of allowing people to capture and display the real world with a level of unmatched visual fidelity and performance running at 60 fps!

RAGDOLL PHYSICS
Babylon.js 7.0 builds on the momentum (see what we did there?) of Havok physics support in Babylon, by adding support for ragdoll animation. This allows any skeletal rigged asset to collapse and flop around with limp lifelessness at the push of a button.

STATE OF ART WEBXR SUPPORT
Babylon.js continues to support the full WebXR spec, making it as simple as possible to create incredibly immersive web experiences. With this release, Babylon.js 7.0 adds support for several new WebXR features including: full-screen GUI, touchable UI elements, world scale, antialiased multiviews, and the ability to use hands and controllers at the same time!

APPLE VISION PRO SUPPORT
Apple’s Vision Pro is an exciting product that provides a blending of the real and virtual worlds in fascinating new ways. We are excited to share the Babylon.js 7.0 adds full support for the Vision Pro allowing Apple fans to experience immersive worlds through the web at the push of a button.

ADVANCED ANIMATION SYSTEM UPDATES
Babylon.js 7.0 brings some exciting new features to the underlying animation engine, unlocking powerful new capabilities for real-time animations on the web. These updates add the ability to blend animation groups and mask specific portions of animations allowing creators to fine tune their experiences like never before. Interested in a forward walk cycle, blended with a sideways strafe, all with active morph target lip sync? It’s now all possible thanks to the exciting updates to the animation system.

STATE OF THE ART GLTF SUPPORT
Every version of Babylon.js comes with updated support for the full glTF spec. This means you can always count on the Babylon platform to render the very state-of-the-art and cutting edge rendering advancements on the web. With Babylon.js 7.0, that rich tradition continues with the added support of the Dispersion and Anisotropy glTF extensions.

THE GREASED LINE
Built right into the core engine, the new Greased Line system unlocks some exciting new possibilities for web creators. This new special type of line is built using the mesh system to display lines of any specified width. The extra sprinkling of non-trademarked fantasy dust is that these lines are equipped with a special shader that allows the line to always face the camera so they can be viewed consistently no matter where the camera moves to.

SEAMLESS TEXTURE DECALS
Introduced with Babylon.js 6.0, texture decals offered a powerful new option of projecting images onto an existing texture of a 3D object in your scene. With Babylon.js 7.0, that same system is given superpowers by allowing the decals to seamlessly map across UV boundaries! That means that no matter how pretty or less-pretty your UV layout might be, decals will work perfectly on any 3D object!

ADVANCED GROUND PROJECTION
Imagine taking a 360 skybox/environment and then magically transforming the lower half into a “fake” ground that seems to support the 3D objects in your scene. This illusion provides a perfectly smooth transition from the ground to the sky within your scene. Sound like wizardry? Well what are you waiting for? Check it out!

MMD SUPPORT COMMUNITY EXTENSION
This exciting extension to Babylon.js 7.0 offers creators the ability to import 3D assets and animations from the popular 3D Creation Software: MikuMikuDance or MMD for short. In addition to loading assets and animations, it also has support for IK solvers, a morph system, synced audio playback, player controls, and much much more.

JUST THE TIP OF THE ICEBERG
We don't take it lightly when we say that Babylon.js is fully-featured. Dive in to see how far this rabbit hole goes!


🌍️ Wikipedia:

Babylon.js is a JavaScript library and 3D engine for displaying real time 3D graphics in a web browser via HTML5. The source code is available on GitHub and distributed under the Apache License 2.0.

History and progress

It was initially released in 2013 under Microsoft Public License, having been developed by two Microsoft employees in their free time as a side-project. David Catuhe created the 3D game engine, while David Rousset implemented VR, Gamepad and IndexedDB support. The two were aided by artist Michel Rousseau, who contributed several 3D scenes. Babylon.js is based on an earlier game engine for Silverlight's WPF based 3D system. Catuhe's side-project then became his full-time job, and his team's primary focus. In 2015, it was presented at the WebGL Conference in Paris. Following its promotion and application in games, video game publisher Ubisoft released an Assassin's Creed title built atop the library in 2014. As of 2024, the project has more than 500 contributors.

Its use has developed into a variety of fields such as:

• virtual worlds
• crime data visualization
• education in medicine
• fashion avatars
• managing Kinect on the web
• military training
• modelling historic sites
• Product design
• RDF graphs
• urban underground infrastructure modelling

Technical description

The source code is written in TypeScript and then compiled into a JavaScript version. The JavaScript version is available to end users via NPM or CDN who then code their projects in JavaScript accessing the engine's API. The Babylon.js 3D engine and user code is natively interpreted by web browsers supporting the HTML5 standard and WebGL to undertake the 3D rendering.

Modeling methodology

The 3D modeling process used is that of polygon modeling with triangular faces to be represented by shell models. Limited use of constructive solid geometry is possible, though only as a transitional method to create the union, subtraction, and intersection of shell models. Once created, models are rendered on an HTML 5 canvas element using a shader program which determines the pixel positions and colors on the canvas using the polygon models, the textures applied to each model, the scene camera and lights together with the 4 x 4 world matrices for each object which stores their position, rotation and scale. The technique used to produce photo realistic images is that of physically based rendering along with post-processing methods. In order to simulate collisions between models and other real world physical actions, one of two physics engines need to be added as plugins: Cannon.js and Oimo. Animation involving, for example, changes in position or color of models is accomplished by key frame animation objects called "animatables," while full character animation is achieved through the use of skeletons with blend weights.

📕 Description [fr]

Un moteur de jeu et de rendu libre, puissant, simple, intégré dans un framework JavaScript, par la Babylon.js Team, initié par David Catuhe (deltakosh @Microsoft).
En TypeScript/JavaScript.

Babylon.js est un moteur de jeu et de rendu libre et multi-plateforme, puissant, et simple, intégré dans un framework JavaScript. Il offre notamment des tonnes de fonctionnalités de rendu (géométrie procédurale, illumination globale, Gaussian Splatting, ...), le support des décalques de texture, d'un nouveau système de ligne graissée, d'un système d'animation avancé, d'un système de projection au sol avancé, de la physique Ragdoll, de l'intégralité de la spécification WebXR, du système Apple Vision Pro (lunettes de réalité augmentée avec caméras intégrées), et de la spécification glTF complète.


Babylon.js est un moteur de jeu et de rendu puissant, beau, simple et ouvert, intégré dans un framework JavaScript convivial.

GÉOMÉTRIE PROCÉDURALE (NODE GEOMETRY)
Cet outil simple d'utilisation vous permet d'assembler un arbre géométrique non destructif, ce qui vous permet de créer des variations géométriques minuscules ou des mondes/paysages procéduraux entiers. La géométrie procédurale permet de créer des géométries complexes au moment de l'exécution ou de la construction. Les créateurs disposent ainsi d'une grande souplesse pour optimiser le chargement et les performances de leur site web.

ILLUMINATION GLOBALE
Avec Babylon.js 7.0, nous sommes ravis d'introduire la prise en charge de l'illumination globale de base. Cette fonctionnalité avancée et très désirée permet aux scènes Babylon.js de rendre des expériences encore plus réalistes en permettant à la lumière et aux ombres de "rebondir" autour des environnements d'une manière qui se rapproche beaucoup plus de la réalité.

RENDU D'ÉCLATS GAUSSIENS
Le Gaussian Splatting est une nouvelle technique pour capturer et afficher des données volumétriques à l'aide de Champs de Radiance Neurale, de nuages de points et de panneaux d'affichage. En termes plus simples, il s'agit d'une méthode avancée permettant de capturer et d'afficher le monde réel avec un niveau de fidélité visuelle et de performance inégalé à 60 images par seconde !

PHYSIQUE RAGDOLL
Babylon.js 7.0 s'appuie sur la dynamique (vous voyez ce que nous avons fait là ?) de la prise en charge de la physique Havok dans Babylon, en ajoutant la prise en charge de l'animation ragdoll. Cela permet à n'importe quel objet squelettique riggé de s'effondrer et de flotter sans vie à la simple pression d'un bouton.

SUPPORT WEBXR DE POINTE
Babylon.js continue de prendre en charge l'intégralité de la spécification WebXR, rendant aussi simple que possible la création d'expériences Web incroyablement immersives. Avec cette version, Babylon.js 7.0 ajoute la prise en charge de plusieurs nouvelles fonctionnalités WebXR, notamment : l'interface graphique plein écran, les éléments d'interface tactile, l'échelle du monde, les vues multiples anticrénelées et la possibilité d'utiliser les mains et les contrôleurs en même temps !

SUPPORT APPLE VISION PRO
Vision Pro d'Apple est un produit passionnant qui permet de mélanger les mondes réel et virtuel de manière fascinante. Nous sommes ravis de vous annoncer que Babylon.js 7.0 prend en charge la Vision Pro, permettant ainsi aux fans d'Apple de découvrir des mondes immersifs sur le Web en appuyant simplement sur un bouton.

MISES À JOUR DU SYSTÈME D'ANIMATION AVANCÉ
Babylon.js 7.0 apporte de nouvelles fonctionnalités passionnantes au moteur d'animation sous-jacent, débloquant de nouvelles capacités puissantes pour les animations en temps réel sur le web. Ces mises à jour ajoutent la possibilité de mélanger des groupes d'animation et de masquer des parties spécifiques d'animations, permettant aux créateurs d'affiner leurs expériences comme jamais auparavant. Intéressé par un cycle de marche avant, mélangé à un déplacement latéral, le tout avec une synchronisation labiale active de la cible de morphologie ? C'est désormais possible grâce aux mises à jour passionnantes du système d'animation.

SUPPORT GLTF DE POINTE
Chaque version de Babylon.js est livrée avec une prise en charge actualisée de la spécification glTF complète. Cela signifie que vous pouvez toujours compter sur la plateforme Babylon pour rendre les avancées les plus récentes et les plus avant-gardistes en matière de rendu sur le Web. Avec Babylon.js 7.0, cette riche tradition se poursuit avec l'ajout de la prise en charge des extensions glTF Dispersion et Anisotropie.

LA LIGNE GRAISSÉE
Intégré dans le moteur principal, le nouveau système de ligne graissée ouvre de nouvelles possibilités passionnantes pour les créateurs de sites Web. Ce nouveau type de ligne est construit en utilisant le système de maillage pour afficher des lignes de n'importe quelle largeur. Ces lignes sont équipées d'un shader spécial qui leur permet de toujours faire face à la caméra, de sorte qu'elles peuvent être visualisées de manière cohérente, quel que soit l'endroit où la caméra se déplace.

DÉCALQUES DE TEXTURE SANS COUVERTURE
Introduits avec Babylon.js 6.0, les décalques de texture offraient une nouvelle option puissante de projection d'images sur une texture existante d'un objet 3D dans votre scène. Avec Babylon.js 7.0, ce même système est doté de super-pouvoirs en permettant aux décalques de s'appliquer de manière transparente à travers les limites UV ! Cela signifie que, quelle que soit la beauté de votre disposition UV, les décalques fonctionneront parfaitement sur n'importe quel objet 3D !

PROJECTION AU SOL AVANCÉE
Imaginez que vous preniez une skybox/environnement 360 et que vous transformiez comme par magie la moitié inférieure en un "faux" sol qui semble soutenir les objets 3D de votre scène. Cette illusion permet une transition parfaitement fluide entre le sol et le ciel dans votre scène. Vous avez l'impression d'être un magicien ? Qu'attendez-vous ? Jetez un coup d'œil !

EXTENSION DE LA COMMUNAUTÉ DE SOUTIEN MMD
Cette extension passionnante de Babylon.js 7.0 offre aux créateurs la possibilité d'importer des ressources et des animations 3D à partir du célèbre logiciel de création 3D : MikuMikuDance ou MMD en abrégé. Outre le chargement de ressources et d'animations, cette extension prend également en charge les solveurs IK, un système de morphologie, la lecture audio synchronisée, les contrôles du lecteur, et bien plus encore.

LA PARTIE ÉMERGÉE DE L'ICEBERG
Nous ne prenons pas cela à la légère lorsque nous disons que Babylon.js est très complet. Plongez pour voir jusqu'où va ce trou de lapin !



🌍️ Wikipedia:

Babylon.js est un moteur 3D temps réel sous forme de bibliothèque JavaScript permettant l'affichage de scènes 3D dans un navigateur web via HTML5. Le code source est disponible sur github et distribué sous licence Apache 2.0.

Histoire et progrès

Il est basé sur un ancien moteur de jeu 3D basé sur WPF de Silverlight. Le projet parallèle de David Catuhe est alors devenu son travail à plein temps et l'objectif principal de son équipe. En 2015, il est présenté à la conférence WebGL à Paris . Il a été développé initialement par des employés de Microsoft, sur leur temps libre et compte en 2016 déjà plus de 90 contributeurs. En 2018, ce nombre grimpe à 190 puis à 475 en 2023, entre autres à la suite de sa promotion et de son utilisation dans des jeux, dont un par Ubisoft.

Description technique

Ce moteur 3D est interprété nativement par un navigateur web supportant la norme HTML5. Le langage de programmation utilisé est le JavaScript, permettant les calculs et le rendu 3D par l'intermédiaire de l'interface de programmation WebGL.

Le programme source Babylon.js est lui-même codé en TypeScript, mais la version transpilée en JavaScript est fournie à l'utilisateur final, si bien que ce dernier peut utiliser directement Javascript pour accéder à l'API de Babylon.js.

Communauté et ressources

Les utilisateurs et contributeurs du projet Babylon.js, nommé aussi BJS, échangent principalement sur le forum consacré à Babylon.js : http://www.html5gamedevs.com/forum/16-babylonjs/

Afin de présenter leurs problèmes ou les résolutions de ces problèmes, ils utilisent un espace de programmation en ligne communautaire nommé le PlayGround (terrain de jeu en anglais) : http://www.babylonjs-playground.com/