2014年11月18日

(SimPeople)Blender用 Skinインポーター/エクスポーター Ver0.1

さて、今回はSkinの編集に挑戦してみます。Skinの作成では、SHUNZO様の"skn2mqo"が定番らしいですが、メタセコイアは使ったことが無いですし、なんだかウェイトを付けるのが大変そうなので、使い慣れたBlenderで編集できるようにインポーター/エクスポーターを作成してみました。Blender2.49b用です。
今はBlenderも新しいバージョンが出ていますが、私が使い慣れているのとスクリプトの仕様が変わっていて勉強するのが面倒なので2.49b用です。すんまそん

Blenderはフリーかつ高機能な3Dソフトですが、ユーザーインターフェースに癖があることでも有名です。ただ、フリーでこれだけ高機能な物は他には無いので、フリーで配布する事の多いMOD作成では割と使われていると思います。
使い方はググればいろいろ出てきますので、Blenderの操作法、モデルの作成、編集などについてはここでは解説しません。悪しからず。



まずはインストールです。Blender2.49bをインストールした後、
"C:\Users\<ユーザー名>\AppData\Roaming\Blender Foundation\Blender\.blender\scripts\"

以下に、ダウンロードしたファイルを入れてください。
なんか面倒な場所ですが、Vista以降のUACのせいでこんな場所になっています。
※ "AppData"フォルダが隠しフォルダになっているので、エクスプローラの設定で"隠しファイルを表示する"設定にしないと見えないので注意してください。



skin1.jpg
Blenderを起動して、ファイル→インポート→Sims Skin File(.skn) があればインストールできています。実行するとファイル選択画面になるので、インポートしたいSkinを選んで"Import Skin"を押すと、メニューが表示されます。

skin2.jpgskin3.jpg
デフォルトだと大人用のSkinとして読み込みます。子供用のSkinを読み込みたい時は、"Child Skin"をONにして読み込めばOKです。
"for Animation" はアニメーション作成用のモデルを作成するためのオプションです。シムピのアニメーションを作成するためのインポーター/エクスポーターも出来ていますが、そちらの解説はまた次回にやる予定です。

skin4.jpg
Skinだけを読み込んだ時はこんな感じです。Boneが入っているので、実際にポーズを変えて確認も出来ます。ブレンドデータはウェイトとしてモデルの頂点にすべて読み込まれるので、ブレンド用の頂点はありません。

skin5.jpgskin6.jpg
続けてHeadやHandをインポートすれば、同時にバランスを見ながら各部位を編集して、それぞれを個別にエクスポートすることが出来ます。

UVマッピングは、1つの頂点に複数のUVをマッピングすることが出来ますので、モデルの方で面の切り離しとかは気にしなくて大丈夫です。エクスポート時に自動で分割して出力してくれます。
複数頂点が重なっていると編集時に面倒なので、"Remove Doubles"で重複頂点をマージしてしまっても大丈夫です。

ウェイトも、普通のモデリングと同じように付けてやればOKです。エクスポート時に自動でブレンドデータを作成してくれます。
ウェイト作成には、スクリプトの"Bone Weight Copy"が非常に便利です。これは、既存のモデルからウェイトをコピーするコマンドで、最も近い頂点のウェイトを新しいモデルへとコピーしてくれます。形が近いとより正確にコピーしてくれるので、なるべく近い形のモデルをコピー元にするのがコツです。細かいことを気にしなければ、これ1つでウェイトは大丈夫でしょう。詳しい使用法はググってください。

skin7.jpgskin9.jpg
モデルにテクスチャを貼って確認したければ、エディットモードでイメージを読み込めばOKですが、残念ながらシムピで使われているインデックスカラーのBMPは読み込めません。一度24ビットRGBなどに変換してから読み込んでください。

skin10.jpg
モデルを作成し終わってポーズを変えたりして確認したら、後はSkinの出力です。
出力したいメッシュを選択状態にしてから、ファイル→エクスポート→Sims Skin File(.skn)で出力できます。
エクスポート前に体を選択すればSkinが、頭を選択すればHeadが出力されます。アクセサリなども同様です。

出力後は、.cmxを作成したり.sknの一行目のSkinIDを変更したりと、通常のSkin作成と同じです。お疲れ様でした。

BlenderにはMMDのモデルを読み込めるインポーターもあるので、そちらからの変換も可能だと思います。ただし、モデルのライセンスには十分注意してください。



インポーター/エクスポーター本体はこちらに置いておきます。必要な方はどぞ。

バージョンアップしました。こちらの記事からどうぞ



.