Z-Notes

主にZBrush、3dsMax、3d-Coatなどの3DCGアプリに関する覚え書き。

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

3ds Max、スキンラップのチュートリアル(その1)

3つの動画からなるシリーズです。まずはその1、「Using Skin Wrap - Part 1 - Variations」

(今度はキャラクターアニメーションに関するチュートリアルを翻訳してみました。UVの時よりちょっと複雑になった分、翻訳も苦労しました。)

(例によって、適当翻訳なので参考程度に、またほとんど読み返して確認してないので、誤字、脱字等あるかもしれません。)



スキンラップは通常、高解像度メッシュのアニメーションをドライブする低解像度のメッシュを持たせるために使われます。

しかしながら実際の用途はそれとは少し違います。

例えば、ゲーム業界においてはスキンデータを一つのキャラクターから他のキャラクターに転送するのにスキンラップが活用されます。

ゲームのプロジェクトでは些細なバリエーションを持つ似通ったキャラクターを何度も複製する必要があります。

二人の兵士は見た目は似ているかもしれませんが、一人はユニホームに余分にポーチを持っているかもしれませんし、もう一人は余分にガンベルトを持っているかもしれません。

他のバリエーションでは群衆の中に太った人、普通の人、痩せた人が含まれているかもしれません。

これらのキャラクターが平均的な背丈やプロポーションを意味する、同じような平均的体型をしている限り、それらのスキンデータは苦もなく転送することができます。

その場合、彼らすべては同じスキンテンプレートとリグを共有することができます。

重要なのは、そのために一つのキャラクターで適切なスキンをするのに何時間も時には何日もかかるような作業を「リサイクル」することが出来ることです。

一つのキャラクターに適切なスキンが行われたら、スキンラップを使ってほんの数分、あるはたったの数秒でその情報を転送することができます。

ここで使われているシーンにはいくつかのオブジェクトがあり、メインキャラクターにはBipedのスケルトンがあります。

「Full-Body」と名付けられたメインキャラクターにはBipedのスケルトンに適切なスキンをすでに持たせてあります。

このBipedはこの時点でフィギュアモードになっていますが、フィギュアモードを抜けるとスキニングのテストに使われるアニメーションを見ることができます。

フィギュアモードに戻り、最初のポーズに戻します。

この特殊な例では、Bipedスケルトンが使われていますが、スキンラップはどんなタイプのスケルトン、Biped、CAT、あるいは単純なボーンでも同様に上手く機能します。

左側の2つのキャラクターを選択して非表示にします。これらのキャラクターはこのシリーズのパート2でだけ使います。

スームインして残されたキャラクターを見てみます。

左側の(スキンされた)メインのキャラクターは中央にあるキャラクターと非常によく似ています。

これらは同じトポロジーを持ち、一つのキャラクターが他のキャラクターを作るのに使われたと言ってもいいでしょう。

いくつかの些細な相違があります。例えば、キャラクターの右足にポーチと包帯、左足に膝パッド、

胴体には奇抜な飛び出たデザイン、左の前腕にはレースが付けられています。

けれども右端の勇士のキャラクターは全体的に異なっています。

このトポロジーに似たところがなく、独立したデザインで作られたものであることが理解出来ます。

しかし大まかな身長と体型に関して言えば、この2つのキャラクターは何か共通のものを持っていると言えます。

問題を一つづつ見て行きましょう。勇士のキャラクターを選択して非表示にします。

まずは些細な相違のある2つのキャラクターに専念しましょう。

メインのキャラクターを選択すると、その中心点が両足の間、ワールド座標の[0,0,0]に置かれているのに気付くでしょう。

これはキャラクターを作ったり、スキンラップしたい他のキャラクターを簡単に配置させたりする時の一般的なものです。

この「Variations」キャラクターの選択すると、これもまた中心点が両足の間にあるのに気付きます。

スキンラップを機能させるためには、2つのオブジェとを互いに重ねて置く必要があります。

このキャラクターを元のキャラクターの上である[0,0,0]に移動します。

両方とも同じ初期ポーズをとっていることに注目します。これはスキンラップが適切に機能するためには重要なことです。

ワイヤーフレームモードで、ポーチや胸のロゴのように明らかな相違だけでなく、

肩のあたりではそれほどはっきりとしない相違もあることに注目します。

2つのモデルが全く同じである必要はないということだけは言えます。

「Variations」のモデルが選択されている状態で、修正パネルを開き、「スキン ラップ」モディファイヤを適用します。

このメッシュをドライブするためのコントロールオブジェクトを選択する前に、いくつかのオプションについて見てみましょう。

頂点または面のタイプによる変形でドライブ出来ます。

どちらを選ぶかは主に手元にあるオブジェクトと個人的な好みによります。

ゲーム業界のリグ職人は「面変形」の方を好む人が多いみたいなので、それを使って進めます。

「フォールオフ」の値は「0.001」から「10」の間で決めます。

これはアニメーションされた(コントロール)オブジェクトの頂点が、(ベースオブジェクトとして参照される)選択されたオブジェクトの頂点にどれだけ影響するか、あるいは引っ張るかを定義します。

しかし、「面変形」を使う場合、「フォールオフ」の値を「0.001」に設定するのがリジット変形のために使うには多くの場合でベストです。

次は、コントロールオブジェクト(この場合はすでにスキニングされアニメーションが付けられた「Full-Body」キャラクターのことですが)を定義します。

「パラメータ」ロールアウトで「追加」をクリックします。

今取り組んでいるキャラクターの下にある「Full-Body」キャラクターを選択します。

3ds Maxがこの情報を処理すると、スクリーン右下のコーナーで状況のフィードバックが得られます。

これが100%になったら、忘れずに右クリックして「Add」モードを終了します。そうしないと、うっかり別のオブジェクトをクリックしてそれをリストに追加してしまいます。

一連の作業は終了しました。

スキンラップが機能するかどうかテストするには、Bipedの頭を選択して「モーション」パネルを開きます。

「フィギュア モード」をオフにします。

アニメーションを前後に動かしてその結果を見ます。

フレーム「0」から「650」の間で、ボディーの下部が正しく動くか確認します。

「260」フレームあたりでどれくらい上手く膝パッドが動くか注意します。

フレーム「660」から「1100」の間で胴体をチェックします。

もし手動で胸のロゴのスキニングしなければならなかったら、そのためにかなり多くの時間が費やす必要があったでしょう。

手や、指、前腕はフレーム「1150」から「1950」でチェック出来ます。

「Variations」キャラクターがスキンラップされている限り、コントロールキャラクター(Full-Body)に加えられた変更がそれに伝えられます。

仮にフレーム「1900」で前腕の変形を修正したいとします。

「Full-Body」キャラクターを選択します。「修正」パネルで「エンベローブを編集」をクリックし、手首から3つ目のリングの頂点を選択します。

リストにある「L_Forearm_2_Roll」エンベロープをハイライトして「絶対効果」の値をいくらか変更してみます。

コントロールオブジェクトとスキンラップされたベースオブジェクトの両方が更新されるのに注目します。

変更に満足したら初期のポーズに戻す必要があります。

Bipedでは、スケルトンの一部を選択している事と「フィギュア モード」に入る事が重要です。

この時点では、(「Variations」と言う名前の)ベースオブジェクトはそれをドライブするコントロールオブジェクトから独立させることができます。

「Variations」キャラクターを選択した状態で、「修正」パネルを開き「スキンに変換」ボタンをクリックします。

適切なエンベロープと頂点ウェイトの全てがそのキャラクターに割当てられた「スキン」モディファイヤが新たに追加されました。

「スキン ラップ」モディファイヤが自動的にオフにされたことに注意します。

実際、ここでは「スキン ラップ」を選択して削除することも可能です。

アニメーションを再びテストできるようになりました。

この手順を「Low-LOD」でも繰り返します。

どこか微調整が必要なスキンの箇所があった場合、もちろんそれに対処することが可能です。

このキャラクターに最初からスキンをつけるのに比べたら、あちこちにある少しばかりの頂点ウェイトを調整するだけなのでほんの少しの時間しか必要無いでしょう。

「スキン ラップ」はおそらくスケジュールを2、3日を節約してくれるでしょう。

「Variations」キャラクターを非表示にし、「選択セット」のリストから「Warrior」を選択します。

「はい」をクリックして警告ウィンドウを閉じます。

Bipedが「フィギュア モード」になっていて、そのため両方のキャラクターが初期のポーズになっていることを確認します。

前にも述べたように、このキャラクターはメインの「Full-Body」キャラクターとはかなり異なっています。

共通なのはおおよその大きさとプロポーションだけです。

勇士のキャラクターを[0,0,0]の位置に置き、それにコントロールオブジェクトのスキンラップをする手順を繰り返します。

Bipedの頭を選択し、「フィギュア モード」をオフにします。

「分離モード」で勇士だけを表示させ、アニメーションをテストします。

ほとんどの部分については、確かに全く悪すぎると言うことはありません。

フレーム「1150」と「1950」の間で顕著な、脇の下のように少し注意が必要な部分が確かにいくつか存在します。

手首でもすこし調整が必要かもしれません。顕著なのはフレーム「1780」あたりです。

フレーム「2250」と「2500」の間の頭は最も問題ありそうですが、それは勇士のキャラクターだけが実際に頭が付いているためです。

オリジナルの「Full-Body」キャラクターにはそれがないので「スキンラップ」はそれをどうすればいいかわかりません。

要は、一から勇士キャラクターのスキンをするのに必要なのは、ほんの少しの時間で出来る簡単な調整だけだということです。

Bipedの頭を選択し、「フィギュア モード」を有効にして元のポーズに戻します。

「Warrior」キャラクターを選択して「スキンラップ」をすべて「スキン」モディファイヤに変換します。

その下の「スキンラップ」モディファイヤを削除します。

「エンベロープの編集」をオンにし、頭にある全てのスキン頂点を選択します。首にある頂点は選択しません。

「Bip001 Head」エンベロープを選択し、これらの選択した頂点を「絶対効果」で「1」に設定します。

これで頭の頂点がウェイト付けされ、他のボーンではなく確実にBipedの頭にのみ追従しするようになります。

同様に、手首や脇の下のような他の部分でも微調整が可能です。

点在する少しばかり頂点ウェイトを微調整するのはほんの数分です。一からキャラクター全てのスキニングには数日かかることもしばしばです。

終わったら「フィギュア モード」に戻します。

勇士を非表示にし、「選択セット」から「LODs」を選択します。警告ウィンドウを閉じます。

次の動画では、「LODs(詳細度オブジェクト)」に「スキン ラップ」を使う実験をします。






コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://momonchan574.blog65.fc2.com/tb.php/650-eb68a187
この記事にトラックバックする(FC2ブログユーザー)

FC2Ad

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。