理想のモデル創造プロジェクト第八弾 モデルの足が滑らないようにする方法

新しいサイトに移転しました。

約5秒後に自動的にリダイレクトします。













私はこれまで、そこそこの数のモーショントレースをこなしてきました。


しかしながら今でも、モーショントレースをする際に神経を尖らせていることがあります。


それは、モデルの足の滑りです。


MMDモデルのフロアコンタクト



当然のことですが、普段、私たちが動く時に地面に着いた足は動きません。(スキーやスケートなんかは別ですが・・・)


一方、3D空間でMMDモデルを動かす場合、3D空間内の地面は仮想的なものですから、足と地面との摩擦や衝突といったものは一切ありません。


要するに、モデルの足を前後・左右・上下に制限なく動かせるので、モデルを操作する人がモデルの足を地面にぴったりと着けたり、歩く時に地面に着いた足が動かないようにしなければならないんです。


これが3D CGの世界でよく言われている「フロアコンタクト」の問題です。


え~っ! ちょっとくらい足が動いたっていいんじゃないの?」って思ってませんか?


いえいえ、これは結構大きな問題なんです。


なぜなら、モデルの足が少しでも滑ると、見ている人は敏感に違和感を感じてしまうから。


だから、モデルを動かす際には、常にモデルの足の状態に気を配らないといけません。これ、結構辛いです。


なので、「もっと楽にフロアコンタクトできるようにできないかしら」ってずっと思っていたんですが、ハイエンドのCGソフトウェアの中には自動でフロアコンタクトできるものがあることを、最近知りました。


全自動とまではいかなくても、もしMMDでこれに類する機能を実現することができたら、モーショントレース時の負担が軽くなるに違いない。


と言うことで、フロアコンタクトの問題を軽減する方策について検討することにしました。


題して、「理想のモデル創造プロジェクト第八弾 モデルの足が滑らないようにするには」です。


それではまず、モデルの足が地面に着くとはどういう状態のことなのか調べてみることにしました。


[1]モデルの足が地面に着く条件とは?



MMDでモデルの足を動かす場合、両足のIK(インバースキネマティクス)を動かすことはご存知ですよね。


またMMDでは、選択したボーンの初期状態(モデルを読み込んだ直後の状態)からの移動量および回転量が、下図の朱色で囲まれた部分のところに表示されています。


MMDモデルのフロアコンタクト



なので、この部分を見ながらモデルの足をいろいろと動かしてみると、足が地面に着いている(ように見える)時には、次のような状態になっていることが分かりました。


(1)足裏全体が地面に着いている時には、足IKのY座標の値がゼロになっている

(2)つま先、あるいは踵が上がっている場合には、足IKのY座標の値はゼロではなく少し高くなっている



逆に言うと、足を地面に着けたい場合には、この状態を意図的に作り出せば良いということ。


つまり、MMDには数値を入力してボーンの位置や回転を制御する機能がありますから、足が地面に着くためのY座標の値を入力すれば良い訳です。


[2]モデルの足が滑るのを防ぐためには?



私の経験から言えば、モーション制作をしている時にモデルの足が滑ってしまうのは、「足が接地する前後で足首が回転するから」です。


具体的に説明しましょう。


人間(二足歩行の動物)が歩いたり走ったりする時、いきなりつま先と踵が同時に地面に着くことは少なく、ほとんどの場合、つま先か踵が先に着いてから足裏全体が地面に着きます。


また、足が地面から離れる場合でも、いきなり足裏全体が地面から離れるよりもつま先か踵が遅れて地面から離れることの方が多いです。


このため、足が接地する前後ではほとんどの場合、足首が縦方向に回転することになります。


MMDモデルのフロアコンタクト



一方、MMDモデルの足は踝(くるぶし)付近に配置されているIKを回転の中心として回転します。


このため、つま先や踵を上げるとIKの位置は動かなくてもつま先と踵の位置は前後・上下に微妙に移動することになります。


これが、モデルの足が滑る(ように見える)原因です。


と言うことは、これを防ぐためには、足が接地する前後で「足IKをX軸(Local)回りに回転させると共に、Z軸(Local)方向およびY軸(Local)方向に移動」させれば良いんですね。


[3]フロアコンタクトさせるための具体的な調整方法



足を接地あるいは滑るのを防止するための方法が分かりましたので、具体的な調整方法について検討します。


言葉で説明すると分かりにくいので、検討結果を図で示します。


MMDモデルのフロアコンタクト



中央の図が足裏全体が接地している状態、左右の図はつま先が接地している状態および踵が接地している状態です。


図の見方ですが、つま先が接地している状態の図で説明します。


足裏全体が接地している状態から足首(足IK)を回転すると赤い点線の三角形になります。


このままだとつま先が地面より沈み込んでいる上、もともとのつま先の位置から後ろにΔZだけ後に移動しています。


足が滑らないためにはつま先の位置が変わってはいけませんから、足IKを平行移動させてつま先が元の位置に来るようにします。(緑色の三角形の位置です)


この時の移動量がΔYおよびΔZです。


まとめますと、


(1)踵を上げる場合には、足IKをΘ1-Θ2だけ回転させた後、ΔZ、ΔYだけ平行移動する

(2)つま先を上げる場合には、足IKをΘ0+Θ3だけ回転させた後、ΔZ、ΔYだけ平行移動する



このようにすれば、理論上は足が滑ることなくつま先や踵を上げることができることになります。


なお、足IKの回転角や移動量を計測するために、PMXエディタを用いてつま先と踵にダミーのボーンを設置し、このダミーボーンの位置座標をMMDで確認しています。


ところが、実際にこの方法で足IKを回転・移動させても思ったとおりの動作にはなりませんでした。


その原因は、足IKの回転角の算出方法にありました。


上述の方法では、足IKの回転角を逆三角関数(アークタンジェント)を用いて計算するんですが、この計算方法では各ボーンの位置座標の誤差が大きく影響するために回転角が大きくぶれてしまうんです。


そこで、いろいろと試行錯誤した結果、最終的にはMMD上で実際に足IKを回転・移動させて実測することにしました。(最初からこうすれば良かった・・・)


実際のモーション制作において適用する場合には、足IKを希望する位置に移動させてから、実測した回転角と移動量を数値で入力すればOK。


これで、モデルの足の滑りを防止できるようになりました。ぱちぱちぱち。


[4]ここで紹介したフロアコンタクトを運用する上での注意点



今回の検討でモデルの足の滑りや接地の問題はかなり抑えられるようになりました。


かなりと言うのは、今回の検討結果を適用しても微調整は必要になるからです。


微調整が必要になる原因としては、


(1)モデルの足IKがY軸まわりに回転している(つまり、足首を捻っている)と移動量ΔY、ΔZが変わる

(2)モーション制作の場面では、つま先立ちおよび踵を上げる時の足IKの回転角が異なる(例えば、踵を高く上げたい場合もあれば、それほど高く上げなくても良い場合もある)

からです。


それでは今回の検討は無駄だったのかと言うと、そうではありません。


と言うのも、MMDで足IKを思った方向・角度に回転させるためには、視点を変えながら何度も調整する必要があるからです。


その点、今回の方法を用いた場合、視点を変えなくても大まかに足IKの位置と角度を一度に決めることができます。


その上で、後は微調整をするだけで良いのです。


これは、モデルの足の滑りに悩んでいる人にとっては、かなり大きなメリットなんです。


とは言っても、毎回足IKの回転角度と移動量を数値入力するのは面倒ですね。


なので、私がいつも使っているモーション制作用の自作ツールにこの機能を組み込むことにしました。


MMDモデルのフロアコンタクト



このツールを使うことで、MMD上で足IKを選択した後、接地させる部位を選んでボタンを押すだけで踵やつま先を上げた状態にできるようになりました。


このように、やり方次第でかなりモーション制作の作業量を減らすことができます。


しかも、全てマニュアルで足を接地させるよりも精度は上げられるんです。


なので、モーション制作時の足の滑りに悩んでいる人は、是非、今回の検討結果を自分なりの方法で試してみて下さい。


【本プロジェクトの一時中断について】



本プロジェクトでは、MMDのモデルを制作して動かす上で、個人的にネックと感じているいろいろな問題点について検討してきました。


そのおかげで、完璧とまではいかなくても、そこそこのレベルのモデルが作れるようになりました。


なので、本プロジェクトを一時中断し、しばらくの間、モデルの制作に注力したいと思います。


モデルの質を向上させるには、結局、数をこなす以外にはありませんからね。


その過程において新たな問題点が出てきた場合には、その時点でまた再開したいと思います。


その代わりと言っては何ですが、新年からは制作したモデルを使った新しいタイプのイラスト制作を試そうと考えています。


まだまだ構想の段階なのでお披露目の時期は未定ですが、本ブログで公開したいと思っていますのでその時は見てやってくださいませ。


それでは、ここまで付き合って頂いて、ありがとうございました。


今後ともよろしくお願いいたします。


ぴのぴさまシリーズ第三弾 "唯一、愛の詠"をトレースしました

新しいサイトに移転しました。

約5秒後に自動的にリダイレクトします。













今回トレースしたのは、「唯一、愛の詠」(ニコニコ動画 sm33859849)です。


トレース元の動画では、ぴのぴさま、まりやんさま、ATYのお二人(ゆかりさま、あかりさま)の4人のお姉さま方が、艶やかな着物姿で優雅に踊っておられます。


なので、今回はモーションだけでなく着物モデルの制作にも力を入れてみました。


唯一、愛の詠と鬼滅の刃



それと、「唯一、愛の詠」は人気漫画「鬼滅の刃」と関係が深いので、PAちゃんに主人公ライクな着物を着て、刀を振るってもらいました。


ですので、本編だけでなくイントロとエンドロールにも注目してもらえると嬉しいです。


唯一、愛の詠と鬼滅の刃



また、今回のデモムービーでは、当ブログの実験室で検討した着物モデルの作り方、セッティングの仕方を適用し、できるだけ本物の着物らしく見えるようにしました。


なので、ムービーご視聴時に、特に袖の振れ方と腕まくりの動きに着目して見て下さい。


実験室での検討記事(プロジェクト第六、七弾)を合わせてお読み頂けると、より分かりやすいかと思います。


唯一、愛の詠 フルバージョン版デモ

私が制作した「唯一、愛の詠」のモーションを適用したデモムービーです。(下の画像の下にあるリンクをクリックするとご視聴できます)


唯一、愛の詠と鬼滅の刃



デモムービーを視聴するにはここをクリック



このモーションデータは、ニコニコ動画に投稿されているムービー"唯一、愛の詠"の中で踊っているお姉さま方の動きをトレースして私が作成したオリジナルのものです。


残念ながら現在は新規のモーションデータの公開をストップしていますが、時期を見て公開したいなとは思っています。


理想のモデル創造プロジェクト第七弾 大和撫子の必須アイテム着物を作ろう(その2)

新しいサイトに移転しました。

約5秒後に自動的にリダイレクトします。













前回の記事では、着物をモデリングする時に考慮すべきポイントについてまとめましたが、今回の記事では「作った着物をより着物らしく動かす方法」について検討します。


題して「理想のモデル創造プロジェクト第七弾 着物をより着物らしく動かすには」です。


早速、プロジェクトを始めたいところですが、動かす対象となる着物のモデルがいないといけませんね。


と言うことで、前回の反省点を踏まえて着物を作り直してPPちゃんに着てもらいました。


こだわり画廊&実験室



ちょっとしたポイントを押さえて制作するだけで、随分と洗練されたフォルムになるので、我ながらちょっとびっくりしました。


この着物が優雅に動くと、どんな見栄えになるんでしょうか? 少し、ワクワクしちゃいますね。


さて、今回のプロジェクトを進めるに当たり、まず着物を着たモデルが陥り易い、気になる点について整理したいと思います。


なお、この部分は私が個人的に気にしているポイントですので、着物モデルを作って公開されている他の方々を批判する意図は全くありません。


予め、ご承知おきくださいね。


[1]着物モデルの動きで気になるポイントとは?



私が着物を着たモデルを動かしていて気になるのは、次の2点です。


(1)腕の回転に伴って、着物の袖が不自然な形状で空中に制止すること

(2)腕や肘を上に挙げた時に、着物の袖が捲れないこと



言葉では分かりにくいので、絵を用いて具体的に説明しましょう。


まず1つ目の「着物の袖が不自然な形状で制止する」ことですが、次図のような状態を指します。


こだわり画廊&実験室



袖が真横や真上に持ち上がって、まるで腕に板を付けているかのようですね。


着物を着ているモデルでは、このような形状になることが多いです。


ただ、モデルの動きが激しい場合には気にならない場合もありますが、ゆっくりとした動きの場合には違和感がありまくりになります。


2点目の「着物の袖が捲れないこと」ですが、これは分かりやすいと思います。


こだわり画廊&実験室



個人的には、着物の袖から白い二の腕が見えると艶っぽさが増すように感じるので、是非、この点についてはなんとかしたいと思います。


と言うことで、これら2点の不満を解消する方法について検討することにしました。


[2]着物の袖の不自然な動きを解消するには?



モデル着物の袖が、まるで板のように回転してしまう理由はいくつか考えられますが、主なものは次の2つだと思います。


(1)着物の袖部分に仕込まれているボーンが、直接、腕や肘のボーンに関連づけられていること

(2)袖部分の剛体と腕や肘の剛体とを接続しているジョイントの可動範囲が狭すぎること



これも、絵で見た方が分かりやすいでしょう。


こだわり画廊&実験室



着物の袖部分に仕込まれているボーン群の根元のボーンの親が腕や肘のボーンになっていると、腕や肘が回転すると袖の部分のボーン群は100%追随して回転します。


一方、実際の着物では、腕や肘が回転しても、着物の袖自体は腕や肘にくっついている訳ではないので、回転しませんよね。


つまり、着物の袖の部分のボーンが回りすぎていると言うことになります。


この対処方法としては、

(1)腕や肘のボーンに沿って着物の袖のボーンの根元を接続するボーンを新しく設置する

(2)新しく設置したボーンの親に腕や肘のボーンを設定すると共に、回転に関する付与率を小さく設定し、袖のボーンが回りすぎないようにする



ことで解決できます。


こだわり画廊&実験室



次に、ジョイントの可動範囲の件ですが、その前に物理演算で動く剛体の仕組みについて知っておく必要があります。


通常、着物の袖には物理演算剛体が設置されており、この剛体の動きに従って着物の袖が動くことになります。


また、剛体そのものは変形しませんので、剛体を動かすためには剛体同士を接続しているジョイントを設定する必要があります。


今回問題となっているジョイントは、着物の袖に設定されている剛体とその剛体を腕や肘に追随して動く剛体につないでいるジョイントです。


このジョイントの回転に関する可動範囲が狭いと、袖の剛体が下方向に十分に回り込めなくなり、結果として袖が持ち上がってしまいます。


こだわり画廊&実験室



この問題の対処方法は簡単で、当該のジョイントの可動範囲(特に腕や肘まわりの方向の可動範囲)を大きくすればOKです。


こだわり画廊&実験室



どうでしょうか? ちゃんと本物の着物の袖のように、腕を回しても着物の袖が下方向に垂れ下がるようになりましたね。


さて次は、着物の袖を捲る方策を検討しましょう。


[3]着物の袖が捲れるようにするためには?

この問題に対して、私は最初、モーフを使って腕まくりすることにチャレンジしてみました。


やり方としては、クロスシミュレーターを使って腕を上げた時にできる袖の形状を作り、これをターゲットとしてモーフを設定すればOKです。


ただ、クロスシミュレーターにより変形させた袖の形はシワの部分が鋭角に折れ曲がってしまうので、布らしくならないのが欠点です。


こだわり画廊&実験室



このため、モーフを使った袖の変形を早々に断念し、代わりにボーンを使って袖を捲ることにしました。


手順としては、次のとおりです。


(1)腕や肘のボーンに沿って配置した着物の袖のボーンの根元を接続するボーン群にローカル軸を設定する

(2)これらのボーンの内、最も手首に近い側のボーン(調整用ボーンと呼びましょう)のX軸方向の動きに従って、残りのボーンが動くように移動の付与率を設定する

(3)設定する付与率は、原則として、手首から肩に向かうほど小さくなるように設定する



こだわり画廊&実験室



但し、ここで気を付けなければいけないのは、調整用ボーンを動かした時、肘に沿って設置されているボーンが肘よりも上の肩の方へ移動しないように付与率を設定しなければならないこと。


理由は、肘を曲げた時に袖が突き出してしまうからです。


こだわり画廊&実験室



このようにすれば、腕や肘が上がるタイミングで調整用のボーンを使って袖を捲ることができます。


また、袖を捲ると袖に設置された剛体も肩の方向に移動するため、袖が捲れた状態で袖が物理演算で動いてくれます。


[4]今回検討した袖の設定を適用してモデルを動かしてみた結果は?



以上の設定を、冒頭で紹介した着物を着たPPちゃんに施してみました。


なお、PMXエディタでは同一のボーンに対して回転と移動の付与を同時に行うことができません。


このため、今回の設定では腕まくりのための移動の付与を優先し、代わりに袖の剛体を接続しているジョイントの可動範囲を目一杯大きくしてあります。


こだわり画廊&実験室



どうでしょうか?


これまでよりも、ずっと着物らしく動くようになりましたよね。


これで、今回のミッションはコンプリート。ぱちぱちぱち。


実際の動きは、後日公開する「唯一、愛の詠」のデモムービーで確認してみて下さいね。


さて、次回のプロジェクトですが、モーショントレースを行っている時に結構手間がかかるものの一つに「足の接地」の調整があります。


こだわり画廊&実験室



センターボーンを上下させたり足のIK(インバースキネマティクス)を動かすと、足が地面に沈み込んだり、逆に地面から浮き上がったりしますよね。


それと、足を接地させる前後では踵(かかと)や爪先を上げますが、この時に微妙に足が移動してしまうので、その都度位置の調整も行わなければなりません。


これをずっと、何とかできないかと考えていたのですが、ハイエンドのCGソフトウェアの中には足の接地を自動的に行ってくれるフロアコンタクトの機能があると言うことを最近知りました。


もし、これがMMD(MikuMikuDance)で実現出来たら、トレースの質の向上と作業量の低減が図れるのではないでしょうか。


と言うことで、次回のプロジェクトではこの「フロアコンタクト」機能の実現について検討してみたいと思います。














理想のモデル創造プロジェクト第六弾 大和撫子の必須アイテム着物を作ろう(その1)

新しいサイトに移転しました。

約5秒後に自動的にリダイレクトします。













女性の衣装には洋服、和服などさまざまな種類のものがありますが、大和撫子に似合う服と言えばやっぱり着物でしょう。


でも残念なことに、最近ではあまり見かけませんよね。


年に数回、お正月、卒業式、そして夏祭りに少し見かける程度かな。


それでも、たまに着物を着ている女の人を見かけると、素直に「いいな~」って思ったりします。


こだわり画廊&実験室



また、本館の方で今、「唯一、愛の詠」のモーショントレースを行っていまして、トレース完了時には着物を着たモデルに踊ってもらいたいと思っています。


そんな訳で、本プロジェクトでは2回に分けて見惚れる着物の作り方について検討することにします。


題して「理想のモデル創造プロジェクト第六弾 大和撫子の必須アイテム着物を作ろう」です。


前半の今回は、リアルな着物の形状を作るためのワークフローの構築を目指します。


さて、本プロジェクトの第3弾でクロスシミュレーターを利用した服の作り方について検討しましたが、今回もクロスシミュレーターを用いて制作することにしました。


ところが、いざ作ろうとすると正確なイメージが湧いてきません。


それで、着物姿の女性の画像をあれこれ眺めて見たんですが、細かい部分の構造はなかなか把握できませんでした。


「困った、どうしようか?」と悩んでいる時、偶然WEB上で着物を描くためのノウハウ本を見つけました。


こだわり画廊&実験室



元々はイラストを描くための本のようですが、着物を着物らしく描くために押さえておくべきポイントが分かりやすく書かれていました。


そこで、その本を参考にして、まず着物とはどんな構造なのかについて調べてみることにしました。


着物の構造は、普通の服とは違う?



私は最初、「着物は大きな袖のついた長い裾の服」と思っていたのですが、構造的には全く別物なのだそうです。


こだわり画廊&実験室



服を着物らしくするためのポイントを挙げると、


  1. 袖の付け根は肩よりもかなり腕側にある

  2. 袖口は全開ではない

  3. 着物では襟が二重になっている(浴衣は一重)

  4. 帯の締め方にはいろいろ種類がある

  5. 帯には帯留めが付いている

  6. スカートと違って、着物の裾は、膝あたりから広がる



ってところでしょうか。


それと、洋服と大きく違う点は「着物は着ると言うよりも身体に引っ掛ける」感じになるということ。


どういうことかと言えば、着物(特に袖)は身体に沿って曲がらないと言うことです。


以上のポイントを押さえた上で、制作した着物がこれ。


こだわり画廊&実験室



せっかくなので、PPちゃんに着てもらいました。


こだわり画廊&実験室



草履を履いて、簪(かんざし)を差すと、とってもお淑やかに見えますね。


より一層、着物のクォリティーを上げるためには?



今回の制作自体は、プロジェクト第三弾で紹介したやり方でクロスシミュレーターを使って作成しただけで、特に変わったことはしていません。


ただ、制作の過程でいろいろと思うところがありましたので、今後より一層クォリティを上げるために反省点を挙げておきたいと思います。


【今回の反省点】


(1)襟もとの形状が甘い

着物の襟は思ったよりも硬くて厚いので、もう少し鋭角に立てるべきでした。


(2)着物の柄が単調

制作し終わってから知ったんですが、着物の柄はある規則に従って描かれているんだそうです。


こだわり画廊&実験室



実は今回、着物のテクスチャーを制作する時、柄をどう描けば良いのかが正直分かりませんでした。


それで、適当に花を散らしてみたんですが、出来上がったモデルを見ていると、何となくですが単調な感じが否めません。


なので、次作では着物の柄の描画パターンを踏まえて描こうと思います。


着物をより魅力的に動かすには? (次回の予告)



今回のプロジェクトでは、まず着物自体を制作するためのノウハウ習得を行いましたが、着物を着たモデルが優雅に舞えばもっと魅力的に見えるはずです。


こだわり画廊&実験室



個人的な見解ですが、着物がより魅力的に見える瞬間とは、


(1)腕を上げた時に袖口が捲れて、白い二の腕が見える時

(2)着物の裾が少しめくれて、白い足元がチラリと見える時

ではないかと思っています。


こだわり画廊&実験室



でも、これをMMDで実現するためには、洋服の時とは少し違ったセッティング(ボーンの仕込み方やモーフとの組み合わせ)が必要になりそうです。


そこで次回のプロジェクトでは、着物をより魅力的に動かすためにはどうしたら良いのかについて検討する予定です。




















理想のモデル創造プロジェクト第五弾 肘や肩などの関節をきれいに曲げよう!

新しいサイトに移転しました。

約5秒後に自動的にリダイレクトします。













WEB上には、いろいろな方々がMMD(MikuMikuDance)上で動くモデルを公開されていますので、それらをお借りして動画を作成している人も多いと思います。。


何を隠そうこの私も、1年ほど前まではその内の一人で、当ブログの画廊で紹介している動画も8割方は、お借りしたモデルに踊ってもらっています。


こだわり画廊、実験室



一方、今では自分でもMMDのモデルを作っている訳ですが、最近ちょっと気になっていることがあります。


それは、モデルの肩や肘を曲げた時の形です。


他の人のモデルを使っている時には「まあ、こんなものじゃないの?」って、あまり気にならなかったんですが、自分のモデルだとやけに気になってしまって・・・


と言う訳で、今回のプロジェクトでは、MMDモデルの関節をきれいに曲げるにはどうしたら良いのかについて検討してみました。


題して、「理想のモデル創造プロジェクト第五弾 肘や肩などの関節をきれいに曲げよう!」です。


こだわり画廊、実験室



今回は、「Hello Worker」で踊ってくれたPAちゃんに協力してもらって、この問題に取り組むことにしました。


MMDモデルの関節部が歪む理由とは



MMDモデルの制作関連の図書を片っ端から調べてみたんですが、関節の変形に関してはどの本も「ボーンのウェイト調整をきちんと行う」としか書かれていませんでした。


これだけを見ると、要するに私のボーンのウェイト調整が下手くそだから関節が歪んでいるんだと言うことになります。


そこで、関節部のウェイト調整をあれこれやってみたんですが、ある方向に曲げた時に綺麗になるように調整しても、違う方向に曲げると歪んでしまうんです。


結局、私自身の結論としては、「完璧なウェイト調整は無理」と言うことになりました。(「そうじゃない」と言う人がいたら、ごめんなさい)


一方、今回のプロジェクトを進める中で、WEB上をいろいろ調べていると、3Dモデルの関節の歪みについて理論的に説明されているものがありました。


引用元: POLYGONOMICON(JNYさま) スキニング考察より抜粋(私が少し要約しています)


関節部の変形において、関節部が「痩せて」あるいは「えぐれて」体積が減ってしまうことによる不自然さに多くの人が悩んでいるのではないだろうか。


その理屈は意外にシンプルなので、簡単に解説する。


まず、2つのボーンの変形において「仮に」骨a、骨bそれぞれに100%ウェイトを設定した場合の変形結果を想定すると、以下のようになるはず。


こだわり画廊、実験室

それぞれの結果を重ねると以下のようになる。


こだわり画廊、実験室

上図のとおり、骨a、bに50%ずつ均等にウェイト設定した結果の頂点位置は、abそれぞれに100%設定した「結果位置の中間点」に来る。これ大事!


図を見れば一目瞭然だが、この計算方法だと、abに50%ずつウェイト設定した場合の「えぐれ」や「痩せ」は「必然」であることが分かると思う。


ちなみにウェイトを50%ずつではなく、25%:75%などのように比率を変えて設定しても問題は解決しない。


なぜなら、ウェイト比率の変更は頂点の結果位置を上図の赤い線分のうち、a寄りにするか、b寄りにするかを変更する事しか出来ないからだ。


そして赤い線の上に頂点がある以上、メッシュの体積の減少はどちらにしろ避けられない。


というわけでこのような頂点配置の場合、ウェイト値をいくらいじっても問題が解決しない。


これはもうスキニング計算の仕様なのであって、その仕様を理解した上で問題を「解決」ではなく「回避」する代替策を模索するのが正解に思える。



この記事を読んで、「やっぱり、完璧なウェイト調整は無理なんだ」と納得。


でも一方で、ここで諦める訳にはいかない。


何とかする方法はないのかと3D CG関連の本を読み漁ったところ、ハイエンドのCGソフトウェアの中に「ボーンによる変形とモーフによる変形」を組み合わせた関節の変形機能があるものを見つけました。


MMDにもモーフ変形の機能が備わっていますから、これに類する機能を実現するのは不可能ではないはず。


と言うことで、ボーンとモーフの組み合わせによる関節の変形について検討することにしました。


ボーンとモーフを組み合わせる時の問題点とは



この検討を始めた当初は、単純に「ボーンの変形にモーフの変形を追加すればOKじゃね」と軽く考えていたんですが、やってみると思わぬ問題があることに気づきました。


それは、モーフによる変形(頂点の移動)は、初期ポーズの位置からの変形だと言うこと。


具体的に説明しましょう。


ボーンを動かした時に生ずる関節部の歪みを、PMXエディタで頂点を動かして修正する場合には、まずボーンで関節を動かします。


こだわり画廊、実験室



そして、この状態で歪んでいる部分の頂点を動かして歪みを修正します。


この修正した形状をモーフとして登録する訳ですが、モーフ側から見るとこの修正による頂点の移動は、初期ポーズにおける当該頂点位置からの移動になります。


こだわり画廊、実験室



一方、MMD上でポーズやモーションをつける場合には、ボーンを移動・回転させて目的のポーズを作りますよね。


つまり、MMD上でボーンを動かした後でモーフ変形を行うと、モーフにより修正した頂点はボーンによる移動量にモーフによる移動量が加算されてしまうんです。


こだわり画廊、実験室



これを防ぐためには、初期ポーズのままで頂点を動かしてモーフを作らないといけません。


でも、ボーンの移動・回転による歪みを初期ポーズのままで修正するなんてことは直観的にはできませんよね。(少なくとも私には無理です)


これは困った。何とかする方法はないんでしょうか?


グループモーフによるモーフの減算が決め手!



今回はこの問題で、かなり長い間悩みました。


でも、水城さまのブログ「解凍って何?からのMMD挑戦日記(URL: http://mmd-tb.jugem.jp/?eid=39)」の記事「モーフを作り始めてからデフォ顔を変更する」を読んでいて、はっと気付いたんです。


上述の問題は、ボーンによる頂点の移動量が加算されるために生じているんだから、その分を減算してやれば良いんだと。


具体的には、次のようにします。


(1)ボーンを移動・回転させて目的のポーズを作る

(2)そのポーズを使って、まず頂点修正前のモーフを作成

(3)次に、その状態で頂点を動かして関節の歪みを修正する

(4)歪みを修正した状態で、頂点修正後のモーフを作成

(5)頂点修正前後の2つのモーフをグループモーフにする

(6)グループモーフの中にある頂点修正前のモーフを減算処理する



このように処理すれば、ボーンによる変形後にこのグループモーフを使って関節の歪みを修正することができます。


こだわり画廊、実験室



この方法による修正は、関節の歪み毎にモーフを作成して修正する必要がありますから、モーション作成の面から言えば手間が大幅に増えるために多用はできません。


それでも、「腕を真上に挙げる」等のMMDモデルにとって過酷なポーズにおける破綻を回避する有効な手段だと思います。


と言う訳で、今回のプロジェクトはこれでコンプリート。


今後は、要所(例えば、滑らかなゆっくりとした動きで、関節の歪みが目立つような場面等)でこの方法を適用していくつもりです。


さて次回のプロジェクトですが、ご存じのとおり、本館では現在「唯一、愛の詠」のモーショントレースを行っています。


トレース元の動画では、ぴのぴさまを含む4人のお姉さま方が着物を着て、優雅に踊っておられます。


このため、モーショントレース完了時には着物姿のモデルを制作して踊ってもらう予定なのですが、着物を着たモデルはこれまでに制作したことがありません。


こだわり画廊、実験室



正確には、「千本桜」のムービーを作成した時にモデルのRinちゃんに袖の部分だけをつけてもらったことがありますが、その時には袖の部分だけでも満足な形状にはできませんでした。


と言うことで、次回のプロジェクトでは私流の着物のモデル制作について検討してみたいと思います。


ぴのぴさまシリーズ第二弾 Shake it!をトレースしました

新しいサイトに移転しました。

約5秒後に自動的にリダイレクトします。













前作のリバースユニバースに続いて、ぴのぴさまの「Shake it!」のモーショントレースを行いました。


リバースユニバースの時にも思ったのですが、ぴのぴさまの動きはキレがあって、その上に流れるように奇麗なので、トレースのし甲斐があります。


こだわり画廊&実験室



ご存知ないかも知れませんが、モーショントレースは地味な作業で時間もかかりますので、モチベーションの維持が大変です。


でも、ぴのぴさまのモーションをトレースしている時には、トレースを完了した時に作成するムービーの構想が次々に湧いてくるので、モチベーションが下がるどころか、逆に作業ペースが上がるくらいです。


と言うことなので、しばらくぴのぴさまのモーションのトレースを続けてみようかなと思っています。


題して、ぴのぴさまシリーズ(勝手に命名して、ごめんなさい)です。


ところで、最近ではモーショントレースだけでなくモデルの制作技術も向上してきて、結構複雑な衣装でも作れるようになりました。


また、髪の毛のクォリティーを手軽に上げる方法も見つけましたので、今後は更にヘアースタイルにも凝ってみたいと思っています。


こだわり画廊&実験室



ただ、今回のムービーを作っていて痛感したのは、物理演算で動かす小物のクォリティーが低いこと。


モデルに合わせて滑らかに動く小物を作るには、まだまだ研究の余地がありますね。


まあ、これについてはブログの実験室で検討したいと思います。


Shake it! フルバージョン版デモ

私が制作した「Shake it!」のモーションを適用したデモムービーです。(下の画像の下にあるリンクをクリックするとご視聴できます)


こだわり画廊&実験室

https://drive.google.com/open?id=13LJVyz3uIkFMrO27azGYqAXz9ClvSAS1



このモーションデータは、ニコニコ動画に投稿されているぴのぴさまのムービー"Shake it!"の中で踊っている彼女の動きをトレースして私が作成したオリジナルのものです。


残念ながら現在は新規のモーションデータの公開をストップしていますが、時期を見て公開したいなとは思っています。

























理想のモデル創造プロジェクト第四弾 自分好みのアクセサリーを作ろう!

新しいサイトに移転しました。

約5秒後に自動的にリダイレクトします。













WEB上を探してみると、たくさんの方々がMMD(Miku Miku Dance)のアクセサリーを作って公開されています。


中には、「ここまでやるか?」と感心するほど緻密に細部まで作りこんでおられるものもあります。


こだわり画廊&実験室



一方で、こんなにたくさんのアクセサリーがあっても、自分の作りたい動画に合ったアクセサリーがなかなか見つからないことがしばしば起こるのも事実!


最近では、本館で行っているモーショントレースのスピードがアップしていて、それに伴って動画の作成頻度が増えてきているので、この傾向が一層顕著になってきています。


このままでは、動画に参加してくれるモデルの娘たちに申し訳ない


と言うことで、今回のプロジェクトでは、自分の好みに合ったアクセサリーをできるだけ簡単に作れるようにしたいと思います。


題して、「理想のモデル創造プロジェクト第四弾 自分好みのアクセサリーを作ろう!」です。


さて、実際のアクセサリー作りに取り組む前に、アクセサリー制作に当たっての問題点を整理しておきましょう。


[1]アクセサリー制作の際のポイントとは?


アクセサリーの中には指輪やペンダントなど、幾何学的な形状(球とか、楕円形とかです)のものも多々ありますが、これらについては貼り付けるテクスチャーさえしっかりと作れば問題はありません。


私個人の見解ですが、アクセサリー作りで難しいのは、①構造自体が複雑なもの、②構造自体は簡単でも装飾が凝っているもの、ではないかと思います。


こだわり画廊&実験室



こういったアクセサリーを3D CGで作る場合、どの方向から見ても違和感がない形状に仕上げるためには、それなりのスキルがないとできません。


市販されているキャラクターモデリングの本を見てみると「下絵に合わせて基本形状を変形する、あるいは面張りして作る」と書いてあるのがほとんどだと思いますが、このやり方でできるのは作り手さんのスキルが高いから。


と言うのも、三次元空間上で正確な形状を把握して、望む形を作り上げるのは簡単ではないんです。


それと、一般的にアクセサリーは衣服などと違って変形しません(つまり、形状が固定している)から、表面はできるだけ滑らかに仕上げる必要があります。


例えば、携帯電話(スマートフォン)や手鏡などの表面が凸凹して歪んでいると、違和感がありまくりになっちゃいますよね。


つまり、アクセサリーを作る際には「滑らかな形状を正確に作る」ことが必要です。


一方で、形状が固定しているために、テクスチャーを貼るために必要なUV座標の設定は平面投影や円柱状の投影で十分という利点もあります。


以上のポイントを押さえた上で、いよいよ今回のプロジェクトに入りたいと思います。


いつものように何か制作テーマを設定して、それを作り上げる過程でワークフローを構築します。


今回のテーマには、この娘が持っている弓を選びました。


こだわり画廊&実験室



[2]スプラインを使って滑らかな形状を作ろう



私の経験では、3D CGで滑らかなラインを作る場合、最も簡単なのはスプラインを使うことです。


スプラインの利点は、頂点のベジェハンドルを移動したり回転したりすることで、後からいくらでも修正ができる点!


なので、何とかこのスプラインを利用して滑らかで正確な形状ができないものかと考えました。


で、3D CGソフトウェアの機能をいろいろと調べてみると、スプラインで閉じた形状を作ると、そのスプラインで囲まれた空間にポリゴンを自動的に貼ってくれる機能がありました。


この機能を使うと、下絵に沿ってスプラインを描くだけで目的の形状のアウトラインを持つ平板ポリゴンが簡単に作れます。


次に、この平板ポリゴンに厚みを付け、出来上がった立体形状の角の部分を面取り機能で滑らかにすれば、厚みこそ均一ですが、正面から見た目的とする形状がすぐにできます。


こだわり画廊&実験室



ここまでの作業でちょっと手間がかかるのは、下絵に沿ってスプラインを描く部分だけ。


後は、3D CGソフトウェアの機能を適用するだけなので、あっと言う間です。


さて、出来上がった立体ポリゴンの厚み方向の形状を整えなければいけませんが、この時、ポリゴンの頂点を移動させて編集すると、せっかく作った滑らかなラインが崩れてしまいます。


このため、厚み方向の調整を行う際には、3D CGソフトウェアの「格子(ラティスとも呼ばれる)」を使って全体の形状を整えます。


こだわり画廊&実験室



こうすれば滑らかなラインを保ちながら変形できる上に、頂点を一つ一つ動かす手間も要りませんから、作業時間も短くて済みます。


まとめますと、滑らかなラインを持つ形状を作る場合には、

  1. 下絵に沿ってスプラインを描き、閉じた形状を作る

  2. その形状に対して、「面張り → 厚み付け → 面取り」で立体化

  3. できた立体ポリゴンに「格子」を適用して、厚み方向の形状を調整する



と言うこと。これが、こだわりP流のアクセサリーの作り方です。


ただ、このやり方にも欠点はあります。


それは、出来上がった形状のポリゴンメッシュがあまり綺麗ではないことです。


こだわり画廊&実験室



これは、出来上がった弓のUV展開図ですが、各面を構成するUVも結構歪んでいるのが分かります。


でも、上述のとおり、弓自体が大きく変形する訳ではありませんから、各パーツを正面、あるいは上面から焼き込んで作ったUVでも十分綺麗に仕上がります。


こだわり画廊&実験室



どうでしょうか? MMDのアクセサリーとしては十分だとは思いませんか?


折角なので、PAちゃんに持ってもらいました。


こだわり画廊&実験室



MMD上でAutoLuminousを適用すると、更に見栄えが良くなりますよね。


[3]今回見つけたやり方で、可愛い髪飾りを作ってみると・・・



今回作ったものがゲームキャラクターの持っている武器だったので、このやり方で本当に女性モデル用の可愛いアクセサリーが作れるかどうか試してみたくて、髪飾りを作ってみました。


モデルに選んだのは冒頭で紹介した桜の髪飾りです。


そして、できあがった髪飾りはこれ!


こだわり画廊&実験室



どうでしょうか? MMDのアクセサリーとしては上出来の部類なんじゃないでしょうか?


PPちゃんの可愛さも一段とアップして、めでたし、めでたしです。


これで今回のミッションはコンプリート。


後は、いろいろなアクセサリーを作って経験を積むことでレベルを上げるだけですね。


さて、次回のプロジェクトですが、最近MMDモデルのことで特に気になっていることがあります。


それは、肘や肩などをボーンで曲げた時の形です。


こだわり画廊&実験室



今までは他の方がつくられたモデルをそのまま使用することが多かったので、あまり気にしていなかったのですが、自分でモデルを作るようになると目に付くことが多くなってしまって・・・。


で、ここしばらくの間ボーンのウエイトの調整をあれこれ試していたのですが、どの方向に曲げても思うような形状にすることはできませんでした。


でもよくよく考えてみると、モデルの身体を構成している頂点数が限られているのですから、完璧なウエイト調整などはできなくて当たり前なのかも知れません。


それでも、少しでも良くする方法はないかと3D CGの本を読み漁っていると、ハイエンドのCGソフトウェアの中にはボーンによる変形とモーフによる変形を組み合わせて調整するものがありました。


MMDにもモーフの機能はありますから、MMD上でそれに類する機能を実現するのは不可能ではないはず・・・。


と言うことで、次回はボーンとモーフを組み合わせた関節の変形機能の実現について検討するつもりです。