理想のモデル創造プロジェクト第七弾 大和撫子の必須アイテム着物を作ろう(その2)
新しいサイトに移転しました。
約5秒後に自動的にリダイレクトします。
前回の記事では、着物をモデリングする時に考慮すべきポイントについてまとめましたが、今回の記事では「作った着物をより着物らしく動かす方法」について検討します。
題して「理想のモデル創造プロジェクト第七弾 着物をより着物らしく動かすには」です。
早速、プロジェクトを始めたいところですが、動かす対象となる着物のモデルがいないといけませんね。
と言うことで、前回の反省点を踏まえて着物を作り直してPPちゃんに着てもらいました。
ちょっとしたポイントを押さえて制作するだけで、随分と洗練されたフォルムになるので、我ながらちょっとびっくりしました。
この着物が優雅に動くと、どんな見栄えになるんでしょうか? 少し、ワクワクしちゃいますね。
さて、今回のプロジェクトを進めるに当たり、まず着物を着たモデルが陥り易い、気になる点について整理したいと思います。
なお、この部分は私が個人的に気にしているポイントですので、着物モデルを作って公開されている他の方々を批判する意図は全くありません。
予め、ご承知おきくださいね。
[1]着物モデルの動きで気になるポイントとは?
私が着物を着たモデルを動かしていて気になるのは、次の2点です。
(2)腕や肘を上に挙げた時に、着物の袖が捲れないこと
言葉では分かりにくいので、絵を用いて具体的に説明しましょう。
まず1つ目の「着物の袖が不自然な形状で制止する」ことですが、次図のような状態を指します。
袖が真横や真上に持ち上がって、まるで腕に板を付けているかのようですね。
着物を着ているモデルでは、このような形状になることが多いです。
ただ、モデルの動きが激しい場合には気にならない場合もありますが、ゆっくりとした動きの場合には違和感がありまくりになります。
2点目の「着物の袖が捲れないこと」ですが、これは分かりやすいと思います。
個人的には、着物の袖から白い二の腕が見えると艶っぽさが増すように感じるので、是非、この点についてはなんとかしたいと思います。
と言うことで、これら2点の不満を解消する方法について検討することにしました。
[2]着物の袖の不自然な動きを解消するには?
モデル着物の袖が、まるで板のように回転してしまう理由はいくつか考えられますが、主なものは次の2つだと思います。
(2)袖部分の剛体と腕や肘の剛体とを接続しているジョイントの可動範囲が狭すぎること
これも、絵で見た方が分かりやすいでしょう。
着物の袖部分に仕込まれているボーン群の根元のボーンの親が腕や肘のボーンになっていると、腕や肘が回転すると袖の部分のボーン群は100%追随して回転します。
一方、実際の着物では、腕や肘が回転しても、着物の袖自体は腕や肘にくっついている訳ではないので、回転しませんよね。
つまり、着物の袖の部分のボーンが回りすぎていると言うことになります。
この対処方法としては、
(2)新しく設置したボーンの親に腕や肘のボーンを設定すると共に、回転に関する付与率を小さく設定し、袖のボーンが回りすぎないようにする
ことで解決できます。
次に、ジョイントの可動範囲の件ですが、その前に物理演算で動く剛体の仕組みについて知っておく必要があります。
通常、着物の袖には物理演算剛体が設置されており、この剛体の動きに従って着物の袖が動くことになります。
また、剛体そのものは変形しませんので、剛体を動かすためには剛体同士を接続しているジョイントを設定する必要があります。
今回問題となっているジョイントは、着物の袖に設定されている剛体とその剛体を腕や肘に追随して動く剛体につないでいるジョイントです。
このジョイントの回転に関する可動範囲が狭いと、袖の剛体が下方向に十分に回り込めなくなり、結果として袖が持ち上がってしまいます。
この問題の対処方法は簡単で、当該のジョイントの可動範囲(特に腕や肘まわりの方向の可動範囲)を大きくすればOKです。
どうでしょうか? ちゃんと本物の着物の袖のように、腕を回しても着物の袖が下方向に垂れ下がるようになりましたね。
さて次は、着物の袖を捲る方策を検討しましょう。
[3]着物の袖が捲れるようにするためには?
この問題に対して、私は最初、モーフを使って腕まくりすることにチャレンジしてみました。
やり方としては、クロスシミュレーターを使って腕を上げた時にできる袖の形状を作り、これをターゲットとしてモーフを設定すればOKです。
ただ、クロスシミュレーターにより変形させた袖の形はシワの部分が鋭角に折れ曲がってしまうので、布らしくならないのが欠点です。
このため、モーフを使った袖の変形を早々に断念し、代わりにボーンを使って袖を捲ることにしました。
手順としては、次のとおりです。
(2)これらのボーンの内、最も手首に近い側のボーン(調整用ボーンと呼びましょう)のX軸方向の動きに従って、残りのボーンが動くように移動の付与率を設定する
(3)設定する付与率は、原則として、手首から肩に向かうほど小さくなるように設定する
但し、ここで気を付けなければいけないのは、調整用ボーンを動かした時、肘に沿って設置されているボーンが肘よりも上の肩の方へ移動しないように付与率を設定しなければならないこと。
理由は、肘を曲げた時に袖が突き出してしまうからです。
このようにすれば、腕や肘が上がるタイミングで調整用のボーンを使って袖を捲ることができます。
また、袖を捲ると袖に設置された剛体も肩の方向に移動するため、袖が捲れた状態で袖が物理演算で動いてくれます。
[4]今回検討した袖の設定を適用してモデルを動かしてみた結果は?
以上の設定を、冒頭で紹介した着物を着たPPちゃんに施してみました。
なお、PMXエディタでは同一のボーンに対して回転と移動の付与を同時に行うことができません。
このため、今回の設定では腕まくりのための移動の付与を優先し、代わりに袖の剛体を接続しているジョイントの可動範囲を目一杯大きくしてあります。
どうでしょうか?
これまでよりも、ずっと着物らしく動くようになりましたよね。
これで、今回のミッションはコンプリート。ぱちぱちぱち。
実際の動きは、後日公開する「唯一、愛の詠」のデモムービーで確認してみて下さいね。
さて、次回のプロジェクトですが、モーショントレースを行っている時に結構手間がかかるものの一つに「足の接地」の調整があります。
センターボーンを上下させたり足のIK(インバースキネマティクス)を動かすと、足が地面に沈み込んだり、逆に地面から浮き上がったりしますよね。
それと、足を接地させる前後では踵(かかと)や爪先を上げますが、この時に微妙に足が移動してしまうので、その都度位置の調整も行わなければなりません。
これをずっと、何とかできないかと考えていたのですが、ハイエンドのCGソフトウェアの中には足の接地を自動的に行ってくれるフロアコンタクトの機能があると言うことを最近知りました。
もし、これがMMD(MikuMikuDance)で実現出来たら、トレースの質の向上と作業量の低減が図れるのではないでしょうか。
と言うことで、次回のプロジェクトではこの「フロアコンタクト」機能の実現について検討してみたいと思います。