ブラウザで3D。javascriptライブラリ「Three.js」

2016.06.10

こんにちは。

まだまだウェブサイト全体をホームページと呼んでいた時代(ホームページとはそもそもウェブサイトのトップページの意味なのですが、昔はそこらへんあやふやで、なんでもかんでも「ホームページ」でした)、ブラウザは「ネットスケープナビゲーター(通称ネスケ)」がメイン、56kbpsのモデムで通信していた(56kbps=56000bit=7000byteつまり1秒に7KB。現在主流のフレッツ光は100Mbps=100,000,000bit=12500KB!)頃から、VRMLという言語を使い、手打ちで座標を入力し、ウェブで3D表現を模索していたエージーワークス代表の増本修二です。<前振り長すぎですね

そんな、昔から3D表現が大好きな私が、モダンブラウザで3d表示を可能にする、「Three.js」を御紹介させていただきます。

three.js、どんなものかと言いますと、私のイメージでは、一時期flashでの3Dライブラリ、「Papervision3d」のjavascript版、といったところでしょうか。3D空間にステージや光源、オブジェクトの形状やマテリアル、カメラなど、3d表示に必要な要素をjavascriptで定義し、それをレンダリングして表示します。

どの様なことが出来るかは、下記サイトを見ていただくのが一番早いです。
クオリティの高いサンプルが数多く掲載されています。

Three.js
http://threejs.org

まずはこのページの「download」からライブラリ一式(ちょっと重いですが)を入手します。

その中からまずは「three.min.js」を使用し、下記要領で記述します。

①scene
これは3D空間、全体を定義します。

②camera
定義した3D空間を、このカメラを通してみることになります。
ズーム率や角度、位置などを設定します。

③renderer
レンダラーの設定です。カメラを通して覗いた図を、描画します。

④ジオメトリ
3D空間に置かれるオブジェクトの形状の設定です。

⑤マテリアル
④オブジェクトの色や質感などを設定します。

⑥オブジェクト
④⑤で設定位した、ジオメトリとマテリアルをあわせてオブジェクトと呼びます。

⑦シーンにオブジェクト追加
①で定義したシーンに⑥のオブジェクトを追加します。

⑧ライト追加
ライトを定義し、こちらもシーンに追加します。
ライトの種類はいくつかあるので、threejs.orgで色々みてみるとよいです。

⑨レンダーファンクション
どのシーン、カメラをレンダリングするか、また、アニメーションの設定などをfunctionにまとめます。

⑩レンダー実行
最後に⑨のfunctionを実行します。

いかがでしょうか?下記の様な3Dが表示されたでしょうか?
http://web3d.ag-works.biz/basic/basic.html

以上、Three.jsのご紹介でした。

shuzic

投稿者:shuzic

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

TOPへ