INTERMISSION:裏面に別のテクスチャ&ClothFX設定

前回LightWaveのClothFXを入れると裏面ポリゴンがずれて変な影ができる、1枚ポリゴンで裏面にことなるテクスチャを入れることができない、ということを書いたけど、浅奴さんからの情報でノード編集で裏面フラグが取れることが分かったのでフォローしておきます。


1. とりあえず裏面用のポリゴンは不要なので削除。

2. 対象のサーフェスを「両面」にし、「ノード編集」の右のチェックを入れてノードエディタを開く。

3. 「ノード追加」で Spot>Spot Info と 2D Textures>Image を追加し、下の図のように繋げる。
画像

4. Image をクリックしてテクスチャの設定を行う。

5. 裏面を単色にする場合は、下図のように Image の Bg Color に色を設定。
別のテクスチャを入れたい場合は Image をもう1つ作り、 2 の図のように最初の Image の Bg Color に入力。
画像

以上。

で、結果は次の画像のように。
画像
スカートのおしり側の布のサーフェスだけ裏面用テクスチャを入れてて、他は裏面はBgColorが出るようにしてます。
Spot InfoのPolygon Sideは表面の時1、裏面の時0の2値出力なんで、Opacityに入れると1の時不透明=Imageのテクスチャ、0の時透明=Bg Colorの色が出ます。

ちなみに上記の図はClothFXを入れない画像。
真ん中のフレームは太腿の辺りがめりこまないようにボーンを調整したもの。(等倍表示するとよく分かるよ。)
左右はその前後のフレームだけど、もしアニメーションさせるとすると、このよーに毎フレームボーンを修正していくという拷問のような作業を強いられるわけです。
んが、
画像
ClothFXを入れると自動的に修正されました!

まったくClothFXにやらしてもそれなりになるけど、真ん中のフレームはそれほど変形していないことからも分かるように、ボーンと組み合わせると任意の動きを入れつつめり込む部分を直してくれるのでとっても便利です。


ついでなんで、しばらく使わないと忘れてしまうClothFXの設定についても忘備録として書いておきます。

1. コリジョンを発生させたいオブジェクトのプロパティ>物理演算パネルで物理演算追加>Collision を追加。
画像
今回はサブパッチをかけた状態でコリジョン判定したいので、Type を Object-Subdiv に設定。
他は個別設定したい時にいろいろ入れるみたいだけど、ぼくはそんなに凝った設定はしない(する実力がない)のでそのままで、ClothFX側で一括して設定。

2. 変形させたいオブジェクトの物理演算パネルで物理演算追加>ClothFX を追加。

3. ClothFXをクリックして、 Basic パネルから設定。

 a) ClothFXはコリジョンに衝突すると設定された力で跳ね返る
 b) 接続したポイント間で相互に影響を受ける(引っ張られる、あるいは押される)
 c) 重力により落ちる(これはオプション)

という3つの基本動作をするけど、重力だけ設定した場合、絹の布がするっと滑り落ちるように全部落ちちゃう。
そのため適当に摩擦を設定するか、ピンで止めるように「固定ポイント」を設定してずり落ちないようにする必要がある。

まず、固定ポイントを設定します。
モデラーで固定したいポイントを選択して、新規の頂点セットを追加。
画像
レイアウトに戻り、BasicパネルのFixで、モデラーで作ったセットを選択。
画像

その他の設定だけど、基本的にはリファレンスを見てもらうとして、いじってるとこだけ説明しておくと、今回のスカートはやや厚手の設定で、「あまり曲げたくない&シワを発生させたくない」「伸び縮みさせたくない」というのが基本的な考え方。
ということで、 Spring を大きめにして、ちょっと「固めの素材」にしてます。
また Viscosity を大きめにして、変形しにくくしてます(極端に上げるとまづい)。

厚手の設定にするにはSubStructureの値を上げるというのも1つの手らしいんだけど、計算時間が上がったりするのでなるべく使わないようにしてます。

4.
画像
Collision パネルに移り、Collision Detect に を設定。
今回はCollisionに設定したオブジェクトを全て対象としてます。

Collision Offset をデフォルトよりも小さめに。
あまり小さくしすぎると、めり込んじゃうらしい。
今回はある程度ボーンで調整するし激しい動きはしないので、3mmくらいでもなんとかなってます。

Bound を小さくして、跳ね返りを抑え目に。
Friction を適当に上げて、ちょっと摩擦力を付けました。

5.
画像
Advanced パネルに移り、Stretch Limit をできるだけ小さくして伸び縮みしないように。
「10%以下にはあんまりするな」とリファレンスに書いてあるのでそのように。

あとシワをあまり付けたくないので Polygon Size をちょっと下げてみました。
あまり下げすぎたら計算にえらく時間がかかったのと結果が妙ちくりんになったので、怖いから90%程度にしてます。

6.
画像
Etc パネルに移り、 Gravity.Y に -8 を。
ちなみに地球では正しい重力加速度は -9.8 だ。

Resolution は 20 mm とか入れてるけど、たぶん特にいじらなくてもいいんじゃないかな。

その他のパネルはデフォルトのまま。

ちなみにClothFXをはじめ、物理結果を計算させるには、パネル上で控え目に主張している「演算」ボタンを押すだけだ。
達人はマスタープラグイン>FXブラウザを使うかも知れない。


実際の順序としては Fix の設定後先に重力の設定をして、跳ね過ぎるならBoundを下げるとか伸びすぎるならStretch Limitを下げるとかシワが付きすぎるならSpringやViscosity、Polygon Sizeを調節するみたいな感じになると思うけど、多分いくつか素材に応じたパターン作っておけばあとは微調整で済むと思うよ。

ブログ気持玉

クリックして気持ちを伝えよう!

ログインしてクリックすれば、自分のブログへのリンクが付きます。

→ログインへ

なるほど(納得、参考になった、ヘー)
驚いた
面白い
ナイス
ガッツ(がんばれ!)
かわいい

気持玉数 : 1

なるほど(納得、参考になった、ヘー)

この記事へのコメント

2011年03月09日 04:47
おそらくClothFXがlightwaveの中に一番うまく使えない機能のではないですか。毎回演算ボタン押さなければならないという...別のツールならもうすでにリアルタイムで反応されるのに、しかもコンピューターのグラフィックカードにもよるので、出力が大変だと想います;;
2011年03月10日 00:25
kayo耀さん、こんにちは。
うーん、まあ確かにClothFXは設定が大変なのと演算に時間がかかるのが難点ですが、かといってこれに代わるものもあまりないですし、ボーンをたくさん仕込んで手で調整するよりも簡単にそれなりの結果が得られるのでケースバイケースじゃないでしょうか。
カットを細かく分けてレンダリングすれば、動画でも演算で待たされる時間も多少は軽減できると思います。
まあ、ぼくも実の所あまり使いこなせてないですけど。