テクノロジー

【Three.js】UVマッピングによる平面ジオメトリのアニメーション操作(テクスチャーの入れ替え)

ゆうき's icon'
  • ゆうき
  • 2020/07/26 14:14

忘備録。

Three.jsの日本語の情報が非常に少なく、webゲームを作る上では、ほぼ必須な技術である、テクスチャの画像を入れ替えた「2Dアニメーション」とかの(へっぽこエンジニアの私でも理解できる簡単な)説明を全然見かけなかったので、コードを作成。

(ボックスのUV操作はあるのに、なぜか基礎である平面のUV操作は見かけず……)

 

以下は、geometryにUVマッピングを適用したものですが、このジオメトリを使用しても特に何も変化はありません

(UVの座標を、元の画像の座標に設定しているため)

しかしながら、faceVertexUvsの適応があるため「uv1」や「uv2」の値をごにょごにょといじると、geometryに設定したテクスチャ画像の回転、拡大、縮小、部分切り取りなどが行なえます

 

(UVマッピングの座標変換については省略。他の方が説明してくれているので、そちらを参考にしてください)

 

テクスチャ画像の部分切り取りができれば、当然「連番で並んだ画像」の連結画像の一部を表示することもできるため、2Dゲームにありがちな画像のアニメーションも3Dで実現可能になります。

 

ちなみに、クラス内でgeometryとmeshを定義済みで、後から指定の範囲の画像を使用したい場合は、以下のようなメソッドが便利です。

 

参考になれば、幸いです。

 

 

 

追記:

上記の手法だと、ジオメトリ宣言後の画像の入れ替えは行えないかもしれません(勉強したばっかりなので、あまりよく知らない)。

アニメーションの操作を行いたい時は、一例ですが、

texture.repeat.set(0.25,1.0)

texture.offset.x = 0.5

のようにすると、テクスチャの画像の一部を引っ張ってこれるので、それを元に適切なメソッドを用意すれば、アニメーション操作が行えると思います。

 

Article tip 0人がサポートしています
獲得ALIS: Article like 28.69 ALIS Article tip 0.00 ALIS
ゆうき's icon'
  • ゆうき
  • @yuuki

投稿者の人気記事
コメントする
コメントする
こちらもおすすめ!
Eye catch
クリプト

ジョークコインとして出発したDogecoin(ドージコイン)の誕生から現在まで。注目される非証券性🐶

Like token Tip token
38.31 ALIS
Eye catch
ゲーム

ドラクエで学ぶオーバフロー

Like token Tip token
30.10 ALIS
Eye catch
クリプト

ブロックチェーンの51%攻撃ってなに

Like token Tip token
0.00 ALIS
Eye catch
テクノロジー

彼女でも分かるように解説:ディープフェイク

Like token Tip token
32.10 ALIS
Eye catch
クリプト

Uniswap v3を完全に理解した

Like token Tip token
18.92 ALIS
Eye catch
他カテゴリ

ALISのシステム概観

Like token Tip token
5.00 ALIS
Eye catch
テクノロジー

オープンソースプロジェクトに参加して自己肯定感を高める

Like token Tip token
85.05 ALIS
Eye catch
クリプト

17万円のPCでTwitterやってるのはもったいないのでETHマイニングを始めた話

Like token Tip token
46.60 ALIS
Eye catch
他カテゴリ

機械学習を体験してみよう!(難易度低)

Like token Tip token
69.82 ALIS
Eye catch
テクノロジー

iOS15 配信開始!!

Like token Tip token
7.20 ALIS
Eye catch
クリプト

スーパーコンピュータ「京」でマイニングしたら

Like token Tip token
1.06k ALIS
Eye catch
クリプト

NFT解体新書・デジタルデータをNFTで販売するときのすべて【実証実験・共有レポート】

Like token Tip token
120.79 ALIS