-Blenderで海シミュレーションをするときの手順と注意点-

3. 波間に浮かぶ

波間に浮かぶ漂流物や船を表現するにはどうすればよいでしょうか。他のオブジェクトの変形に追随してものを動かすには、「頂点に対して親子関係をつける」「shrinkwrap モディファイアまたはコンストレイント」を使う、といった方法がありますが、この場合には「Copy Location」「Copy Rotation」を Vertex Weight と一緒に使うのが相性が良いようです。

■ Vertex weight を使う

あらかじめ決められた位置に物を浮かべてみます。
Vertex weight を利用するため前セクションで述べた理由から、generate では無く Displace で海面を作成します。

漂流物を置いて、その周囲に weight paint で重みをつけます。
漂流物の位置と回転、を「Copy Location」「Copy Rotation」を使って海面に追随するようにします。
このときに、Vertex weight を利用することで、海面の一部の運動に追随することができるのです。 (ここではデフォルト名の Group を使っています)

ただ、位置と向きが、Constraintによって完全に決められてしまって、スザンヌの向きの微調整は(オブジェクトとしては)できません。
ちょうど良い浮き具合だったり、スザンヌの向きが一発であうとは限らないので、メッシュの編集で位置や向きを修正する必要は出てくるでしょう。
波間に浮かぶスザンヌが実現できました。

上の例ではあらかじめ Vertex weight をペイントして静的に指定しました。
Dynamic Paint や、 Vertex weight proximity (頂点ウェイト近傍)モディファイアを使って Vertex weight を動かせば、嵐の中を漕ぎ出す船のような表現も可能です。

また、上の例では Weight を使うために Displace を使った海を使用しました。
Generate の方法で海面を作っても(自動生成される海面にペイントする方法がないので)Vertex weight が使えなかったのですが、
Dynamic Paint などでウェイトを上書きすることはできるので、Generate された海を使うことも可能です。

位置を決定するための四角いダミーを置き Dynamic Paint を利用してダミーの近くでウエイトが値を持つようにしました。

そのウェイトに従って、「Copy Location」「Copy Rotation」を適用することで、
波間に乗り出すスザンヌが実現できました。

inserted by FC2 system