fc2ブログ

青柳 臣一 ブログ(趣味系)

[Blender] きれいに関節を曲げるためのボーン構造 “Skinbones” 法

ここで紹介するのは、↓の内容をそのまんま Blender でやってみたというものです。
http://www.sonofpat.com/Tutorials.html
って、ありゃ、サイトが無くなってるぅ。残念だな。気になる方は Web Archive とかで探してみればみつかるかも。

最初にお断り。
正直、今回の手法はほんとにそこまでする意味があるのか?見合った効果があるのか?よくわかりませんw
それと Skinbones 法という名前が 3DCG 一般で使われている用語なのかよくわかりません。検索してもそれらしいのはほとんど見つからないから上記のサイトを書かれた人がとりあえずそう呼んでただけのような感じがします。

で、どういう方法なのかというと下図 (1) (2) みたいなものです。

Skinbones_Fig1.png.jpg

 

Skinbones_Fig2.png.jpg

これを見ればだいたい検討つくとは思いますが、(1) は赤が肩ボーン、青が上腕ボーンです。緑はすべて補助ボーンで上腕に連動して自動的に動きます。(2) も同様で、赤が腰ボーン、青が大腿ボーン、緑は大腿ボーンと連動して動く補助ボーンです。
そして、これが Skinbones の特徴と言っていいと思いますが、1つの頂点を動かすために 1つの補助ボーンが入れてあります。(1) では肩の 6つの頂点を動かすために 6つの補助ボーンが、 (2) では股関節の 8つの頂点のために 8つの補助ボーンが入っています。

もともと人体の皮膚は骨によって形が決まるわけじゃなく、骨の周りにある筋肉やら脂肪やらといったいろんな組織によって形付られているわけです。それをごく単純化した骨の位置関係だけで本物と同じような形にしようということに無理があるのは明らかです。かと言って、まじめに筋肉をシミュレートするようなのは大変です。そこで必要なボーンをジャンジャカ入れ、それで少しでもうまい具合に変形するようにしよう、ということなんでしょう。

で、これらの補助ボーンは以下の要素によって動きが制御されます。

・Copy Rotation Constraint
補助ボーンに Copy Rotation Constraint を仕込んで、上腕ボーンや大腿ボーンと連動して自動的に動くようにします。

・Copy Rotation の Influence
たとえば、Influence を 0.1 にすれば、上腕が 90度動いたときに 9度だけ動くことになります。

・ボーンの位置と長さ
本物の人体と違ってボーンを体の中に納める必要があるわけじゃないので、好きなところにボーンを配置できます。
また、長くすれば大きく動きますし、短ければ小さく動きます。

・Roll 値
Armature の Eidt Mode のメニュー Armature→Bone Roll でセットしたりリセットしたり、もしくは、Armature→Transform Properties で出るパネルで表示・設定できる Roll 値のことです。
この値はそれぞれのボーンのローカル座標の向きを決めるものです。普通なら上腕を前に回転させれば補助ボーンも前に回転する、というようになるわけですが、Roll 値をいじると前のとき下に、下のとき後ろに、というように回転軸をずらすことができます。

以上の Influence、位置・長さ、Roll 値を組み合わせて補助ボーンがいい感じに動くように調整するわけです。

と、内容的にはこれだけです。
ただ、実際にやってみるとそれなりには大変でした。
上腕は前と下に大きく動きますし、上や後ろにもちょっと動きます。股関節も同様です。そのため、どちら向きに動いてもそれなりにいい結果になるというポイントを探しだすのは簡単ではありません。そもそもそんなポイントは無いってこともあるでしょうし。また、当然ながら頂点の位置も重要になります。けど、頂点の位置を調整すると近くの頂点にも影響を与えたりしてそれらも再調整が必要になったりします。結局、すんなりうまくいくことはめったになく、あれやこれやと調整を繰り返すことになります。ちまちまと調整してると 「ShapeKey 登録して、上腕ボーンでドライブするようにした方が早いんじゃね?」 とか思えてきます(笑)

というわけで、最初に書いたように 「ここまでする意味あるのかなぁ?ここまでしなくてももっと単純な方法でも似たような結果になるんじゃないかなぁ?」 と感じているのが正直なところです。
もちろん、Skinbones という手法を否定するつもりもありませんし、うまくはまれば単純なスキニングよりかなりいい結果が出るんじゃないかとは思ってるんですけどね。
けど、ちょっと調整が大変すぎるかなぁ、と。
正直、次にボーンのセットアップをするときにはこんなにたくさん補助ボーンを入れたりはしないと思いますw

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバックURLはこちら
http://shinichiaoyagi.blog25.fc2.com/tb.php/284-2a5313b2
この記事にトラックバックする(FC2ブログユーザー)