【Three.js】マテリアルのテスクチャーに画像や動画を設定する方法(デモ付き)
Three.jsでマテリアルのテスクチャーに画像や動画を設定する方法を紹介します。
さっそくデモを確認してみましょう。
Three.jsのShaderMaterialを使ってGLSLを記述した画像の貼り方が知りたい場合は、【WebGL】Three.jsのShaderMaterialを使って画像や動画を出力する方法(デモ付き)を参考にしてみてください。
マテリアルのテスクチャーに画像や動画を設定するコード
上の一連の流れは以下の記事が参考になります。
もしThree.jsの基本的な操作の一連の流れを知らないという場合は、Three.jsの基本的な操作の一連の流れがとても短くまとめた記事なので参考にしてみてください。
具体的なコードとデモが見たい場合は、【WebGL&Three.js入門】Three.jsの一番シンプルなサンプルコードのチュートリアルの解説でデモもみれる状態にしているので参考にしてみてください。
今回はテクスチャーの設定がメインのためtextureの部分に焦点をあてて説明します。
3Dグラフィクスのテクスチャー
textureは質感を意味しますが、3Dでは画像や動画も含まれます。
つまり、textureに画像や動画を設定します。
具体的には以下の記述部分です。
ここで、textureのloaderをインスタンス化しています。
この処理は非同期処理なのでasync awaitを使います。
imgのパスは適宜変更しましょう。
動画の場合もパスさえあえば同様に可能です。
awaitをつけるので、忘れずにfunctionにasyncをつけます。
そして、mapします。
このマテリアルは、textureを使いますよという意味になります。
テクスチャーを切り替える
テクスチャーを切り替えたい場合、上のように、別の画像などを新しい変数に格納して、
mapに格納することで切り替えることが可能です。