ゆにてく備忘録

Unityやその他学んだ事を忘れないために書くぶろぐ

【Unity】UGUIのImageで波エフェクトを作る

UGUIのImageで波エフェクトを作りました

使い方

https://github.com/n-taku/WaveEffectImageこのリポジトリの中の4つのファイル,ListPool.cs,ObjectPool.cs,Subdivide.cs,WaveMeshEffect.csを自分のプロジェクトにコピーする.

WaveMeshEffectコンポーネントを波エフェクトさせたいImageなどにつけて,コンポーネントのインスペクタからWaveInfoを編集する.

f:id:n_taku:20180825194305p:plain

demo

f:id:n_taku:20180825194316g:plain

スクリプト

WaveMeshEffectコンポーネントはBaseMeshEffectを継承していて,ModifyMesh関数で頂点を上下にoffsetしている.offset量はWaveInfoで指定したSin波を合成している

UGUIのImageで波エフェクト

ListPool.cs,ObjectPool.csはUnityのInternalな非公開クラスで,Listを使い回すのに使っている

Subdivide.csはImageの頂点を増やして分割している.【Unity】「モダンなUIの提案と実装」 - テラシュールブログで使われていたクラスを少し直したもの