12章物理演算と立体音響

この最終章では、Three.jsの基本的な機能を拡張できるライブラリPhysijsを紹介します。Physijsは3Dシーンに物理法則を導入するライブラリです。「3Dシーンに物理法則を導入する」とはつまりオブジェクトが重力の影響を受け、お互いに衝突し、衝撃を受けて移動し、ヒンジやスライダーなどで動きが制限されるようになるということです。このライブラリは内部的にはammo.jsという有名な物理エンジンを利用しています。本章では物理法則だけでなくシーンに立体音響を追加する方法についても説明します。

この章では次のようなトピックについて説明します。

  • オブジェクトが重力の影響を受け、お互いに衝突するようになるPhysijsシーン
  • シーン内の物体の摩擦係数と反発係数
  • Physijsがサポートしているさまざまな形状
  • 単純な形状を組み合わせた合成形状
  • ハイトフィールドを使用した複雑な形状
  • オブジェクトの動きの制限する点制約、ヒンジ制約、スライダー制約、コーンツイスト制約、自由度制約
  • 左右の音量がカメラの位置に基づいて決定される音源

まず初めにPhysijsと組み合わせて使用するThree.jsシーンを作成します。本章の最初のサンプルをその説明に使用します。

12.1 基本的なThree.jsシーンの作成

Three.jsシーンをPhysijsのために設定するのは非常に簡単で、必要となるのはほんの数ステップです。初めにGitHubリポジトリ(http://chandlerprall.github.io/Physijs/)から適切なJavaScriptファイルを取得してHTMLページに読み込む必要があります。Physijsライブラリを次のようにHTMLページに追加してください。 ...

Get 初めてのThree.js 第2版 ―WebGLのためのJavaScript 3Dライブラリ now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.