Poserのインバースキネマティクス。手やつま先が固定されて、ほかのパーツを動かしてもつられて動かなくなる、アレだ。
私にとっては、ポージングをするのにかかせない機能となっているのだが、手首の角度が固定されたままなので、いまいち使いづらい。今回はその、使いづらい点をちょっとだけ改善する方法を覚書したい。
まず、下の動画を見てもらおう。
▲モデルは、 Aiko4 。
ドラッグ操作で手首を移動させると、手首の方向がいい具合に変わるのがわかってもらえるだろうか。
カラクリとしては、「手」の先にもう一つボーンを追加し、IKの構造を「肩→上腕→前腕→手→ハンドル」の五階層に改造し、「ハンドル」部分をドラッグしているのだ。ハンドル部分は見えないと操作しづらいので、適当な球を割り当ててある。
では、さっそくやり方。まずはざっっくりした流れを書いておこう。
こんな感じ。これだけでやり方がわかる人は、以下をすっ飛ばして自力でやった方が早いかもしれない。
フィギュアをシーン内に呼びだす。今回は、Victoria4で試してみよう。
▲ Victoria4 を呼び出した。
このとき、服や髪は着用させない。ボーン設定が終わってから着用させよう。
フィギュアを選択状態にして、Setupルームを開く。まずは、手の先にボーンを追加するのだ。
「Setup」タブをクリックしたときにこんなメッセージが出るが、気にせずにOKをクリック。
「このフィギュアはモーフターゲットを含んでいます。セットアップルームでグループの再設定を行うと、使用不能になるモーフターゲットもあるかも知れません」というような意味だ。
▲Setupルーム
ワークスペース上部のパーツ表示プルダウンをクリックし、右手(Right Hand)を選択。
▲これで、「右手のボーン」が選択状態になる。
作業しやすい位置にカメラ位置を調整
「右手のボーン」(右手から突き出している、大きめの三角だ!)の先端から少しだけ離れた場所でドラッグ
すると新しいボーンが右手の子として追加される。右手ボーンの先端をドラッグすると、「右手ボーンの位置変更」という操作になってしまうので注意しよう。(マウスカーソルが◎になっているときは、既存ボーンの端点を移動という操作になる)
制御用のボーンなので、あまり長くしない方がいい。というか、短くしておかないと操作感がおかしくなると思う。
デフォルトだと「bone_1」という名前なので、名前を変更しておこう。
プロパティ/特性パレットの「Property」タブを開く。
InternalNameとNameをクリックし、それぞれHandle_Rに変更。この名前はわかりやすければ別の名前を好きに付けていい。これで、右ハンドルのボーン追加は完了。
同様に左手(lHand)の先にもハンドルを追加する。
画面上部のPoseタブをクリックして、Poseルームに戻る。
ちなみに、Setupルーム→Poseルームの移動を繰り返していると、経験上、イキナリPoserが強制終了してしまいがちなので、念のため保存しておこう。まあ、やり直したとしてもさほど大変な作業ではないのだが。
さて、ハンドルがボーンだけの状態だとドラッグ操作がやりにくいので、適当なポリゴンを割り当てよう。モデリングソフトをわざわざ使うのも面倒なので、Poserのプリミティブ球で代用することにしよう。
小道具→Primitvesから球を呼びだす。
別に球じゃなくても、好きな形状を選んでOKだ。
球をフィギュアの右手の付近に移動させる。
ドラッグして移動させてもいいし、パラメータを操作して移動させてもいい。とにかく手のあたりに持ってこよう。
画面上部のメニューから「編集」→「Duplicate](複製)を選択
重なっててよくわからないが、これで球がもう一つ複製されている。名前はball_2になっているはずだ。
複製した球のxTranのマイナスを反転する。
「マイナスを反転する」でいいんだろうか。上の例だと、xTranの値が-2.771だったので、2.771に変更する。
▲ドラえもん・・・?
続いて、この球をハンドルに割り当てよう。
右手のところにある球の名前を確認する。名前を確認するには、Poser8以降なら、球を右クリックしてSelectを選択すると確認できる。それ以前のバージョンの場合は、球を選択状態にすれば、画面上部の選択中パーツの欄に表示される。
とにかく、右手のとこにある球はball_1って名前なんだなということがわかった。こいつをHandle_Rに割り当てるのだ。
Handle_Rを選択
現時点でのHandle_Rはポリゴンを割り当ててないので、クリックで選択することはできない。メニューからHandle_Rを探し出して選択状態にしよう。
画面上部のメニュー「Replace Body Part with Prop」を選択
オブジェクト選択ウインドウが表示されるので、▼をクリックしてball_1を選択
▲Noteには、「このアクションはアンドゥできません」と書いてある。
これで、Handle_Rに、球が割り当てられる。ただ、このままだと手の部分に球が完全にカブッてしまって見にくいので、球をワイヤーフレーム表示にしよう。
球(Handle_R)を選択状態にして、画面上部のDisplay→Element→WireFrameを選択
これで球の部分が透けて見えるようになった。
同様に左手側も作業を行う。その結果がこれだ。
▲両手ともに見やすくなった
続いて、IKの設定。具体的には肩→上腕→前腕→手という現在の構造に、さらにハンドル部分追加して、五階層にする。
画面上部のメニューから、Window→Hierarchy Editor(階層エディタ)を開く
階層エディタが開くので、「parts」にのみチェックがついた状態にする。
IK設定はドラッグ&ドロップで行うので、余計な情報が表示されていると操作がしにくいからパーツのみ表示しておくわけだ。マグネットなどの情報が減って、だいぶ見やすくなったと思う。
さらに、Headなど、階層の深いパーツは▼マークをクリックして折りたたんでおこう。
階層のなかから「Handle_R」を探しだし、IK ChainsのRightArmにドラッグ&ドロップ
下のメッセージが表示されるが、かまわずOKをクリック
▲この操作はアンドゥできません。続けますか?というような意味。
この操作がやりにくい場合は、階層の折りたたみなどを行って、なるべくHandle_RとIKのRightArmの距離を近くしておくといいだろう。というか、きっとやりにくいので、不要な階層は全部折りたたんでおこう。
▲IKの階層にHandle_Rが加わった。
これで右手のIKの設定は完了。
左手も同様に、Handle_LをIKのLeftArmにドラッグ&ドロップしよう。
これでいちおう、球をドラッグして手のポージングができるはずだ。やってみよう。
よくみると、腕の位置によっては、指が変形していると思う。
▲メシャァッ
これは、ボーン追加時に、ハンドルパーツが手を変形させる設定が自動で設定されてしまっているためだ。最後にこの部分を直そう。作業にはCR2Builderを使う。メモ帳やテキストエディタでもやれないことはないが、まあ、素直にCR2Builderを使おう。
まず、ボーンを追加した現在のフィギュアをライブラリに登録しよう。
フィギュアを選択状態にして、ライブラリのFiguresフォルダの保存したいフォルダを開く
ライブラリ下部の右側の「+」をクリック
ウインドウが表示されるので、適当な名前(ここでは、V4_NewIKとした)を入力し、OKをクリック。
これで、フィギュアがライブラリに登録された。
次に、登録されたフィギュアをCR2Builderで登録する。CR2Builderは3 Minutes Poserでダウンロードしてきてほしい。バージョンは、とりあえ最新版を使っておけばいいと思う。
CR2Builderを起動し、「Open」をクリック。
Openボタンは二つあるので注意しよう。また、Vista以降では「管理者権限で実行」する必要があるかも知れない。Runtimeフォルダはデフォルトだと、Poserインストールフォルダの下にある。Poser8以降は、インストール時の選択によっては共有フォルダにあるかも知れない。
Runtimeフォルダ\character以下から、先ほどPoserで保存したフィギュア名+.cr2ファイルを探し、「開く」をクリック。
しばらく時間がかかり、ファイルが読み込まれる。
▲読み込まれた。10秒ほどかかる。
rHand(右手)から修正していこう。
目で見ながら、「actor rHand」を探す。(ファイル内に、actor rHandは二回出てくる。二回目に出てくるほうを開こう)
見つかったら、+をクリックして階層を「開く」
さらに「Channels」を開く
様々なジョイントパラメータ?のなかに、Handle_Rと名前がついているものをクリックして、Deleteキーを押す。
Deleteには少々時間がかかるので、イラついてDeleteを連打したりしないように気をつけよう。
ひとつづつ消してもいいし、一番上をクリックしたあと、最後のをShift+クリックして一気に選択・削除してもOKだ。
終わったら左手(lHand)にも同様の作業をしよう。
作業が完了したら、Save Asで保存。保存にも時間がかかるので落ち着いて待とう。画面下部に「Done」と出れば完了だ。
さて、Poserに戻って、ライブラリから先ほどのフィギュアを呼び出してみよう。
おっと、動かす前に、「可動域の制限」をオンにしておこう。
画面上部メニュー「Figure」→「Use Limites」を選択して、Use Limitesの左にチェックマークをつける。
これで、ハンドル(球)をドラッグすると、このページの一番上の動画のように、いい感じに腕のポージングができると思う。必要なら、足のIKにも同様の仕組みを組み込むといいだろう。
とりあえず、ハンドルを一発で選択状態にできるスクリプトがほしい気はする。
もうちょっと使い込んで、場合によってはさらに改良することにして、今回の覚書を終わる。
関連:
Aiko 4 Baseフィギュア
定番女性Poserフィギュア Victoria4.2紹介
Victoria4 紹介