前回に引き続き SL Bone group Generator plugin の実際の使い方に関して。

前回はオブジェクトをボーンに合わせて変形させていましたが、今回はボーンの方をオブジェクトに合わせてみます。

どちらかと言うとこちらのほうが本来の手順なのかもしれません。

 

前回同様公式のMeshファイルを使用します。
今回は「human male」のファイルを使ってみます。

公式WIKI

落としてきたZipファイルを解凍して「male_2016_08_05.dae」ファイルをBlenderでインポートします。
インポート方法は前回同様です。

無事取り込めたら、既存のアーマチュア(Boneデータ。Avatarという名称になってます)を削除します。

既存のアーマチュアを削除

 

MnMSLbg でボーンデータ(アーマチュア)を生成します。

ボーンデータを生成

 

さて、ここで作業をしやすくするためにちょっとした手順を踏まなければいけません。
理由に関しては後述します。

3DView をオブジェクトモードにして、生成したアーマチュアを選択し、トランスフォームでz軸を「-90度」に設定します。

z軸を「-90度」

Blenderのシーン内でFrontを向いている(Num1キーを押した)状態ですね。

この状態をオブジェクト(アーマチュア)に適用するために、オブジェクト > 適用 > 回転 を選択します。

オブジェクトに適用

 

さらに、トランスフォームで今度はz軸を「90度」に設定します。

z軸を「90度」に設定

これで見た目上は最初の(メッシュオブジェクトと同じ方向を向いた)状態になったはずです。

さてこの手順の意味ですが、SLクライアントとBlenderの操作系の違いによるものです。
取り込んだメッシュオブジェクトを選択するとわかりますが、もともとz軸が90度回転した状態になっています。

これはBlenderでの右向きがSLクライアントでは正面になっているためです。

ここで問題になるのが、BoneデータはSLクライアント用なのでそのまま生成するとBlender内では右を向いた(X軸方向に沿った)状態で再現されるため、編集モードでX-mirror機能が正常に動作できない状態になってしまいます。
X軸に対して対称ではないので当たり前と言えば当たり前の動作ですね。

そこでいったんBlenderでの正面方向に(Y軸方向に沿って)配置してその状態を適用し、Blenderでの右向き(SLクライアントでは正面)に向けなおすことで取り込んだメッシュモデルと向きを合わせています。

この面倒くさい手順を踏むことで編集モードでX-mirror機能が正常に動作してくれます。

 


ボーン(アーマチュア)をオブジェクトに合わせていきます。

まずは大体の大きさを合わせます。SキーでScale状態にして大体の大きさ(腕の高さなど)で確定します。

大体の大きさを合わせます

 

つぎに編集モードに切り替えて各ボーンの位置を調整します。
この辺りはもう経験や勘、あとはトライアンドエラーで合わせていくしかありません。

各ボーンの位置を調整

 

正面での調整は「X-mirror」を有効にすれば片方を動かすだけで反対側も対称位置に動かせます。

正面での調整

 

上から見た場合の調整も同様に「X-mirror」で片側だけでOKです。

上から見た場合の調整

 

たまにポーズモードに切り替えて関節の動き等を確認しながら配置します。

関節の動き等を確認

ボーンの配置が納得できる状態になったら、前回同様、各メッシュオブジェクトのモディファイアーにアーマチュアモディファイアーを追加(既存のものがある場合はそのまま利用)して、対称オブジェクトに調整したアーマチュアを設定します。

アーマチュアを設定

 

アーマチュアモディファイア―が設定できたら、アーマチュアを選択して、ポーズモードに切り替えて実際の動きを確認します。

実際の動きを確認

 

ボーンの動きとメッシュの変形に納得できたらエクスポートの準備をします。

準備と言っても大したことではなく、アーマチュアの回転を適用します。
現時点ではアーマチュア(ボーン)の実データはBlender内での正面を向いている(いまはトランスフォームで90度回転させて見た目上は右向きになっている)ので、それをSLでの正面、Blender内では右向きに確定させるためです。

右向きに確定

この適用をおこなうと修正作業が面倒くさくなる(また正面を向ける作業が必要になる)ので作業用ファイルとしてはここでいったん保存しておくことをおすすめします。

 

実際にエクスポートし、SLにUploadして正常にできているか確かめます。

エクスポートから、colladaを選択します。
プリセットから「sl + opensim rigged」を選択します。
オプションはデフォルトのままでOKです。

sl + opensim rigged

 

エクスポートした.daeファイルをSL内でUploadします。
その際、Riggingの項目で「include skin weight」と「include joint positions」にチェックを入れましょう。

SL内でUpload

X方向の警告が出たりしますが、無視してUPしてください。

 

上半身だけですが、問題なさそう(ボーンの位置やアニメーションへの追従、Fittengスライダーへの追従など)です。

問題なさそう

 

公式の男性アバターメッシュでテストしましたが、オブジェクトが変わっても(人型以外の形状や装備品、服飾などでも)基本的な手順は同じです。

オリジナルのメッシュモデルの作成に少しでも役立てば幸いです(`・ω・´)

 

Post If you feel like it, I would be happy if you could post it.