Unity:絨毯が波打つするシェーダーの実装

最終更新日

Comments: 0

はじめに

Shader の勉強として、絨毯(布)が波打つような Unity の Shader を実装してみたく、以下の画像の通りの Shader(シェーダー)を実装しました。デモもあるのでぜひ動かしてみてみてください。

Link

実装手順

「Plan」のオブジェクトを追加します。
こんな感じで追加されます。
次に新しい Material を追加します。
追加したマテリアルに「Flag」と名前を付けます。
次に、Sharder を追加します。
名前は「FlagShader」にします。
FlagShaderをダブルクリックして編集して、以下のソースコードを張り付けてください。 このシェーダーは、オブジェクトに含まれる頂点(Vertex)のY座標を動的に高さを変更します。変更する高さは sin(経過時間) で計算しており、高さを変えるX/Y座標は原点からの距離で計算しています。
次に、「FlagImage」と言う画像を追加します。
「Flag」マテリアルを選択して、「Standard」Sharderから「Flag」Sharderに変更します。
Shaderを変更したら、画像の選択画面から、FlagImageに変更します。
「Flag」マテリアルを選択して、「Plan」にドラッグアンドドロップで設定します。
これで絨毯(布)が揺らめくオブジェクトが作成できました!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

コメントする