テクノロジー

【Three.js】「faceVertexUvs」を用いた「画像の分割」と「アニメーションの生成方法」

ゆうき's icon'
  • ゆうき
  • 2020/11/06 10:01
Content image

Three.jsのテクスチャのアニメーションって一体どうやるんだー!」という人向け。

基本的な技術にもかかわらず、Three.jsの日本語の情報が少なすぎて、こういった方法すら見つけられないので、自分で作成しました。

(ヽ´ω`)

 

以下、すでにmeshが作成された、プレーン(plane)のジオメトリ(geometry)で、テクスチャを入れ替えるメソッドです(正確には、ジオメトリに反映されたテクスチャ画像をずらすだけ。テクスチャ自体はいじっていません)。

(※1 上記のメソッドは、meshやgeometryを管理するクラスの中で用いたれているため、thisが発生しています。もし、このコードを使う際は、自身のプログラムに合わせて変更して下さい)

(※2 応用すれば、3Dボックスの一部の画像を入れ替えたりする、ということもできます)

 

一例ですが、以下のような連番の画像をまとめておけば、メソッドで1画像ずつ呼び出すことで、アニメーションを生成することができます

Content image

 

 

このメソッドの優れている点は、リアルタイムで変更できるというものです

通常、

・ジオメトリを作成した時点でテクスチャを割り当てた

・「geometry.faceVertexUvs」を定義した

だけだったりすると、(Three.jsの仕様なのか)以降テクスチャの入れ替え(ずらし)ができなくなったりしますが、メッシュが作成された後のジオメトリに対して「faceVertexUvs.set(通常の変数の代入ではダメ)」と「mesh.geometry.uvsNeedUpdate = true」を用いると、さらっと入れ替えられます

 

3Dのブラウザゲームとかを制作する場合はというか、Three.jsでゲームを作る場合はこういった連番画像の部分読み込みが必須の技術なので、覚えておいても損はないと思います。

よかったら、使ってみて下さい。

( ・ω・)ノ

 

 

……え、UnityかPlayCanvasで十分ですって?

そりゃ、まぁ、3Dプログラムを直で作るなんて普通はしませんよね(泣)

 

 

Supporter profile icon
Article tip 1人がサポートしています
獲得ALIS: Article like 15.41 ALIS Article tip 1.10 ALIS
ゆうき's icon'
  • ゆうき
  • @yuuki

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

ALISのシステム概観

Like token Tip token
5.00 ALIS
Eye catch
ゲーム

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

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

Uniswap v3を完全に理解した

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

約2年間ブロックチェ-ンゲームをして

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

iOS15 配信開始!!

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

Bitcoinの価値の源泉は、PoWによる電気代ではなくて"競争原理"だった。

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

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

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

Bitcoin史 〜0.00076ドルから6万ドルへの歩み〜

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

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

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

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

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

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

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

なぜ、素人エンジニアの私が60日間でブロックチェーンゲームを制作できたのか、について語ってみた

Like token Tip token
270.93 ALIS