|
|
Mod Tool 日記 : ザ・シムズ2編 / Half-LIfe2編
XSI Mod Tool は、SOFTIMAGE XSIのデモ版ながら、フリーで利用できる高機能な3Dモデラーです。ハーフライフ2のSDKと共に、ハーフライフ2用のラグドールやオブジェクト作成に使ってもらう目的で提供されました。
ザ・シムズ2用の編集ツール SimPE には、大変強力なエクスポート/インポート機能が用意されています。メッシュは、OBJ、3DS(3ds max)、dotXSI形式でのエクスポートが可能です。
SimPE と XSI Mod Tool を利用することで、高価なソフトウェアを別途購入せずとも、ザ・シムズ2のメッシュの改造が可能です。ここでは、その行程などを紹介していきたいと思います。
XSI Foundationを購入した事により、obj形式でのExportが可能となりました(以前は、MilkShape3Dのプラグインで行っておりました)。ゆえに、ザ・シムズ2のユーザーさんにも参考にしてもらえるようなカスタムコンテンツの作成法を書いてみたい・・・とは思ってるのですが。いかんせん、ハーフライフ2向けが優先しております。
作り方としては、下でも触れましたが、静的オブジェの方が簡単です。Sims2コミュニティーJPで、abe_simさんのメッシュオブジェクトの作成解説という日本語の記事がありますので、もはや海外の英語のページと格闘しなくても済みますね。
私の場合は、(記事中の)メタセコイアの代わりにXSI Foundation(もしくはXSI ModTool)を使うわけです。また、SimPEのdotXSI形式 Exporter/Importerを利用してみたいです。XSI ModToolではobj形式がExportできませんので。
XSIを使う利点としては、テクスチャ関連の作業がやりやすい事が上げられると思います。テクスチャ展開の自由度が大きく(なにせ、ポリゴン単位で、何回でも位置直しできるわけですから)、マテリアルを貼った後に頂点ポイントを弄っても破綻しません。フリーのUV Mapper Classic等を使っていた人には「目から鱗」必至です。その分、若干、覚えなければならない事が多いわけですが、XSIは私でも親しみやすかった程なので、さほどハードルは高くありません(アニメーションやら、ほとんどの機能は使いませんし)。初めて触った時には、こんな強力なソフトをフリーにしちゃっていいの?と感じました。
私が一番作りたいのは、ザ・シムズ2で使える髪型や衣裳なのですが、こちらは難易度(というよりも、面倒くさ度)が高くて参っています。モデリングが難しいのではありません。ザ・シムズ2のリグをポリゴンメッシュに割り当ててくれるツールが、UniMeshプラグインしか無いから困っているのです。UniMeshプラグインを使うという事は、MilkShape3Dを使う事に等しいので、これが悩みの種です。MilkShape3Dはモデラーと呼ぶにはシンプル過ぎますし、UniMeshプラグインも決して生産性が高いツールではないでしょう。良くできた衣裳を見る度、よく辛抱して作ったな、と驚嘆します。
スキンの作成に関しては、Sims2コミュニティーJPで、den123さんによる「初めてのボディーメッシュチュートリアル」という記事が読めます。5ページ目の「UniMeshプラグインで行うジョイント関連編集」が、前述したリグとポリゴンメッシュとの割り当て方法になります。私の場合、ボリゴンメッシュ(スキン)はXSIで作って、リグとの割り付けをUniMeshプラグインで行う事になるでしょう。MilkShape3Dへ持っていくには、MilkShape3DのプラグインのdotXSI形式Importerを利用します。dotXSI形式では、テクスチャ・マテリアルを参照している記述をテキストエディタで修正する必要があるかもしれません。
この方法で懸念されるのが、接続部分である首の位置がズレる事です。この辺は実際にやってみないと解りません。それから、ゲーム内で首のズレ具合や四肢の関節の曲がり具合を確かめて、おかしな箇所をひたすら調整する事になるでしょう。こうした行程を考慮すると、ハーフライフ2のキャラクターモデル作成の方がラクだと思います。
[1月6日]
三日目からは、日記モードに戻る。SimPEでExportできるファイル形式について調べてみた。
XSI Mod ToolでImportして、メッシュは改変せずにExportしてみると・・・
| ファイル形式 | SimPEでの Export: Order | XSI Mod ToolでのExport | 備 考 |
| smd | XYZ | (Y軸を180度回転) | 頂点が多過ぎとの警告が出て、SimPEでImportできない |
| dotXSI | XZY | Y軸を180度回転 | SimPEでのImportは上手くいく。 BodyshopのクローンはT字ポーズになり、体が真っ赤。 参考画像(ボーンの情報が正しくない?、UV情報が無い?) |
| 3ds | XZY | XSI Mod Toolでは3dsでExportできない | XSI Mod ToolでImportすると、ボーン情報が無い |
| x (Drirect X) | XZY | XSI Mod ToolではxでExportできない | XSI Mod ToolでImportすると、ボーン情報が無い |
tiggerypumさんによるチュートリアルは、簡単に言うと、5gdファイル置き換え方式で、メッシュのExportとImportをmeshtoolが担当する。
このチュートリアルの二頁目(26番目のレス)に、"Smd Object Exporter by Skankyboy" のおかげで、meshtoolの行程は不要になったとある。そんなわけで、自分も楽観して作業を始めたのだが、いざ試してみると、この新しい方式はダメっぽい事が判明する。SkankyboyのImporterがダメっぽいのである。それゆえか、tiggerypumさんがレス中で「今執筆中」とする「新しいチュートリアル」というのは出ず仕舞いのようだ。
一方、フォーラムを斜め読みすると、meshtoolは、ウェイトのアサインメントを勝手にやるらしく、その為、シム人の腕がデコボコになると言われている。鬼門は、ボーン・ウェイトのアサインメントだ。結局、まともに使えるのは、UniMeshプラグインだけ。ただし、作業上の負担が大きい。
ボデイメッシュを作りたいなら、MilkShape3Dを使って、最小限に留めた効果的な改変を施し、UniMeshプラグインのウェイト・アサインメント用ツールで、ちまちまとウェイトを設定し直す事になるだろう。XSI Mod Toolでもウェイト編集には苦労するが、それでもコンスタント表示で色分けしたものを見ることが出来るし、ウェイトペイントツールで「塗る」ような感覚で設定付けができる。数値の平均化の為にスムースというオペレーションもできる。MilkShape3Dでのそれよりは大分マシだ。
今回試した範囲では、
XSI Mod ToolでValve アドオンによりSMDエクスポート → MilkShape3DでSMDインポート → MilkShape3DのUniMeshプラグインで調整後、書き出し
は、ダメだった。まず、 [MilkShape3DでSMDインポート] の部分で、「頂点にアサインされるボーンは一本だけなので、残りは無視される」というダイアログが出て、ボーンの形が原形とは異なってしまう。この状態では、UniMeshプラグインがエラーを提示して、正しいExportがなされない。
こうなると、改造したメッシュのみをMilkShape3Dに取り込んで、クローンした衣類に元からあったボーンと関連付ける、という方法が妥当に思えてくる。ウェイト・アサインメントをちまちまと根気よくやれる自信が、私にはないのだが・・・。こんな作業をするくらいなら、ハーフライフ2のモデルを作っていたいと思う。
ところで、ボーンの無い静的オブジェなら、難度がずっと下がるだろう。ボーンを意識しないで済むのだから、SimPEのExporter/Importerのほとんどが、機能するはずだ。こっちを試す方が時間と効率の面からも無難だろう。でも、私に限って言えば、静的オブジェでは創作意欲が湧かない。ザ・シムズ2を遊んでいると、オブジェクトよりも、衣類や髪を真っ先に自分好みにしたくなるからだ。[06年10月26日]
二日目は、XSI Mod Toolでの作業に取りかかります。概要は、modthesims2.comのフォーラムでのtiggerypumさんによるポストで解説されています。ただし、このチュートリアルはご当人のXSIに対する理解が不十分な頃に書かれたものでもあるようです。ですから、その辺りを具体的に補足して参りましょう。
メニューバーの File→Import→dotXSI で、dotXSIファイルを開くと、画面はこんな感じになっています(右図)。カラフルな棒線はボーンの頂点を表し、その連なりがリグを構成しているはずです。リグとは、ポリゴンで作られた人体の「骨」に相当します。普段は、棒線の長さはこれほど長くありませんが、気にしない事にしておきましょう。
なお、XSI Mod Toolの初回起動については、Tipsのページの同項目を参照してください。
では、ポリゴンを弄るための作業に入れるように下準備をしましょう。
- この段階で一旦新規保存(メニューバーFile→Save As)しておくと良いでしょう。
- ショートカット8で、Scene Explorerを呼び出します。
- ボディメッシュ(body)階層下の Polygon Mesh を拡張(+をクリック)します。
- Envelope Operatorという項目があるので、これをダブルクリック。

- ウィンドウが開くので、Muteにレ印を入れます。

これで、エンベロープされているリグとポリゴンが分離できました。簡単に言うと、リグが骨なら、ポリゴンは皮といった所です。このままでは、弄るべき対象が小さすぎるので、更に、大きくして作業しやすくします。
- ショートカットCtrl+Shift+Aで、全選択の解除を行います。
- Scene Explorerで、ボディメッシュ(body)を改めてクリックするか、矢印のマウスカーソルでビューポートのボディメッシュをクリックします。
- 画面右側にあるTransformパネルのS(スケールツール)の欄の X, Y, Z に、それぞれ20を入力します。

- 今後の行程をやり直したくなった時の為に、この段階で、再び新規保存(メニューバーFile→Save As)しておくと良いでしょう。
これで、ビューポートに見えていた対象が、グリッドに対して大きくなりました。カラフルなリグは元の大きさのままで、足下に見えます。ポリゴンを作り変えたら、逆の操作で縮小して、リグと組み合わせ直せば良いわけです。
照明を当てるには、Scene Explorerでlightをクリックして選択状態にしておいてから、ショートカット Hを押して、隠れていたライトをアンハイドします。ライトを選択状態にしたまま、回転ツール(ショートカット C)で左右上下を調整すれば、対象を照らすことができます。
ビューポートのカメラをユーザーにし、シェイド表示にして、シーンインフォメーションを表示させた画像がこれです。この衣裳"ravekimono"は、おおよそ2,600の三角ポリゴンで構成されている事が分かります。新規の衣裳でも、同程度の密度を心懸けるべきでしょう。
では、いよいよ作業に移りましょう。作業のポイントは、以下のようになります。
- 基本的に、左右対称で(つまり左半身のみ)作業する。
- 他のパーツとの整合性や適切な変形を保つ為、「首の断面」、「手首から先」は、弄らない。
- 肘、肩、膝、足首などの重要な関節は、(たとえ形状を変更しても、)変形を著しく損ねないように配慮する。
- 蝶番関節のポリゴンの割り方は、元と同様になるように工夫する。
- 必要なら、ウェイトマップをあらかじめエクスポートしておき、完成時にインポートして調整を加える。
ここからは、一般的なモデリング作業と同様です。Tipsのページで紹介している説明書やチュートリアルを参考に、XSIへの理解を深めていってください。
左半身が完成したら、「ポリゴンの対象化」で完全な形にします。ただし、私が作ろうとしているのは、「和風の浴衣」なので、襟が左右対称ではありません。そこを工夫して作っていきます。下駄も、もう少し本物っぽくしてみたいと思っています。・・・数時間後、シンメトリーの基本フォルムが出来ました(右画像)。
あくまで私のやり方ですが、初っ端はこんな風に進めました。
- Scene Explorerで、Layer表示(Scene Explorer上でショートカット L)に切り替えます。
- 新規レイヤーを作ります(Layer_Defaultを右クリックしたメニューからNew Layer)。
- ビューポートをFrontに切り替えて、ボディメッシュ(body)を選択状態にします。
- ポリゴン選択モードにし、右半身を矩形選択します。
- Modelツールバー Create Poly.Mesh → Merge → Extract Polygons (keep)
- スケールツールでX軸に-1を入力
これで、左半身だけのボディメッシュ(Polymsh_Extracted)が、新規レイヤー(Layer)上に出来ます。オリジナルのボディメッシュ(body)は、デフォルトレイヤー(Layer_Default)にありますので、そのセレクタビリティをオフにしておくと、間違って選ぶことがありません(ショートカット6でLayer Controlが開きますから、Layer_DefaultのSel.欄のレ印をオフ)。オリジナルが邪魔なときはショートカットHでハイドします。
腕のどの面に袖が付くと、動いたときに正しく見えるだろうか? これは実際に試してみないと分かりませんので、とりあえず、右画像のようにしてみました。帯の位置決めが難しかったです。では試しに、Geometric Data ContainerへImportしてみます。
最初の成果がこれ(左図)です。これはThe Sims2 Body Shopの画面ですが、F9でカタログ画面を隠し、F3でカメラが自由に移動できるモードにしています。目一杯に引いた図なのですが、分かるでしょうか。画面中央の隠れてしまっている部分が、いつもシムが立っている丸いステージです。
改造したメッシュは通常のシムの大きさを遙かに上回る巨大な化けものに変化していました。しかも、異様に変形した体をしています。どうやら、Mod Tool上でのスケールがきちんと縮小されずにImportされてしまったようです。また、Importに際して、正面が背中向きになる事がわかりました。グニャグニャしているのは、ウェイトがきちんと設定されなかった為でしょう。dotXSI形式でのExport/Importには、まだまだ解決するべき問題が残っているようです。いくつかは、Mod Toolでのオペレーション次第で解決できるかもしれません。
XSI Mod Toolだけでは上手くいかない場合、私は既にMilkShape3Dをレジストしてありますので、
SimPEでGDMCをExtract → MilkShape3DのUniMeshプラグインで読み込む → MilkShape3DでdotXSIエクスポート → XSI Mod Tool で改造 → MilkShape3DでdotXSIインポート → MilkShape3DのUniMeshプラグインで調整後、書き出し → SimPEでGDMC置き換え
・・・のような流れ作業を行えば、なんとかマトモに完成しそうではあります。[10月22日]
追記: 順序立てて検証していないのですが、MilkShape3DのdotXSIエクスポーターには、UV座標が無くなるのじゃないだろうか、という疑いを抱いています。また、dotXSI経由だとボーンの情報がMilkShape3Dにきちんと引き継がれないように思えます。すると、SMD経由という事になり・・・
SimPEで"Smd Object Exporter by Skankyboy" → XSI Mod Tool で改造後、Valve アドオンでSMDエクスポート → MilkShape3DでSMDインポート → MilkShape3DのUniMeshプラグインで調整後、書き出し → SimPEでGDMC置き換え
・・・で行けそうかなぁ、などと考えています。
一日目は、XSI Mod Toolにザ・シムズ2のメッシュをインポートするまでを、手順毎にご説明致します。まずは、SimPEを使った、既存の衣裳のクローン作成です。概要は、modthesims2.comの先人達が詳説してくれています。tiggerypumさんによる解説をベースに見ていきましょう。
パート1: 仮スキンの作成
- The Sims2 Body Shopを起動し、「パーツを作成する」を選び、「新しいプロジェクトを開始する」を選びます。
- 「衣類の作成」を選び、雛形となる衣裳(ここでは、ボディメッシュと呼びます)を決めます。
例として、ホットナイト!データセットで追加された成人女性用普段着の着物モドキを選びました。

- 「選択したテクスチャをエクスポートする」ボタンを押します。
- 「エクスポートする」のダイアログでプロジェクト名(ここでは、kimono.packageとしました)をつけ、「プロジェクト名を承認する」を押します。
- カスタムコンポーネントのエクスポートが完了したら、そのままの状態で、「ゲームにインポートする」を押します。
- The Sims2 Body Shopを終了します。
C:\マイ ドキュメント\EA Games\ザ・シムズ2\Saved Sims に、プロジェクト(例 5f963320_kimono.package)が保存されています。
全く新しい衣類を作る場合は、ボディメッシュの追加が必要です。ゲームから、元となるメッシュ・ファイルを抽出し、保存したプロジェクトのシム人と関連付けを行います。すると、元と瓜二つでありながら、別扱いの衣類が出来上がります。こうしてクローンを作っておけば、後は、メッシュを作り変え、テクスチャを貼るだけです。
パート2: 該当メッシュを探す
- SimPEを起動し、上で保存したプロジェクト(例 5f963320_kimono.package)を開きます。
- All Resourcesが表示されている状態で、右側のTypeで表示されている Property Set: (例 afbodyravekimono_orange) をクリックし、名称(例 afbodyravekimono)が見えるようにしておきます。
- Resource Finderを立ち上げます。
- Namemapsに、Property Set: と同じ名称(例 " afbodyravekimono ")を入力し、Startを押します。
- バーが右端に延びていくのを二回見終わると、Resultsに結果が出てきます。
- 結果の内、ResourceNameに表示される、Sims03.package、Sims04.package、Sims05.package、Sims06.packageの中身が抽出したい部分です。
Sims03.packageからはGMDCを、Sims04.packageからはGMNDを、Sims05.packageからはSHPEを、Sims06.packageからはCRESを、抽出します。
- 具体的には、Sims03.packageの下に表示されている Geometric Data Container: (例 afBodyRaveKimono_tslocator_gmdc)をダブルクリックします。(Geometric Data Container: afBodyRaveKimonoLOD15_tslocator_gmdc はレベル・オブ・ディテール・モデルと呼ぶ簡略モデルなので、とりあえず、不要です)
- すると、Typeの場所に、既に選択済の項目が出てきました。その項目上にマウスポインタを持っていき、右クリックして出るプルダウンメニューからExtractを選びます。
- 任意の(プロジェクト用の)フォルダの中へ、表示された名前のままで、保存します。
- 次は、Sims04.packageの下に表示されている Geometric Node: (例 afBodyRaveKimono_tslocator_gmnd)をダブルクリックします。
- 先程と同じように、Typeの場所に、既に選択済の項目が出てきました。その項目上にマウスポインタを持っていき、右クリックして出るプルダウンメニューからExtractを選び、プロジェクト用のフォルダの中へ、表示された名前のままで、保存します。
- 次は、Sims05.packageの下に表示されている Shape: (例 afBodyRaveKimono_untagged0_shpe)をダブルクリックします。
- 先程と同じように、Typeの場所に、既に選択済の項目が出てきました。その項目上にマウスポインタを持っていき、右クリックして出るプルダウンメニューからExtractを選び、プロジェクト用のフォルダの中へ、表示された名前のままで、保存します。
- 最後に、Sims06.packageの下に表示されている Resource Node: (例 afBodyRaveKimono_cres)をダブルクリックします。
- 先程と同じように、Typeの場所に、既に選択済の項目が出てきました。その項目上にマウスポインタを持っていき、右クリックして出るプルダウンメニューからExtractを選び、プロジェクト用のフォルダの中へ、表示された名前のままで、保存します。
パート3: 新規メッシュpackageの作成
- メニューバーのFile→Newを選びます。
- Typeの何も表示されていない空欄の上にマウスポインタを持っていき、右クリックして出るプルダウンメニューからAddを選びます。
- プロジェクト用のフォルダに保存しておいた、先程の4つのファイル(拡張子XML)を一つずつ選び、Addしていきます。都合四回。
- メニューバーのTools→Objects Tools→Fix Integrityを選びます。
- ポップアップしたウィンドウの ModelName: に他と被らないような名前(作者名など、例 24ka )を付けます。
- ポップアップしたウィンドウの右側にある「下線の引かれた Update」を押します。
- Name欄の先頭部分が、書き換えられました。OKボタンを押します。
- セーブします(メニューバーのFile→Save As)。名称は"MESH_作成者_シムの年齢カテゴリー・性別・衣類の名前_日付"のようなものが推奨されています(例えば、MESH_24ka_afkimono_061020.package)。保存場所は、C:\マイ ドキュメント\EA Games\ザ・シムズ2\downloads です。
- 次は、Typeに表示されている、Resource Node (CRES) と Shape (SHPE) をスキンに持っていく為に、Extractします。
- 具体的には、Typeに表示されている Resource Node の項目上にマウスポインタを持っていき、右クリックして出るプルダウンメニューからExtractを選び、プロジェクト用のフォルダの中へ、先頭にmodifiedcres_と区別の付く名前を付けて保存します。
- 同じく、Typeに表示されている Shape の項目上にマウスポインタを持っていき、右クリックして出るプルダウンメニューからExtractを選び、プロジェクト用のフォルダの中へ、先頭にmodifiedshape_と区別の付く名前を付けて保存します。
パート4: メッシュとスキンの関連付け
- C:\マイ ドキュメント\EA Games\ザ・シムズ2\Saved Sims に保存したプロジェクト(例 5f963320_kimono.package)を再び開きます。
- Typeの空欄の上にマウスポインタを持っていき、右クリックして出るプルダウンメニューからAddを選びます。
- modifiedcres_と先頭に付けたファイル(拡張子XML)を選んで開きます。
- もう一度、Typeの空欄の上にマウスポインタを持っていき、右クリックして出るプルダウンメニューからAddを選びます。
- modifiedshape_と先頭に付けたファイル(拡張子XML)を選んで開きます。
- Plugin Viewを立ち上げます。
- All Resources の下にある階層から3D ID Referencing File(3IDR)をクリックし、更に、右側のTypeに表示されている 3D ID Referencing File: をクリックします。
- すると、 3D Referncing File Editor という欄に、スキンが参照している Resource Node (CRES) と Shape (SHPE) が表示されます。
- 3D Referncing File Editorの右側に File Properties という青文字があり、その更に右に Package という四角で囲まれたボタンがありますので、これを押します。
- すると、 PackageSelectorForm というウィンドウがポップアップします。まず、この中の Resource Node: を、 3D Referncing File Editor の欄へドラッグ・アンド・ドロップします。
- 続いて、 同じように、 Shape: を 3D Referncing File Editor の欄へドラッグ・アンド・ドロップします。PackageSelectorForm は、右上の×印をクリックして閉じます。
- 3D Referncing File Editor の欄の上部に既に並んでいる Resource Node: を選び、右側の下線青印のdeleteを押して削除します。
- 同じく、3D Referncing File Editor の欄の上部に既に並んでいる Shape: を選び、右側の下線青印のdeleteを押して削除します。
- 3D Referncing File Editor の欄の下部にドラッグ・アンド・ドロップで付け加えた Resource Node: を選び、右側のupボタンを押して、一番上の行まで持っていきます。
- 同じく、3D Referncing File Editor の欄の下部にドラッグ・アンド・ドロップで付け加えた Shape: を選び、右側のupボタンを押して、上から二番目の行まで持っていきます。
- 最後に右側のCommitボタンを押します。
- All Resources をクリックし、Typeに表示される Resource Node: (modifiedcres_でAddしたもの)の項目上にマウスポインタを持っていき、右クリックして出るプルダウンメニューからDeleteを選びます。削除線が引かれました。
- 同じく、Typeに表示される Shape: (modifiedshape_でAddしたもの)の項目上にマウスポインタを持っていき、右クリックして出るプルダウンメニューからDeleteを選びます。削除線が引かれました。
- セーブします(メニューバーのFile→Save)。
以上でクローンのメッシュとスキンが出来上がりました。The Sims2 Body Shopを起動し、「シムの作成」を選んで普段着のカタログを見ると、クローンが表示されているはずです(追加された衣類には右上隅に※印が付きます)。
XSI Mod Toolへのインポート用ファイルを作成するには、下の手順に従います。
パート5: XSI用のエクスポート
- SimPEを起動し、C:\マイ ドキュメント\EA Games\ザ・シムズ2\downloads に保存したクローンのメッシュファイル(例 MESH_24ka_afkimono_061020.package)を開きます。
- All Resourcesが表示されている状態で、右側のTypeに表示されている Geometric Data Container: をクリックします。
- Plugin Viewの所に Generic Rcol Editor が開き、 Models の欄の body にレ印が付いています。
- Order: のプルダウンから XZY を選び、Export ボタンを押します。
- ファイルの種類で "Softimage/3D dotXSI Exporter (*.xsi)" を選び、保存します。
XSIがアクセスできるように、日本語(全角の漢字、カナ)の使用を避けたアルファベットのフォルダに、dotXSI形式ファイルを置きます。XSI Mod Toolを起動したら、メニューバーの File→Import→dotXSI でファイルを開きます。開いたボディメッシュは、床のグリッドと比べると、2マス程度とかなり小さめです。[10月21日]
追記: "Smd Object Importer/Exporter by Skankyboy"には、どうやら不具合があるようです。Importの際にポップするダイアログが真っ黒で読めず、更に、自分でExportしたSMDファイルを(何も弄っていない状態にもかかわらず)Importできません。少なくとも、ボディメッシュ改造の用途では使えないようです。したがって、 "Softimage/3D dotXSI Importer/Exporter"を使用する事にしました。
|