FC2ブログ

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ポージング SS

■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)を使います。すでに起動時の初期ツールがそれになっていますが、このツールアイコンIKポージング ユニバーサルツール アイコンをクリックすると使えるようになります。DS4からは従来の操作ツールも見直されましたので移動(Translate)ツールでもいいのですが、ここではユニバーサル・ツールを使っていきます。

この状態で次のどちらかの操作をして下さい。

 (1)ノードを選択時に表示されるギズモで移動操作する
IKポージング ユニバーサルツール ギズモ操作

 (2)選択されていないノードをドラッグする
IKポージング ユニバーサルツール ドラッグ操作

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

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

もう一つIK操作で重要なのが、ピン(Pin)を打つということです。ノード選択時に表示される右上のダルマ型画びょうアイコンをクリックすると出現するメニューで実行します。
IKポージング ピンを打つ

Pin Translationをするとノードの位置が固定され、Pin Rotationをするとノードの回転が固定されます。これはオブジェクト座標系での固定ですので、ローカル座標系での数値(ノードの各回転パラメータ)が変動しても、フィギュアのルートを移動させない限り、見た目上は固定されているようになっています。


■Morphformsの扱い

フィギュアのポーズを付ける方法の一つに、Morphforms(DAZの造語かな?)というのがあります。V4にもあったものですが、モーフのように1つのパラメータを操作すると関連付けられた複数のボーンの回転が発生するというものです。例えば、GenesisフィギュアのWaist BendというパラメータはAbdomen、Abdomen 2、ChestのBendパラメータを適度な割合で動かします。
IKポージング Morphforms アニメ

関節が増えた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を作成して椅子の代わりにして下さい。
IKポージング ケース1 01

HipをZ軸方向へ移動して、椅子の前までフィギュアを出します。
IKポージング ケース1 02

Left FootのTransとRotにピンを打ちます。Right Footにも同じようにして下さい。
IKポージング ケース1 03

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

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

今度は胸だけを少し前へ倒します。ChestのBendパラメータを+方向へ操作します。
IKポージング ケース1 06

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

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

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

最後に手の指にもポーズを付けます。
まずLeftForeArmLeft HandのTwistパラメータを操作して、手の甲を上へ向けます。
IKポージング ケース1 09

そしてLeft HandのMorphformsを操作して少し指を丸めた感じにします。
IKポージング 手首のMorphforms
IKポージング ケース1 10

右手も同様にします。改めて見ると指がももに埋まってしまっていましたので、位置の微調整もしました。
IKポージング ケース1 11

これで完成です。
IKポージング ケース1 12

Comment

非公開コメント

著書
カレンダー
09 | 2019/10 | 11
- - 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31 - -
検索フォーム
プロフィール

Kotozone

Author:Kotozone
製品の取扱説明書を読むのが大好きです

FC2ブックマーク
最新記事
カテゴリ
タグリスト

DSプラグイン V4 ライト マテリアル DSシェーダ DS基本 セール Genesis IBL アニメーション タブ解説 iray LuxRender ダイナミッククロス スクリプト Genesis2 ShaderMixer セットアップ バージョンアップ Download レタッチ カスタマイズ トゥーン SSS Photoshop ウェイトマップ NGM ファー 物理シミュレーション ERC D-Form Miki2 IDL 大気 M4 カラーコレクション ボリューム Hexagon Terrain パーティクル Genesis3 モーフセット Genesis8 V5 カメラ アナグリフ インスタンス GIMP 3Dプリント ロボット RAMDisk SLG ダイナミックヘア K4 V8 Python モーションキャプチャ Linux 日本語訳 

最新コメント
リンク
月別アーカイブ
ご意見ご感想はこちらに

名前:
メール: 
件名:
本文: 

ブロとも申請フォーム

この人とブロともになる

最新トラックバック
FC2カウンター