kamo.oのShadeな日々

アクセスカウンタ

zoom RSS ShadeでちょっくらBVH連動とか(BVH Course.1)

<<   作成日時 : 2012/05/14 23:30   >>

ブログ気持玉 0 / トラックバック 0 / コメント 0

【はじめに】

突然ですが、Shade使ったダンスアニメーション講座始めます。
Shadeでは難しいと思っていた(思い込んでいた)人物アニメーション、実はモーションファイル(BVH)さえあれば、比較的簡単にマイキャラを躍らせる事が出来ます!
まずは私の作成したBVH連動のダンスアニメーションをご覧あれ☆

ご覧のように、マイキャラを華麗に踊らせる事に成功しました☆
でも、難しい作業はしてませんし、そんなに時間もかかってません。
要は手順次第でShadeでも出来るんですよ〜。
そんなShadeのBVH連動手順、解説していきます。


まず、材料を用意します。

【材料1人分】

Shade Standard以上(要プラグイン インターフェイス)

BVHモーション入力済みのShadeシーン
 ・Shade ProfessionalだとBVHファイルインポート
 ・Shade StandardだとProfessionalユーザー※に変換をお願いする
 ※Perfume Global SiteのBVH形式−SHD形式変換したものはこちら>Perfume_Global


Shade作成のダンスさせたいマイキャラ※(スキン設定あり)
 ※キャラのボーン構造を理解している程度の能力(適量)

ちょい性能の良いPC(出来れば64bit機)

やる気 80g


【お品書きとか】


「変換&拡張マトリックス全リセット」

0)はじめに

1)プラグインの準備

2)スキンの保存

3)スキンクリア

4)変換マトリックスリセット

5)拡張マトリックスリセット

6)スキンの読み込み


 ※全てShadeブラウザのルートを選択しての作業


【手順とか】

0)はじめに

ShadeのBVH連動処理、第一回目はシーン全体のマトリックスクリアから始めたいと思います。

一見関係なさそうな作業ですが関係大有りで、これをやってないとBVHで取り込んだボーンとマイキャラのボーンを併せたときに形状が崩れてアベシ!となってしまします。
今回シーンの最適化をやって、ボーンの話は第二回目以降の解説となります。

なおプラグインを使う作業とはいえShadeの隠しモードと同意の操作となり、シーンが壊れるリスクも多少なりありますので、対象シーンのバックアップは必ず行ってくださいね。
あと、副作用として今までに保存していたポーズファイル(.SHDPSE)は使えなくなります。
よって以降の操作は、自己責任という事でよろしく。


1)プラグインの準備

変換マトリックスのクリアには「Shadeの隠しメニュー(Reset All Transfomation)」を使う方法ありますが、説明書きも無いようないいかげんな機能なので使いません。

今回は同等(以上?)の機能を持つマサ氏のプラグイン「スキンポーター」での解説です。

まずマサ氏のホームページからスキンポーターをダウンロードします。
>まさの隠れ家
http://www7b.biglobe.ne.jp/~masa_s/index.html
インストールはskin_porter.dllをShadeのpluginsフォルダ中にコピーしてShadeを起動するだけです。

準備が出来たら、対象シーンを使っての作業を行います。


2)スキンの保存

まず、動かしたいキャラを含むシーン(.SHDファイル)を開きます。

作業はシーン全体に対して行いますので、Shadeブラウザのルートパートを選択(全選択)して下さい。
ブラウザ上で右クリック > 全てのジョイントをリセット
で念のため、全てのジョイントをリセットしておきます。

それでは、いよいよスキンの保存。
先に準備したプラグイン、スキンポーターの出番です。

ファイル > エクスポート > スキン保存

保存するスキンファイル(.SSK)名を適当に付ける。

[出力設定]
範囲:選択形状
形式:テキスト
ジョイント名:フルパス保存 =□チェックオフ
形状の特殊文字を削除して保存 =□チェックオフ

OKを選択してスキンファイル(.SSK)を保存します。



3)スキンクリア

Shadeブラウザのルートパートを選択(全選択)したままの状態で、スキンブラウザを表示させCtrlキーを押しながら、スキンの「消去」ボタンを押します。(スキン値の全解除)


4)変換マトリックスリセット

Shadeブラウザのルートパートを選択(全選択)したままの状態で

ブラウザ上で右クリック > 「変換マトリックスリセット」を選択 > 警告(!)に対し「OK」ボタンを押します。


5)拡張マトリックスリセット


Shadeブラウザのルートパートを選択(全選択)したままの状態で

ブラウザ上で右クリック > 「拡張マトリックスリセット」を選択 > 

[拡張マトリックスリセット]
ジョイントの情報をプリントだけする。 =□チェックオフ
全てのジョイントをリセット後にマトリックスをリセットする。 =■チェックオン
OKを選択して実行します。



6)スキンの読み込み

Shadeブラウザのルートパートを選択(全選択)したままの状態で

ファイル > インポート > スキン読込

先ほど適当名で保存しておいたスキンファイル(.SSK)を選択

[スキン適用モード]
適用:新規設定
ポイント位置を保持 =■チェックオン
特殊文字を無視 =■チェックオン
スキン元ジョイントは選択形状外 =■チェックオン
饒舌※な経過メッセージ =■チェックオン
※饒舌=おしゃべり

OKを選択してスキンファイル(.SSK)を適用します。



形状破綻が無いことを確認してシーン(.SHDファイル)を別名保存すれば、
「変換&拡張マトリックス全リセット」は完了です。

これでシーンが最適化されましたので、BVH連動する為の準備に入ります。
第一回目の講座はこれでおしまい。
次回もお楽しみにヾ(=・ω・=)o☆
画像








※ここから、手順のみ知りたい方は読む必要はありません。
 読まなくてもBVH連動は可能になるよう、講座は進めます。



【オフレコ・・とか】

マイキャラ製作で時間をかけている人ほど、パートやボールジョイントに変換値が入っていて、意識する事はありませんが、その変換・拡張マトリックスに基づいて自動計算されシーン全体の絶対座標となるグローバル座標に対し関連付けが行われています。

たとえばオブジェクトが入っているパートに拡大や移動をかけた場合はパートにローカル座標をもってますので、基準値からどのくらい拡大or移動しているという情報をパートに保持する事で、パート内のオブジェクト等は大きさor位置を変える事なく、グローバル座標に当該パートを関連付けるときにローカル座標に記録された変換マトリックスを基に読み替えを行って、結果拡大or移動された情報が画面に表示される事になります。

ボールジョイントも同様で、人物ボーンで左右反転コピーを行ったといった場合に、たとえば右手をトランスフォーメーションの拡大縮小X−1で左右反転複製して左手にした場合には、ボールジョイントの拡張マトリックスに本来の右が左になっているといった情報が設定され、ローカル座標同士の比較では左手は右手と重なった座標にあり、グローバル座標に自動変換され表示するときに初めて、変換値により読替えられる事により左手の位置に配置される事となります。
さらにボールジョイントの拡張マトリックスはオブジェクトの頂点ポイントに保持されているスキン値のグローバル座標計算にも影響を及ぼすので、複雑な読み替えの過程で形状破綻のトラブルを引き起こす事もあります。

この一連の変換はShadeでは自動的に行われるようになってますが、すべての機能で正常に動くことが保証されてないようで、プラグイン等で不具合が出る場合もあり、可能であればシーン製作の都度全てのマトリックスを初期化して、自動変換に頼らないようにする事が大事です。

Shade13ではボールジョイントについて補間法なるルールが追加され、状況によりますが前バージョンとのシーン互換において形状破綻のリスクが増えています。
それもボールジョイントの変換値が綺麗に初期化されていれば関係のない事(バグは別問題)で、新バージョンでは以前よりマトリックス変換の重要度が増えていますので、この機会にShade座標系の考え方を少しでも知っていただければ幸いです。

テーマ

関連テーマ 一覧


月別リンク

ブログ気持玉

クリックして気持ちを伝えよう!
ログインしてクリックすれば、自分のブログへのリンクが付きます。
→ログインへ

トラックバック(0件)

タイトル (本文) ブログ名/日時

トラックバック用URL help


自分のブログにトラックバック記事作成(会員用) help

タイトル
本 文

コメント(0件)

内 容 ニックネーム/日時

コメントする help

ニックネーム
本 文
ShadeでちょっくらBVH連動とか(BVH Course.1) kamo.oのShadeな日々/BIGLOBEウェブリブログ
文字サイズ:       閉じる