ジョイントとは?ボーンとは?

RokDeBone2では、アニメーションに、ボーンアニメーション方式を使用しています。
ボーンとは、骨のことです。
骨の関節を回転、移動することにより、その周りについている、肉の部分を変形させる、という方法です。

データ的には、ボーンは線、肉はモデルデータの面の頂点ということになります。

RokDeBone2での、ボーンの様子を見てみましょう。


左のウインドウが、階層構造エディタで、右のウインドウが、3D表示をするメインウインドウです。

まず、右のメインウインドウを見てください。
丸のスプライトと、丸と丸の間に書かれた緑の線が見えますね。

丸のスプライトは、ジョイントと呼びます。
これは、骨の関節に当たるものです。
図では、「右手end」、「右手」、「右肘」、「右肩」がそれぞれ、ジョイントです。
ジョイントを中心にして、骨が回転します。

緑の線をボーンと呼びます。
ボーンは、ジョイントとジョイントを結ぶ線で表されることになります。
線は、親子関係を表しています。
緑の線のふくらんでいる側が親、とがっている方が子供になります。


親子関係が、何を意味するかというと、
モーションの伝わり方を制御するためのものです。

親が動くと、その子供も一緒に動くが、
子供が動いても、その親は動かない
というのが基本です。
(IKでは、子供から親へ動きが伝わりますが、これは、特殊な処理と考えてください。)

自分の体で考えてみましょう。
指を動かしても手首は動きませんが、手首を動かすと、指も一緒に動きますね。
このことです。
指が子供で、手首が親、ということになります。



図を見ると、「右手end」の親は「右手」で、「右手」の親は「右肘」で、「右肘」の親は、「右肩」、というようになっています。
子供を持たないジョイントは、エンドジョイントと呼ばれます。
親子関係の全く設定されていないジョイントは、モーションによって、動くことが出来ません。
モーションを作るには、必ず、ジョイントに、親子関係(ボーン)を作ることが必要です。


親子関係を階層構造エディタで見ると、子供は、親のジョイントの下にちょっと右にずれるようにして、表示されます。


RokDeBone2では、親子関係は、階層構造エディタの文字をドラッグすることで、設定します。
子供にしたいジョイント名を、親にしたいジョイント名に、マウスでドラッグすれば、親子関係が、作られます。


!!! 注意 !!!
ジョイントとは関節で、ボーンは関節同士を結ぶ線だ、ということをおわかりいただけたかと思います。
RokDeBone2の説明では、両者の違いをあいまいに記述している箇所が多くあります。
例えば、ボーンをドラッグしてください、と書いてあるところは、
実際には、ジョイントの丸印をドラッグすることを意味していたりしますので、ご注意ください。


階層構造エディタに表示されているのは、ジョイントの名前です。
ボーンの名前をどうやって呼ぶかというと、
親子関係の内、子供の方のジョイントの名前をそのボーンの名前として呼びます。
これは、ひとつの親に対して、複数の子供が存在することはあるが、
一つの子供に対して、複数の親が存在することは無い、というデータ構造から、そうしています。
つまり、子供の名前を言えば、その親は常に1つであるため、固有のボーンを指定することが出来るというわけです。

「右手ボーン」というときは、
「右手」を子供、「右肘」を親とする線を指すことになります。


RokDeBone2のページに戻る

トップページに戻る