Three.js でテクスチャの貼り付け(地球を作ってみた)

Three.js でテクスチャの貼り付け(地球を作ってみた)

こんにちは。

プログラムが好きなdynaです。

今回は、Three.js で球に地球っぽいテクスチャを貼り付けてみました。

よく見るアレです!!


画像はこちら↓

 

テクスチャサンプル

 

デモはこちら↓(押してみてね)

 

かすかに背景に星空が貼ってあります。(PC画面のゴミじゃないです)

今回、画像はフリー素材を使用させていただいてます。

 

では、コード記載していきます。


今回参考にさせていただいたのはこちら↓

テクスチャの貼り付け ⇒Three.jsのマテリアルの基本

Three.js の背景 ⇒image – 背景 – three.js cdn


テクスチャの貼り付け方

シーンやカメラなどは以下の記事にあるので、そちらをご覧ください。

 


テクスチャの貼り付け部分だけ調べたことを記載していきます。

マテリアルにテクスチャを張るには、画像を読み込み、mapとして設定します。

 

この辺はほぼ参考サイトさんのままですが、以下、備忘です。

 

THREE.TextureLoader()

 

テクスチャ をロードするためのクラス。これは、ファイルをロードするために内部でImageLoaderを使用します。

引用元:https://threejs.org/docs/#api/en/loaders/TextureLoader

 

この処理で、テクスチャの読み込みが発生します。


マテリアルの map

先ほど読み込んだテクスチャを、マテリアルのマップに設定します。

 

めっちゃ簡単ですね。

これで表示されました。


背景の貼り付け方

あわせて背景も星空にしてみます。

背景に星空を設定するには、シーンにバックグランドとして設定します。

THREE.TextureLoader()で画像を読み込み、scene.backgroundに設定します。

 


全体のコード

若干余分なコードもついていますが、以下のような形で読み込めます。


過去のThree.js の記事

もっと色々勉強したいですね!!

過去のThree.jsの記事は、カテゴリーのThee.js にありますので、併せてどうぞ。

 

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