Three.jsはCanvas 2D、SVG、CSS3D、WebGLでレンダラーを提供するJavaScript 3Dライブラリだ。最近の2つのリリースでは、何百もの改良と改善を取り込んでいる。
Three.jsでの3Dオブジェクトのビューイングに対する基本的アプローチは、カメラでシーンをレンダリングすることだ。アニメーションはシーン内のオブジェクトに適用できる。そして、各種ジオメトリモデル、カメラ視点、ライティング、テクスチャ、レンダラー、シェーダー、数学ユーティリティ、リソースローダー、オーディオなどを管理して臨場感あふれる3D体験を構築するためのAPIが含まれている。
最近のThree.jsリリースでは、WebGLレンダラーに数多くの改善と改良が施された。WebGLBackground APIの改善には、WebGLRenderTargetCubeのサポート、レンダリング順序と頂点シェーディングの整理、テクスチャ機能拡張の追加などが含まれる。WebGLRenderer APIはそのシェーダーとトーンマッピングのサポートを改善している。
Three.jsは、非定位のグローバルオーディオオブジェクトによるWebAudio APIもサポートする。最近のリリースには、AudioBufferSourceNode.detune
のサポートとlinearRampToValueAtTime()
の使用が含まれている。
最近のリリースでは、APIに広範囲に及ぶ多数の改善が施されている。
Three.jsのリリースはだいたい月に1回で、各リリースには比較的小さなイテレーティブな変更や改良が含まれており、開発者がバージョンを移行するのは容易だ。Three.jsの全機能を考えると、各リリースの変更は比較的マイナーなものであり、これはプロジェクト全体の成熟度と安定性を表している。
Three.jsはWebVRUtils、WebXRManager、WebVRManager APIを通して、WebVRとWebXRのサポートも提供する。また、A-FrameやReact 360など多数のWebVRおよびWebXRパッケージ用の3Dレンダリングエンジンも提供している。
別の主要なオープンソースのJavaScript 3DエンジンにBabylon.jsがある。これは3Dゲーム開発者向けAPIとWebXRエクスペリエンスに重きを置いている。
何百ものThree.jsのサンプルが利用可能になっている。Three.jsはMITライセンスで利用可能なオープンソースソフトウェアだ。Three.js GitHubプロジェクト経由でのコントリビューションとフィードバックは大歓迎だ。
Rate this Article
- Editor Review
- Chief Editor Action