プロシージャルテクスチャを使って波の動きを表現するには
http://www.youtube.com/watch?v=7lxTAGP4ifs&hd=1
今回はデフォーマ機能とフォールオフ、さらにプロシージャルテクスチャを組み合わせて、波の動きを表現する方法をご紹介します。
まずは波を表現するためのメッシュを作ります。平面を作ったら細かくメッシュを再分割し、TABキーでサブディビジョンサーフェスへと変換しておきます。
セットアップタブへと移り、デフォーマサブタブからトランスフォームデフォーマを適用します。アイテムリストに追加されているTransform Effectorを選択したら、移動ツールで上へと移動させメッシュ全体を移動させます。
次にフォールオフを追加しましょう。このデフォーマとフォールオフについては、「デフォーマとフォールオフの組み合わせ」で詳しく解説していますが、今回はLinear Falloffを追加します。デフォーマタブへと移り、Transformを右クリックし、上書き追加のフォールオフからLinear Falloffを選択します。
そうすると、Linear Falloffが配置されている場所によって、トランスフォームデフォーマのかかり具合が変化しているのがわかります。今回は波を表現するため、一方は波打ち際のように影響がなく、もう一方に対して影響が大きくなるよう、リニアフォールオフのプロパティタブから長さを調節します。これでも影響のかかり具合が急激なので、減衰シェイプをスムーズに変更し、滑らかに影響がかかるように変更しておきます。
この状態から波を表現します。波を表現するためには、このLinear Falloffに対して、プロシージャルテクスチャのRipplesを適用します。アイテムリストからLinear Falloffを選択し、右クリックからアイテムマスクの作成を適用します。
シェーダツリーへと移動し、FXを開いてみるとLinear Falloffが追加されていますので、レイヤー追加ポップアップから、テクスチャの中にあるRipplesを追加します。ビューポートを見てみると、フォールオフのかかり具合に従ってメッシュが波の形にしたがって変形するようになりました。波形については、テクスチャレイヤーのタブでサイズを変更したり、またはテクスチャロケータを移動させ、適切な波形となるよう調整を重ねてください。
大体の波形が完成したら、波の動きをアニメーションさせます。波の動きをアニメーションさせるには、テクスチャレイヤーの位相を動かすとよいでしょう。0フレーム目では0%、30フレーム目で値を変更してみます。再生ボタンをクリックしてみると、波が動くようになりましたが、そこで動きが止まってしまっているので、動き続けるように修正します。
位相プロパティのラベルの上で右クリックし、コンテキストメニューからグラフ編集を開きます。前の動作、後の動作をどちらもリニアに設定します。そうすることで、0フレームから30フレームめへと設定した動きが、そのままの状態でシーン全体に対して適用されるようになります。
アニメーションを再生してみると、きれいな動きを設定できるようになりました。今回はRipplesを使って波の動きを表現しましたが、この方法を使えばダイナミクス演算処理を行わなくても、例えば旗がはためくような動きも簡単につけることができます。また、他のテクスチャも適用可能ですので、他のタイプのテクスチャやフォールオフと組み合わせて、様々な動きを作ることが可能です。