トップ >CG_TIPSメニュー >現ページ

 基礎技術テーマ:アニメーションの基礎 4/キャラクターアニメ2/ボーンの設定   (記事記載:2009年7月17日)
 
 前回の階層構造とインバースキネマティクスに引き続き、今回はボーンの概念とその設定のTIPS。
 
 
①ボーンについて
 
 前回はロボットオブジェクトをモチーフに、階層構造について学びました。
 では、ロボットのようにパーツ毎に構成されるモデルではなくて、人間のように一体となったモデルはどう動かしたら良いのでしょう?
 そのような一体となったオブジェクトを操り人形のように扱うには、オブジェクトに
ボーンを組み込む必要があります。
 "ボーン"とはすなわち、言葉通り"骨"のことです。人間は多数の骨を有しており、その関節によって体の各部を動かすことができます。
 CGのオブジェクトも同様に、内側にボーン(骨)を仕込む事によって動かす事が可能です。では、実際にそのボーンを見てみましょう。
 
  
 
 上記左図は人間のオブジェクトで、右図はそれにボーン組み込んだものです(※通常は脚は大の字にします)。
 中心部(腰の辺り)から頭や手足の指の先まで、合計88個ものボーンで構成されています。
 これらのボーンも、前回学んだように、すべて階層組織になっています。操り人形のように操って、アニメ化するためです。
 このボーンの設定は僕が日常使用している一般的なもので、キャラクターによってはもっと簡易な事もあるし複雑な場合もあります。
 
 

 ②ボーンの設定の仕方
 
 さて、ただボーンをオブジェクトの中に組み込めば、それですべてOKと言うわけにはいきません。設定上のルールが、色々とあります。
 気をつけねばならないならない、基本的ないくつかの設定上のルールを学んでみましょう。

 
 1.モデリング上の注意点
 
 アニメーションを前提にしてオブジェクトをモデリングする場合、
関節が折れ曲がる事を想定してモデリングする必要があります。
 腕を例にして見てみましょう。下記の図は、上から見た"右腕の二の腕から指先まで"のアップ画像です。
 
 
 
 上記の画像を見て分かるように、肘、手首、指等の関節部分のポリゴン数が、他の部分よりも密集している事が分かります。
 何故、関節部分にポリゴン数が多いかと言うと、ポリゴン数が少ないと折り曲げた時に、オブジェクトの形が破綻してしまうからです。
 分かりやすくするため、超シンプルなオブジェクトで例示してみましょう。下記の画像は、ポリゴンが均等に配されたオブジェクトです。
 
 
 
 このオブジェクトを仕込んだボーンで折り曲げると、下の図のようになります。
 
 
 
 関節部の変形の度合いが、著しくおかしな事になっていることにお気づきでしょう。ポキンと折れてしまったかのようです。
 次に、関節部にやや多目のポリゴンを配した例が下の図です。
 
 
 
 関節部の変形が、よりスムーズに変形しているのがお分かりのことと思います。モデリングは、この事を念頭において作業します。
 
 
2.ボーンの影響範囲の設定
 
 続いて大事なのが、
"ボーンがどの範囲まで影響を及ぼすのか"を設定することです。
 (※ちなみに私の使っているライトウェーブでは、この影響範囲のことを"Weight=ウェイト(影響力)"と呼びます)。
 この設定をしないと、予期しない範囲にまで影響が及びます。これもまた、モデリング段階から計画する必要があります。
 影響範囲を設定しないと、人指し指だけにボーンの影響を及ぼしたいのに、中指にまでボーンの効果が及んだりします。
 これを超シンプルな足のモデルで図解してみましょう。
 
  
 
 
 この超シンプルな足のオブジェクトには、ボーンの影響範囲をまったく設定していません。
 この右足を、ボーンを使って上げてみましょう。すると、上記右図のように左脚まで変形してしまいます。
 今度は右脚と左脚にそれぞれ影響範囲(Weight)を設定して、右脚を上げてみましょう。
 
 
 
 上の図を見て分かるように、左脚には影響が及ばず、変形していません。これはボーンの設定で、重要なポイントです。
 モデリングの段階から、きちんと影響範囲の設定を意識しながらオブジェクトを作成しましょう。
 尚、影響範囲(Weight)の設定の方法は、各CGソフトのマニュアルを参照してください。
 
 次に、より細かな影響範囲の設定を学んでみましょう。
 上記で影響範囲について述べましたが、現実には影響の範囲はボーンの境界で100%と0%に分かれる事は無いわけです。
 
 
境界のはっきりした影響範囲の例を色で表示
 
 例えば、関節は曲げた際にその関節部分だけでなく、離れた周辺にまでその影響を微妙に与えます。
 そこで、ボーンの影響範囲を詳細に設定する必要があります。
 
 
 
 上図は、ライトウェーブの"VertexPaint"と言うプラグインで、ボーンの影響範囲(※BoneWeight)を設定しているところです。
 影響範囲(Weight)の境界がくっきりと分かれず、左右の境い目がグラデーションで溶け込んでいるのが分かります。
 ちなみに下の図は、88個のボーンにすべてにウェイトを設定した画像です…はっきり言って、とても"面倒"な作業です
 
 
 
 尚、影響範囲(BoneWeight)の設定の方法は、それぞれのソフトウェアのマニュアルを参照してください。
 
 
3.ジンバルロック現象の回避
 
 ジンバルロック現象については、このアニメの基礎の2回目でも触れましたが、ある回転方向で回転制御の効かなくなる現象です。
 これを回避するために、関節にもう一つ余分にボーンを設定することがあります。先ほどの腕のモデルで、図示してみましょう。
 
 
 
 二の腕から手首まで、通常なら3つのボーンで済みそうなところを、5つのボーンで構成しています。
 関節の二つのそれぞれのボーンに、回転と屈曲の役割を負わせることで、ジンバルロックが回避できます。
 (※私は上記のような設定をしていますが、CGクリエーターの中には少し異なった設定を取る方もおります。念のため)。
 
 
4.筋肉の隆起
 
 最後に、筋肉の隆起についても触れておきましょう。筋肉の隆起を設定しないと、腕が折れ曲がった時に不自然になります。
 (逆に筋肉の隆起があるとおかしな部分…たとえば背中や頭など…もあるので、部所毎の異なる設定が必要です)。
 自分の腕の肘を曲げてみると分かると思いますが、二の腕の力こぶ等が隆起するはずです。
 下の図は、それぞれ筋肉の隆起を設定しなかった場合(左図)と、設定した場合(右図)の違いを表したものです。
 
 
 
 
 さて、ここまでの、ボーン設定の各種基礎を踏まえて作ったのが、下記の"上から見た腕"のアニメーションです。
 
 
 
 以上、ボーンとボーンウェイトを使ったアニメーションのTIPSでした。