IKを使ったポーズ付け
Category : DAZ Studio 4
GenesisフィギュアとDAZ Studio 4(以下DS4)が登場したものの、Genesisフィギュアに対応したコンテンツは非常に少なく、まだ本来のポテンシャルを発揮できない状態にあります。
結構困るのが、フィギュアへのポーズ付けです。DS4にGenesisフィギュア用のポーズプリセットが女性ポーズ20種、男性ポーズ19種、子供ポーズ15種付属していますが、それだけでは足りません。V4用のポーズプリセットをGenesisフィギュアへ適用する場合も、一見うまくいった様に見えても、脚・足首の角度や頭の向き、手の親指の軸などかなり違いが出ます。一番の問題点はAbdomen 2やPelvisなどのボーンが増えたことです。ボーンが増えたということは曲がる箇所が増えたということで、より柔軟なポーズを付けられるようになったものの、前述のようにV4との互換性は失われていますし、単純に制御点が増えたことにより作業量が増加しています。
そこで必要になってくるのが、ユーザーの手によってポーズを付けるということです。しかもなるべく直感的で作業工程の少ない方法でないと難しいです。幸いDSはポーズ付けのための多彩な機能が揃っていますし、特に優秀なIK(インバース・キネマティクス)制御が組み込まれています。今回はIKを使ってGenesisフィギュアにポーズを付けてみます。

■IKとFK
Sceneタブでフィギュアを見てもらうと分かるのですが、フィギュアには多数のボーン(骨)が階層構造で組み込まれています(リグ)。これらのボーンが移動・回転・拡縮されることで、それぞれに関連付けられた皮膚などのメッシュが追従するのが、フィギュアが様々なポーズを取れたり、アニメーションできたりする原理です。
※この記事に掲載している画面写真の中で、フィギュアにかぶさって表示されているひし形の物体がボーンです。
フィギュアにポーズを付ける方法としてPoserで一般的なのが、体の右脚などの各ノード(ボーンもノード要素の一つになります)を選択し、Rotation(回転)のパラメータを調整するやり方です。この時、右脚の子ノードである右すねは右脚の動きに追従します。つまりはノードの回転を親から子へ一つ一つ設定していく方法で、これはFK(フォワード・キネマティクス)と呼ばれます。親ノードの変化が子ノードへ受け継がれるための名称です。
一方、子ノードを移動ツールで操作し、それによって親ノードの変化をもたらすのがIK(インバース・キネマティクス)です。
例を挙げますと、以下の2つの操作はだいたい同じポーズになりますが、ポーズの付け方が全然違います。それがFKとIKの違いです。
<FK>
Left ThighのBend(X Rot)を-60、Left ShinのBend(X Rot)を120にする
<IK>
Left Footをワールド座標系でY軸方向へ45cm持ち上げる
■DSでのIK操作
DSでのIKには次のような特徴があります。
・体のどのノードをIK操作しても、適切な範囲のノードが連動する。
・IK操作中も各ノードの可動限界範囲(Limit)が守られる。
・IK操作をした場合でも、アニメーション・キーは各ノードのRotationに打たれる。
・IKを有効にしたままでも、ピンを打たない限り、ノードの位置が固定されることはない。
DSでは手首をIK操作すると、その肩から手首までが自然なポーズを取るように動きます。同様に足首をIK操作するとももからが、頭をIK操作すると腹からが、というようにIK操作が影響する範囲が適切に設定されているのです。同時に各ノードには可動限界範囲(Limit)が設定されており、人体構造的に無理なポーズを取ろうとするとリミットが掛かるようになっていますが、IK操作中もそれが守られます。
位置の固定にはピンを打つという操作が必要なため、Poserとは違い、DSではIKを有効にしたままでも足が地面から離れないといった混乱は生じません。
では実際にDSでIK操作をする時はどうすればいいのかを見ていきます。
ズバリ言うとユニバーサル・ツール(Universal Manipulation Tool)を使います。すでに起動時の初期ツールがそれになっていますが、このツールアイコン
をクリックすると使えるようになります。DS4からは従来の操作ツールも見直されましたので移動(Translate)ツールでもいいのですが、ここではユニバーサル・ツールを使っていきます。
この状態で次のどちらかの操作をして下さい。
(1)ノードを選択時に表示されるギズモで移動操作する

(2)選択されていないノードをドラッグする

その際に重要なのが座標系で、これはTool Settingsタブで設定できます(ユニバーサル・ツール及び座標系の詳細はこの記事をご参照下さい)。基本的にワールド座標系かオブジェクト座標系(フィギュアのルートに回転が入っている場合)で操作しますが、(2)の方法で操作すると強制的にスクリーン座標系で動きます。
座標系が適切なら、Perspectiveビューの1画面だけでどこから見ても破綻の無いポーズを付ける事が可能です。上の画像の例では、マウスの動きはほぼ同じですが、(1)はワールド座標系のXY平面上で移動させているのに対し、(2)はスクリーン座標系で移動させている状態になっているため、3D空間上の足首の位置は違います。ひざの曲がり方に注目して下さい。
フィギュアによっては、(1)の方法で足首のIK操作をすると足首が関節を無視して離れてしまう場合があります。Miki2やMichael3でもそうなってしまいます。

これは実は正常な動作で、そのノードの移動(Translate)が許可されているので動いただけです。PoserではDSとは違い常にIKターゲットを使ってIK操作をするので、問題になることのない部分でした。Genesisフィギュアなどで直接足首などを動かしてIK操作ができるのは、DSではTranslateパラメータが全て非表示(Hidden)になっているノードはIK操作が有効になるという仕様があるためのようです。裏技みたいな仕様ですが。
なので上の画像のようになってしまうフィギュアの場合は、次のようにして下さい。
Parametersタブを開き、サイドメニューのTransformsをクリックします。そしてxtran、ytran、ztranそれぞれのパラメータの右上の歯車アイコンをクリックしてHidden > Hideを実行して下さい。もちろん、足首の位置は元に戻しておいて下さいね。

※DS3の場合はパラメータ名をダブルクリックして設定ウィンドウを表示して下さい。
もう一つIK操作で重要なのが、ピン(Pin)を打つということです。ノード選択時に表示される右上のダルマ型画びょうアイコンをクリックすると出現するメニューで実行します。

Pin Translationをするとノードの位置が固定され、Pin Rotationをするとノードの回転が固定されます。これはオブジェクト座標系での固定ですので、ローカル座標系での数値(ノードの各回転パラメータ)が変動しても、フィギュアのルートを移動させない限り、見た目上は固定されているようになっています。
■Morphformsの扱い
フィギュアのポーズを付ける方法の一つに、Morphforms(DAZの造語かな?)というのがあります。V4にもあったものですが、モーフのように1つのパラメータを操作すると関連付けられた複数のボーンの回転が発生するというものです。例えば、GenesisフィギュアのWaist BendというパラメータはAbdomen、Abdomen 2、ChestのBendパラメータを適度な割合で動かします。

関節が増えたGenesisフィギュアでは、その有用性は増したと言えるでしょう。それに加えGenesisフィギュアには手首に、何かを握ったり(Grasp)、グーにしたり(Fist)するMorphformsが搭載されており、指のポーズを付けるのに活躍してくれます。
GenesisフィギュアのMorphformsを操作するには、フィギュアのルートや手首などを選択して、PosingタブのEditorページかParametersタブを開き、ナビゲーションメニューをPose Controlsにします。選択箇所によって操作できるMorphformsは違います。
ただし、Morphformsを使う上で以下のような注意点があります。
(1)MorphformsはMorphに分類される。
(2)Morphformsを使ってポーズを付けた後に対象のノードをIK操作すると、2倍の回転が発生する。
(1)については、ポーズプリセットの保存時に注意が必要です。TransformだけではなくMorphも保存しなければいけません。また、Morphformsで動かした分の回転パラメータも該当ノードに加算されますが、あくまで見た目上だけのようです。
(2)は一度やってもらえば分かると思いますが、IK操作をした瞬間に、Morphformsで回転していた分がさらに上乗せされます。これを修正するにはIK操作をした後にMorphformsのパラメータを0にしてやれば大丈夫です。
また、DS4には『Morphforms to Transforms』というスクリプトが付属しており、Morphformsで動かした分を各ノードの回転パラメータに変換することができます。しかしこれはV4フィギュアでは動作するものの、現在Genesisフィギュアでは正常に動作しないみたいです。Genesisフィギュアでは今のところ上の(2)の誤動作を利用して一つ一つ変換するしかないと思われます。
■ケーススタディ1:椅子に座らせる
ここでは実際にIK操作を使ったフィギュアへのポーズ付けを手順を踏んでやってみます。今回は椅子に座っているポーズを作ってみましょう。
Genesisフィギュアが女性タイプになっているのは製作意欲向上のため…だけではなく、一応女性向けポーズを作っているからです。体型が変化すると手が胴体にめり込んだりしますからね。
何度も行うことになるフィギュアのノードの選択には、Sceneタブを使うのが確実です。特にGenesisフィギュアではビューポートでHipを選択しようとするとPelvisが選択されてしまうのでご注意下さい。
また、ユニバーサル・ツールの座標系は特に書いていない限りワールドにしています。
ノードの回転パラメータを操作する時は、座標系をローカルに変更してギズモ操作をするか、PosingタブのEditorページか、Parametersタブを使って下さい。パラメータ表示の背景色が回転軸に対応しています(X:赤、Y:緑、Z:青)。
ビューポートのスクリーンショットにおいて赤い矢印がIK操作で緑の矢印がFK操作になります。
シーンにGenesisフィギュアと適当な椅子(小道具)を読み込みます。
椅子が無い場合はメインメニューから Create > New Primitive を実行して各辺0.5mのCubeを作成して椅子の代わりにして下さい。

HipをZ軸方向へ移動して、椅子の前までフィギュアを出します。

Left FootのTransとRotにピンを打ちます。Right Footにも同じようにして下さい。

HipをYZ平面で移動させて、お尻を椅子の上へ持っていきます。今回は深く座らせました。足首にピンが打ってあるため、自然と膝が曲がります。

リラックスした感じにするために腰を少しのけぞらせましょう。HipのxRotateパラメータを-方向へ操作します。

今度は胸だけを少し前へ倒します。ChestのBendパラメータを+方向へ操作します。

今度は手をももの上へ乗せます。Left Handを移動してください。まずXY平面で腰のあたりまで持っていき、Z軸方向へさらに移動させるのがやりやすいかと思います。同様にしてRight Handも移動して下さい。

足首に打ったピンを取り除きます。ユニバーサル・ツールの画びょうメニューから「Unpin All」を実行して下さい。

よく見ると足が椅子に埋まっていますので、ちょっとかかとを持ち上げましょう。左足のつま先(Left Toes)のTransとRotにピンを打ち、Left FootをY軸方向へ少しだけ持ち上げます。右足側も同様にした後、ピンを取り除いて下さい。

最後に手の指にもポーズを付けます。
まずLeftForeArmとLeft HandのTwistパラメータを操作して、手の甲を上へ向けます。

そしてLeft HandのMorphformsを操作して少し指を丸めた感じにします。


右手も同様にします。改めて見ると指がももに埋まってしまっていましたので、位置の微調整もしました。

これで完成です。

結構困るのが、フィギュアへのポーズ付けです。DS4にGenesisフィギュア用のポーズプリセットが女性ポーズ20種、男性ポーズ19種、子供ポーズ15種付属していますが、それだけでは足りません。V4用のポーズプリセットをGenesisフィギュアへ適用する場合も、一見うまくいった様に見えても、脚・足首の角度や頭の向き、手の親指の軸などかなり違いが出ます。一番の問題点はAbdomen 2やPelvisなどのボーンが増えたことです。ボーンが増えたということは曲がる箇所が増えたということで、より柔軟なポーズを付けられるようになったものの、前述のようにV4との互換性は失われていますし、単純に制御点が増えたことにより作業量が増加しています。
そこで必要になってくるのが、ユーザーの手によってポーズを付けるということです。しかもなるべく直感的で作業工程の少ない方法でないと難しいです。幸いDSはポーズ付けのための多彩な機能が揃っていますし、特に優秀なIK(インバース・キネマティクス)制御が組み込まれています。今回はIKを使ってGenesisフィギュアにポーズを付けてみます。

■IKとFK
Sceneタブでフィギュアを見てもらうと分かるのですが、フィギュアには多数のボーン(骨)が階層構造で組み込まれています(リグ)。これらのボーンが移動・回転・拡縮されることで、それぞれに関連付けられた皮膚などのメッシュが追従するのが、フィギュアが様々なポーズを取れたり、アニメーションできたりする原理です。
※この記事に掲載している画面写真の中で、フィギュアにかぶさって表示されているひし形の物体がボーンです。
フィギュアにポーズを付ける方法としてPoserで一般的なのが、体の右脚などの各ノード(ボーンもノード要素の一つになります)を選択し、Rotation(回転)のパラメータを調整するやり方です。この時、右脚の子ノードである右すねは右脚の動きに追従します。つまりはノードの回転を親から子へ一つ一つ設定していく方法で、これはFK(フォワード・キネマティクス)と呼ばれます。親ノードの変化が子ノードへ受け継がれるための名称です。
一方、子ノードを移動ツールで操作し、それによって親ノードの変化をもたらすのがIK(インバース・キネマティクス)です。
例を挙げますと、以下の2つの操作はだいたい同じポーズになりますが、ポーズの付け方が全然違います。それがFKとIKの違いです。
<FK>
Left ThighのBend(X Rot)を-60、Left ShinのBend(X Rot)を120にする
<IK>
Left Footをワールド座標系でY軸方向へ45cm持ち上げる
■DSでのIK操作
DSでのIKには次のような特徴があります。
・体のどのノードをIK操作しても、適切な範囲のノードが連動する。
・IK操作中も各ノードの可動限界範囲(Limit)が守られる。
・IK操作をした場合でも、アニメーション・キーは各ノードのRotationに打たれる。
・IKを有効にしたままでも、ピンを打たない限り、ノードの位置が固定されることはない。
DSでは手首をIK操作すると、その肩から手首までが自然なポーズを取るように動きます。同様に足首をIK操作するとももからが、頭をIK操作すると腹からが、というようにIK操作が影響する範囲が適切に設定されているのです。同時に各ノードには可動限界範囲(Limit)が設定されており、人体構造的に無理なポーズを取ろうとするとリミットが掛かるようになっていますが、IK操作中もそれが守られます。
位置の固定にはピンを打つという操作が必要なため、Poserとは違い、DSではIKを有効にしたままでも足が地面から離れないといった混乱は生じません。
では実際にDSでIK操作をする時はどうすればいいのかを見ていきます。
ズバリ言うとユニバーサル・ツール(Universal Manipulation Tool)を使います。すでに起動時の初期ツールがそれになっていますが、このツールアイコン

この状態で次のどちらかの操作をして下さい。
(1)ノードを選択時に表示されるギズモで移動操作する

(2)選択されていないノードをドラッグする

その際に重要なのが座標系で、これはTool Settingsタブで設定できます(ユニバーサル・ツール及び座標系の詳細はこの記事をご参照下さい)。基本的にワールド座標系かオブジェクト座標系(フィギュアのルートに回転が入っている場合)で操作しますが、(2)の方法で操作すると強制的にスクリーン座標系で動きます。
座標系が適切なら、Perspectiveビューの1画面だけでどこから見ても破綻の無いポーズを付ける事が可能です。上の画像の例では、マウスの動きはほぼ同じですが、(1)はワールド座標系のXY平面上で移動させているのに対し、(2)はスクリーン座標系で移動させている状態になっているため、3D空間上の足首の位置は違います。ひざの曲がり方に注目して下さい。
フィギュアによっては、(1)の方法で足首のIK操作をすると足首が関節を無視して離れてしまう場合があります。Miki2やMichael3でもそうなってしまいます。

これは実は正常な動作で、そのノードの移動(Translate)が許可されているので動いただけです。PoserではDSとは違い常にIKターゲットを使ってIK操作をするので、問題になることのない部分でした。Genesisフィギュアなどで直接足首などを動かしてIK操作ができるのは、DSではTranslateパラメータが全て非表示(Hidden)になっているノードはIK操作が有効になるという仕様があるためのようです。裏技みたいな仕様ですが。
なので上の画像のようになってしまうフィギュアの場合は、次のようにして下さい。
Parametersタブを開き、サイドメニューのTransformsをクリックします。そしてxtran、ytran、ztranそれぞれのパラメータの右上の歯車アイコンをクリックしてHidden > Hideを実行して下さい。もちろん、足首の位置は元に戻しておいて下さいね。

※DS3の場合はパラメータ名をダブルクリックして設定ウィンドウを表示して下さい。
もう一つIK操作で重要なのが、ピン(Pin)を打つということです。ノード選択時に表示される右上のダルマ型画びょうアイコンをクリックすると出現するメニューで実行します。

Pin Translationをするとノードの位置が固定され、Pin Rotationをするとノードの回転が固定されます。これはオブジェクト座標系での固定ですので、ローカル座標系での数値(ノードの各回転パラメータ)が変動しても、フィギュアのルートを移動させない限り、見た目上は固定されているようになっています。
■Morphformsの扱い
フィギュアのポーズを付ける方法の一つに、Morphforms(DAZの造語かな?)というのがあります。V4にもあったものですが、モーフのように1つのパラメータを操作すると関連付けられた複数のボーンの回転が発生するというものです。例えば、GenesisフィギュアのWaist BendというパラメータはAbdomen、Abdomen 2、ChestのBendパラメータを適度な割合で動かします。

関節が増えたGenesisフィギュアでは、その有用性は増したと言えるでしょう。それに加えGenesisフィギュアには手首に、何かを握ったり(Grasp)、グーにしたり(Fist)するMorphformsが搭載されており、指のポーズを付けるのに活躍してくれます。
GenesisフィギュアのMorphformsを操作するには、フィギュアのルートや手首などを選択して、PosingタブのEditorページかParametersタブを開き、ナビゲーションメニューをPose Controlsにします。選択箇所によって操作できるMorphformsは違います。
ただし、Morphformsを使う上で以下のような注意点があります。
(1)MorphformsはMorphに分類される。
(2)Morphformsを使ってポーズを付けた後に対象のノードをIK操作すると、2倍の回転が発生する。
(1)については、ポーズプリセットの保存時に注意が必要です。TransformだけではなくMorphも保存しなければいけません。また、Morphformsで動かした分の回転パラメータも該当ノードに加算されますが、あくまで見た目上だけのようです。
(2)は一度やってもらえば分かると思いますが、IK操作をした瞬間に、Morphformsで回転していた分がさらに上乗せされます。これを修正するにはIK操作をした後にMorphformsのパラメータを0にしてやれば大丈夫です。
また、DS4には『Morphforms to Transforms』というスクリプトが付属しており、Morphformsで動かした分を各ノードの回転パラメータに変換することができます。しかしこれはV4フィギュアでは動作するものの、現在Genesisフィギュアでは正常に動作しないみたいです。Genesisフィギュアでは今のところ上の(2)の誤動作を利用して一つ一つ変換するしかないと思われます。
■ケーススタディ1:椅子に座らせる
ここでは実際にIK操作を使ったフィギュアへのポーズ付けを手順を踏んでやってみます。今回は椅子に座っているポーズを作ってみましょう。
Genesisフィギュアが女性タイプになっているのは製作意欲向上のため…だけではなく、一応女性向けポーズを作っているからです。体型が変化すると手が胴体にめり込んだりしますからね。
何度も行うことになるフィギュアのノードの選択には、Sceneタブを使うのが確実です。特にGenesisフィギュアではビューポートでHipを選択しようとするとPelvisが選択されてしまうのでご注意下さい。
また、ユニバーサル・ツールの座標系は特に書いていない限りワールドにしています。
ノードの回転パラメータを操作する時は、座標系をローカルに変更してギズモ操作をするか、PosingタブのEditorページか、Parametersタブを使って下さい。パラメータ表示の背景色が回転軸に対応しています(X:赤、Y:緑、Z:青)。
ビューポートのスクリーンショットにおいて赤い矢印がIK操作で緑の矢印がFK操作になります。
シーンにGenesisフィギュアと適当な椅子(小道具)を読み込みます。
椅子が無い場合はメインメニューから Create > New Primitive を実行して各辺0.5mのCubeを作成して椅子の代わりにして下さい。

HipをZ軸方向へ移動して、椅子の前までフィギュアを出します。

Left FootのTransとRotにピンを打ちます。Right Footにも同じようにして下さい。

HipをYZ平面で移動させて、お尻を椅子の上へ持っていきます。今回は深く座らせました。足首にピンが打ってあるため、自然と膝が曲がります。

リラックスした感じにするために腰を少しのけぞらせましょう。HipのxRotateパラメータを-方向へ操作します。

今度は胸だけを少し前へ倒します。ChestのBendパラメータを+方向へ操作します。

今度は手をももの上へ乗せます。Left Handを移動してください。まずXY平面で腰のあたりまで持っていき、Z軸方向へさらに移動させるのがやりやすいかと思います。同様にしてRight Handも移動して下さい。

足首に打ったピンを取り除きます。ユニバーサル・ツールの画びょうメニューから「Unpin All」を実行して下さい。

よく見ると足が椅子に埋まっていますので、ちょっとかかとを持ち上げましょう。左足のつま先(Left Toes)のTransとRotにピンを打ち、Left FootをY軸方向へ少しだけ持ち上げます。右足側も同様にした後、ピンを取り除いて下さい。

最後に手の指にもポーズを付けます。
まずLeftForeArmとLeft HandのTwistパラメータを操作して、手の甲を上へ向けます。

そしてLeft HandのMorphformsを操作して少し指を丸めた感じにします。


右手も同様にします。改めて見ると指がももに埋まってしまっていましたので、位置の微調整もしました。

これで完成です。
