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

Quick Facts 原作者, 開發者 ...
Babylon.js
Thumb
原作者David Catuhe[1]
開發者微軟[2]與社群貢獻者[3]
首次釋出2013年,​11年前​(2013
目前版本
  • 7.30.0(2024年10月17日;穩定版本)[4]
編輯維基數據連結
原始碼庫 編輯維基數據連結
程式語言TypeScript, JavaScript
特許條款 編輯維基數據連結
網站www.babylonjs.com/ 編輯維基數據
Close

歷史與進展

Babylon.js 最初於 2013 年根據微軟公眾特許條款發佈,由兩名微軟員工開發。 David Catuhe 創建了 3D 遊戲引擎,並得到了 David Rousset(VR、Gamepad 和 IndexedDB 支援)的幫助,主要是在業餘時間作為個人專案。 他們還得到了藝術家米歇爾盧梭的幫助,他貢獻了幾個 3D 場景。 是基於 Silverlight 的 WPF 的 3D 系統的早期遊戲引擎。[5][6] Catuhe的個人專案後來成為全職工作,也是他團隊的主要關注點。[7] 2015 年,它在巴黎的 WebGL 會議上進行了介紹。[8]

截至 2018 年,它擁有超過 190 名貢獻者,並關注其在遊戲中的推廣和應用,其中包括 Ubisoft 的一項。[9][10][11][12][13] 該用途已發展到多個領域。

技術說明

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

建模方法

所使用的 3D 建模過程是用殼模型表示的具有三角形面的多邊形建模。[14] 儘管僅作為一種過渡方法來創建殼模型的並集、減法和交集,但可以有限地使用構造實體幾何。[15] 使用着色器程式在 HTML 5 畫布元素上彩現建立的模型後,該程式使用多邊形模型確定畫布上的像素位置和顏色、套用於每個模型的紋理、場景相機和燈光以及 4 x 4 世界矩陣對於儲存其位置、旋轉和比例的每個對象。[16]

該技術用於產生如同相片般地逼真圖像的技術是基於物理彩現[17] 以及後處理方法。[18] 為了模擬模型和其他現實世界物理動作之間的碰撞,需要添加兩個物理引擎之一作為外掛程式,分別是 Cannon.js 和 Oimo。[19] 例如涉及模型位置或顏色變化的動畫是通過稱為動畫物件的關鍵幀動畫物件完成的,而完整角色動畫是通過使用具有混合權重的骨架來實現的。[18][20]

參考書目

參考文獻

外部連接

Wikiwand in your browser!

Seamless Wikipedia browsing. On steroids.

Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.

Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.