ジオメトリの種類 Three.jsの使い方を勉強してみた

ジオメトリの種類 Three.jsの使い方を勉強してみた

こんにちは。

プログラム学習中のdyna(@dyna5557429)です!

この記事は、 Three.jsのジオメトリの種類(の1部分)を調べて、まとめた記事です! 

Three.jsの導入・基本の表示や光源の記事はこちら↓

 

 

デモはこんな感じです↓

See the Pen three.js ジオメトリ学習 by dyna (@sakudyna) on CodePen.

マウスでいろんな方向に動かせるから試してみてね(^^)

 

ジオメトリの種類

色々種類があったのですが、簡単なものからまとめていきたいと思います。

 

複雑なものも後々調べたい・・・!!

 

以下、コードにハイライトついているところが、ジオメトリ(形)の設定部分になります。

色や透明感なんかは見やすいようにカスタマイズしてあります。

SphereGeometry

球のジオメトリ。

SphereGeometryで描く円

 

詳細は公式に使い方が記載されています。

球のジオメトリを生成するためのクラス。

引用元:https://threejs.org/docs/#api/en/geometries/SphereGeometry

 

水平セグメント・・・水平方向に使用されるセグメント(かたまり)の数。
垂直セグメント・・・垂直方向に使用されるセグメントの数。
セグメントを増やすと、滑らかになるらしい。

 

BoxGeometry

立体のジオメトリ。

BoxGeometry

公式HPは以下。

BoxGeometryは、指定された「幅」、「高さ」、および「奥行」を持つ直方体のジオメトリクラスです。

引用元:https://threejs.org/docs/#api/en/geometries/BoxGeometry

 

planeGeometry

2次元の四角形のジオメトリ。

planeGeometry

公式HPは以下。

平面ジオメトリを生成するためのクラス。

引用元:https://threejs.org/docs/#api/en/geometries/PlaneGeometry

 

ConeGeometry

円錐のジオメトリ。

ConeGeometry

公式HPは以下。

円錐形状を生成するためのクラス。

引用元:https://threejs.org/docs/#api/en/geometries/ConeGeometry

 

ちなみに、数値を変えて100→8にしてみたらこんな感じだよ。
カクカクしてる。

ConeGeometry( 60, 80, 8 );

 

CylinderGeometry

円柱のジオメトリ。

CylinderGeometry

公式HPは以下。

円柱形状を生成するためのクラス。

引用元:https://threejs.org/docs/#api/en/geometries/CylinderGeometry

 

上面(または下面)の半径をマイナスにすると、こんな形にもなるよ。

 

CylinderGeometryの半径を変更

 

TorusGeometry

ドーナッツ型のジオメトリ。

TorusGeometry

公式HPは以下。

トーラスジオメトリを生成するためのクラス。

引用元:https://threejs.org/docs/#api/en/geometries/TorusGeometry

芯円分割を8にすると、カクカクしたドーナッツになるよ。

 

TorusKnotGeometry

結び目ジオメトリ。

TorusKnotGeometry

公式HPは以下。

トーラスノットを作成します。その特定の形状は、互いに素な整数pとqのペアによって定義されます。

引用元:https://threejs.org/docs/#api/en/geometries/TorusKnotGeometry

 

これはちょっと難しかった・・・( ;∀;)

実際触って試してみるのがおすすめです。

 

ここでは、半径4,ひもの太さ10,曲がりの滑らかさ100,幅のセグメント16にしてみたよ。
p(巻き数)、q(ひねり数)はデフォルトで「2,3」なんだって。

 

CircleGeometry

2次元の円のジオメトリ。

CircleGeometry

 

見栄えをよくするために、ワイヤーフレームと合わせて作ってみたよ。


公式HPは以下。

中心点の周りに向けられ、与えられた半径まで伸びるいくつかの三角形のセグメントから構成されています。

引用元:https://threejs.org/docs/#api/en/geometries/CircleGeometry

 

まとめ

基本的なジオメトリをざっと調べてみました。

自分で触ってみると、納得いきますね(^^!

でもまだまだ難しい( ^ω^)・・・

引き続き学習していきたいと思います。

 

ここまで読んで下さりありがとうございます。