スケルトン 基本

公開:200304017


ボーン作成〜スキニングまでのチュートリアルです。マニュアルとは違う方法で。realsoftは何種類かの方法(大きくわけて二種類)のスキニングが出来ます。一つはLatticeMapもう一つはBindTool。後者は将来的にはメインになりそうですが現時点ではまだ問題ありそうな感じです。

今回はLatticeMapのPointwiseを使った方法でやってみます。

 

簡単の為に体と腕だけのモデルを用意します。
左からのビューにしてまずは背骨を。基本的にはマニュアルの方法と同じです。ちなみに最初にのばした方向がローカルのX軸になります。スケルトンはresetやnormalizeがちゃんと効かないのである程度意識しておく必要があります。
くみ終わったら角度のコンストレイントを設定。赤青緑のハンドルで表示されてるのがそうです。画面上で直接設定も出来ますが、ちょっと摘みにくいのでプロパティウインドウの方でやってもOK
同様に腕も作ります。スケルトン単位でしかウエイト調整できないので、肩や腕は別のスケルトンにした方が良いです。

ここでジョイント単位の設定をしておきます。

Rigid:ジョイントの角度がIKで変化しなくなる。fkで直に曲げることは可能。

head,tail:realのIKはデフォで親方向、子方向のどちらにも働くので、ikの流れを止めたいところで設定してやります。

anchor:これを設定するとそのジョイントはIKで動かなくなります。普通は肩や腰などに設定しますが、足首を固定して屈伸させたりとかも可能。親子どちらにも機能するrealのIKならではの機能って感じですな。

Attach:ルートジョイントを親の一番近いジョイントに接続します。詳しくは後述

設定が終わったら図のように親子関係を設定。子を親にドラッグ&ドロップしてやるだけです。この後アタッチして初めてスケルトンとしての親子関係が設定されます。

反対側の腕もミラーコピーしたいときはマニュアル読んでください。

プロパティの説明

IK Parents:親方向にどこまでIKを働かせるかを決めます。この場合2個親まで効くので、ude2を動かした場合、kataまではIKが効きますが、seboneには効きません。

Parent Joint:親のどのジョイントにアタッチされてるかを表してます。

Displacement:親との相対位置です。アタッチした時点で設定されます。一度設定されるとジョイントを動かしても反映されないのでスケルトンの位置決めはアタッチする前に設定しておかないとまずいです。改善して欲しい所ですな。

interpolation:オイラー角かクオータニオンの切り替えが出来ます。カーブで編集するならオイラー、ikだけでぐりぐりやるならクオータニオンじゃないと厳しいかな。まあ好きな方で。

 

次はスキニングです。

まず本体のオブジェクト、次にスケルトンを選択してから図のようにPointwiseでマッピングします。残りのボーンも同様に。

ホントはMap Volume→Multi Map一発ってのがエレガントなんですが現状ではPointwise以外の方法だとペイントでウエイト調整できません。次のバージョンに期待と言うことで(´ー`)y-~~

あとジョイントを選択しておくとスケルトン全体じゃなくてジョイントに直接マッピングすることが出来るので、帽子とかをobjectで頭の先っぽにマッピングしてやると変形せずについてこさせることが出来ます。別のスケルトンを用意してもいいんですが。

とりあえずボーンを動かしてみると本体も動くと思います。でも現時点では意図した物とは違う動きをするはず。

そこで次はウエイトを調整してやります。

本体を選んでからvertexPaintを選択。メニューから設定したいスケルトンを選びます。

まずは背骨から。

白は1,黒は0です。

同様に残りのスケルトンも全部設定します。

kata

油断すると後ろまで塗ってしまいます。

ude1

右上の変なのはライトです。無いと白の部分がグレーに見えるので。まあべつに無くてもいいです。

ude2

今回は適当にやってますが、実際のウエイト調整は他のソフトの本とか見れば詳しく載ってるんじゃないかと。お肉の流れとかを意識しながらうまく設定しましょう。脇が食い込んだりするのはウエイト調整だけで回避できるはず。力こぶとかはまた別の方法でやるんですがその辺はまたの機会に。

完成です。うにうに動かしてあそぶにょろ〜(((((°Д°)

 

現状での問題点。

指先まであるような複雑なスケルトンを組んだりすると たまに挙動がおかしくなる。またIKの精度が悪いのか関係ない部分が動いたりする。undoも効いたり効かなかったり。アタッチするときの位置が変だと動かしたときに飛び跳ねたりする。その他ぁゃιぃ動作満載w

一度スキニングするとオブジェクトの編集が出来なくなるので モデルの頂点などをいじりたい場合、マッピングを はずす必要があるが、そうするとウエイト情報も消えてしまうんですよね。

複雑な物を組む場合、ウエイトの保存、読み込みさらに ミラーコピーは必須だと思うんですが、スクリプトで組もうとすると ウエイトの書き込みは出来ても読み出しは出来ないようです。SP1で治るとか言ってたんだけどなあ(´ー`)y-~~

バインドツールのウエイト値ならOKなんですが、ペイントで調整できないし割と八方塞がり。現状ではシンプルな物じゃないと難しいです。

まあchorepgraphyが結構便利なので、現状でも色々出来ますしrelasoftのキャラクターアニメはこれからって感じなので気楽に遊んでみるのが良いかと。あと静止画の為のポージングなら現状で十分じゃないかと思いますが。

その他なんか変なトコとかあればご連絡下さいませ〜

 





(C) 1997-2003 KasiwagiKazuhiro/Limit Cycle All Rights Reserved.