跳转到内容

Babylon.js

维基百科,自由的百科全书

这是本页的一个历史版本,由114.46.54.68留言2022年6月1日 (三) 11:50 建立内容为“{{Infobox software | name = Babylon.js | logo = Babylon logo v4.svg | logo caption = | author = David Catuhe<ref> {{cite web |url=https://www.linkedin.com/in/dcatuhe |title=David Catuhe - Group Engineering Manager - Microsoft |website=linkedin.com |access-date=11 March 2021 |quote= ... Creator and leader of Babylon.js open source project ... }}</ref> | developer = 微軟<ref> {{cite web |url=https://winbuzzer.com/2020/02/28…”的新页面)编辑。这可能和当前版本存在着巨大的差异。

(差异) ←上一修订 | 最后版本 (差异) | 下一修订→ (差异)
Babylon.js
原作者David Catuhe[1]
開發者微軟[2] 與社群貢獻者[3]
首次发布2013年,​12年前​(2013
当前版本
  • 8.3.1(2025年4月18日;穩定版本)[4]
編輯維基數據鏈接
预览版本[5]
源代码库github.com/BabylonJS/Babylon.js
编程语言TypeScript, JavaScript
许可协议Apache License 2.0
网站www.babylonjs.com

Babylon.js 是一個即時 3D 引擎,使用 JavaScript 工具庫通過 HTML5 在網頁瀏覽器中顯示 3D 圖形。原始碼可在 GitHub 上取得,並以 Apache License 2.0 授權條款發佈。

歷史與進展

Babylon。js 最初於 2013 年根據微軟公共許可證發布,由兩名微軟員工開發。 David Catuhe 創建了 3D 遊戲引擎,並得到了 David Rousset(VR、Gamepad 和 IndexedDB 支持)的幫助,主要是在業餘時間作為個人專案。 他們還得到了藝術家米歇爾盧梭的幫助,他貢獻了幾個 3D 場景。 是基於 Silverlight 的 WPF 的 3D 系統的早期遊戲引擎。[7][8] Catuhe的個人專案後來成為全職工作,也是他團隊的主要關注點。[9] 2015 年,它在巴黎的 WebGL 會議上進行了介紹。[10] 截至 2018 年,它擁有超過 190 名貢獻者,並關注其在遊戲中的推廣和應用,其中包括 Ubisoft 的一項。[11][12][13][14][15] 該用途已發展到多個領域

技術說明

原始碼用 TypeScript 撰寫,然後編譯成 JavaScript 版本。終端用戶可以通過 NPMCDN 使用 JavaScript 版本,然後他們使用 JavaScript 撰寫專案程式碼,訪問引擎的 API。 Babylon.js 3D 引擎和用戶程式碼由所有支持 HTML5 標準和 WebGL 的 Web 瀏覽器原生直譯,以進行 3D 渲染。

建模方法

所使用的 3D 建模過程是用殼模型表示的具有三角形面的多邊形建模。[16] 儘管僅作為一種過渡方法來創建殼模型的並集、減法和交集,但可以有限地使用構造實體幾何。[17] 使用著色器程序在 HTML 5 畫布元素上渲染建立的模型後,該程式使用多邊形模型確定畫布上的像素位置和顏色、套用於每個模型的紋理、場景相機和燈光以及 4 x 4 世界矩陣對於存儲其位置、旋轉和比例的每個對象。[18] 該技術用於產生如同照片般地逼真圖像的技術是基於物理渲染[19] 以及後處理方法。[20] 為了模擬模型和其他現實世界物理動作之間的碰撞,需要添加兩個物理引擎之一作為插件,分別是 Cannon.js 和 Oimo。[21] 例如涉及模型位置或顏色變化的動畫是通過稱為動畫物件的關鍵影格動畫物件完成的,而完整角色動畫是通過使用具有混合權重的骨架來實現的。[20][22]

參考書目

參考文獻

  1. ^ David Catuhe - Group Engineering Manager - Microsoft. linkedin.com. [11 March 2021]. ... Creator and leader of Babylon.js open source project ... 
  2. ^ Microsoft Unveils Babylon.js 4.1, a Powerful Open Source Web Rendering Engine. winbuzzer.com. [18 April 2021]. 
  3. ^ Contributors to BabylonJS/Babylon.js · GitHub. github.com. [11 March 2021]. 
  4. ^ Release 8.3.1. 2025年4月18日 [2025年4月24日]. 
  5. ^ Releases · BabylonJS/Babylon.js. doc.babylonjs.com. 13 April 2022 [16 April 2022]. 
  6. ^ Releases 5.2.0 · BabylonJS/Babylon.js. doc.babylonjs.com. 13 April 2022 [16 April 2022]. 
  7. ^ Elliot, Iain. Babylon.js - A WebGL Game Engine From Microsoft. i-programmer.info. 2013-08-15 [2018-09-06]. 
  8. ^ Dumand, Mickael. Interview de David Rousset sur babylon.js [An Interview with David Rousset on Babylon.js]. ekino. 2014-11-28 [2018-09-07] (French). 
  9. ^ Irwin, Emma. Microsoft Open Source success story—Babylon. 2021-02-21 [2021-04-18]. 
  10. ^ Rousseau, Jean-Michel; Rousseau, David. BabylonJS et ses dernières fonctionnalités [BabylonJS and its latest features]. webglparis.com. 2015-10-12 [2018-09-12] (French). 
  11. ^ Contributors. GitHub. [2018-09-06]. 
  12. ^ Weber, Raanan. Babylon.js Building a Basic Game for the Web. Vol. 30 no. 13. MSDN. 2015-12-01 [2018-09-12]. 
  13. ^ Weber, Raanan. Game Development - Babylon.js: Advanced Features for Enhancing Your First Web Game. Vol. 31 no. 1. MSDN. 2016-01-01 [2018-09-12]. 
  14. ^ Babylon.js Flight Simulator. [2018-09-07]. 
  15. ^ Protalinski, Emil. Microsoft and Ubisoft launch 3D Web game Assassin's Creed Pirates, built with open-source framework Babylon.JS. The Next Web. 2014-05-09 [2018-09-07]. 
  16. ^ Chenard, Julian. Tree Generator - How to use VertexData object. Pixel Codr. [2018-11-27]. 
  17. ^ Feldspar, Craig. Constructive Solid Geometry in Babylon.js. GitHub. [2018-11-27]. 
  18. ^ Catuhe, David. Building Shaders with Babylon.js. Smashing Magazine. November 2016 [2018-11-27]. 
  19. ^ Ryan, Patrick. Art Pipeline for glTF. Khronos Group. 2018-01-08 [2018-11-27]. 
  20. ^ 20.0 20.1 Moreau-Mathis, Julien. Babylon.js Essentials. Packt Publishing. 2016. ISBN 978-1785884795. 
  21. ^ Rousset, David. WebGL Physics and Collision Detection Using BabylonJS and Oimo.js. Game Development. 2015-06-11 [2018-11-27]. 
  22. ^ Beaulieu, Andy. babylon.js: physics and character animation. Spritehand. 2014-05-26 [2018-09-06]. 

外部連接