Three.jsで学ぶ3Dオブジェクト

Three.js のお勉強の続きです。

今回は 3Dオブジェクト!!

Three.jsでは、3D空間に配置するオブジェクトを3Dオブジェクトと呼んでいます。

3Dオブジェクト

3Dオブジェクトは、
形状と材質から構成される。

Meshクラスのコンストラクタに、形状と材質をプロパティとして渡す事で、3Dオブジェクトを生成する事が出来ます。

生成したオブジェクトは、シーンに追加して3D空間に配置する。

形状とは

Geometry(ジオメトリ)と呼ばれ
頂点と線の組み合わせで、形を表現する為の情報です。

直方体、球、円柱、平面、円錐など
Three.js では、あらかじめ良く使うジオメトリが用意されています。

例えば、球の形状であれば、
SphereGeometory というクラスをnewするだけです。

形状を生成する際に分割数を指定する事も出来ます。
数を増やすとポリゴン数が増えて球の場合はどんどん滑らかになって行きます。

自分で頂点を作成してオリジナルのジオメトリを作成する事も可能。
また頂点には、頂点カラーを設定する事もできます。

材質とは

Material (マテリアル)と呼ばれる。
3Dオブジェクトを描画する際の、表面の色合いを表す。

法線材質など、光の当たる角度とカメラの位置によって、
表面の色合いが変化して描画されるものなどがある。

発光材質、ランバード材質、フォン反射材質などなどなど。

マテリアルには、opacityというプロパティも用意されているので、
半透明のオブジェクトを描画することも出来ます。

ジオメトリの種類

Three.jsで用意されているジオメトリの一覧

名称 クラス
BoxGeometry
平面 PlaneGeometry
CircleGeometry
SphereGeometry
円柱 CylinderGeometry
トーラス(ドーナツ形状) TorusGeometry
球面上ポリゴン PolyhedronGeometry
回転体 LatheGeometry
正四面体 TetrahedronGeometry
正八面体 OctahedronGeometry
正十二面体 DodecahedronGeometry
トーラスノット型 TorusKnotGeometry
パラメトリック ParametricGeometry
チューブ TubeGeometry
テキスト TextGeometry

他にもめっちゃくちゃいっぱいある…。

マテリアルの種類

Three.jsで用意されているマテリアルの一覧

名称 クラス
法線 MeshNormalMaterial
発光 MeshBasicMaterial
カメラ距離 MeshDepthMaterial

Mesh~ で始まるクラスは、
メッシュして3Dオブジェクトを作るのに使う。

コメントを残す