Entry 目次

只今コメントには返信できませんがツッコミ大歓迎です(゜∀^)/
Reproduction or appropriation of HTML, images and comics from within this blog(site) is prohibited. Do not use my works without permission.

シムズ2メッシュの入れ替え作業

≫EDIT

オブジェクト改造にあたって、まず知っておかなきゃいけない「メッシュの入れ替え作業」
頻繁にやらないとこれ本当に忘れる・・・><ということで書いておきます。

本日やることはこういうことっすよー↓

これをマスターすればメッシュなんて作れなくても全然問題ないのダ!(`3´)ノイエイ
世に出回ってるステキオブジェクトを拝借して、自分好みの家具を作れちゃうぜ!

とってもとってもやる事が多くてヒジョーに面倒に思えるんですが、慣れると5分でできる作業です。
説明いっぱい書いたのでかえってわかりにくいかもしれませんが・・・^^;



メッシュを入れ替える詳細手順はこちらのサイト様にもあります。
Sims2コミュニティー>【基本】メッシュオブジェクトの作成解説1
こちらはメッシュ製作もする職人向けチュートリですが、職人を目指さない人にも応用できますので、一読オススメです。
↑の1P目後半にある「大まかな流れ」という項から読み始めるといいかと思われます。

このへん、人によってやり方が違ったりすると思いますが、以下私なりの方法を記します。
よって上記のチュートリサイト様とはちょっと違う部分があったりするかも。


【メッシュ入れ替え手順】
1.使いたいメッシュを持つオブジェクトから情報を取り出す
2.ObjectWorkShopでオブジェクトをクローンする
3.1の情報を2のクローンにブチ込む
4.不要な情報を消す(必要に応じて)
5.GUIDを取得&重複チェックする




我が家でもよく登場する2シートソファを例にしてみます。

左のMaxisソファ(クローン)に、右のお日様ビーチタオル(ユーザーメイド)を入れ込んでみます。

今回お題として使わせていただくお日様ビーチタオルはこちらにあります
(MTS)Mailyn-Tropical Beach : 12 new meshes for all the family & 2 recolors!
↑配布元の画像ではシムが座ってますが、実際にはデコ(装飾品)で座ることはできません。
これをソファになんか入れ込むと座れるようになるっつーわけで、こういう作業が必要になってくるっちゅーことですナ!
今回はこのメッシュとテクスチャを取り出すところからやってみよう!


ではレッツゴッ!



(以下SimPEバージョン0.73使用)
1.使いたいメッシュを持つオブジェクトから情報を取り出す

まずは使いたいメッシュを持つオブジェクトから情報を抽出してみよう!


今回はこちらのユーザーメイドのお日様シートのメッシュとそのテクスチャだけを使いたいんで、それに関連したデータのみ取り出せばいいことになります。

※今回リカラーが3種ありますが、とりあえずリカラーのことは考えず1色のみ取り出す方向で。



取り出すのは以下のデータです。
GMDC:メッシュ
TXTR:テクスチャ
TXMT:テクスチャ詳細データ
SHPE:メッシュとTXMTを関連付けるデータ
MMAT:リカラー用データ
※MMATはリカラーの際に必要となるデータです。リカラーしない・1色だけならいらないので無視してもいいです。


それでは、取り出したいメッシュオブジェクトをSimPEで開いてみよう!


GMDC:メッシュを取り出す
まずはGMDCを見ます。
ここにメッシュが格納されています。

この時、一応プレビューして使いたいメッシュとその名前=Subset名を確認しておこう。
以降、このSubset名が判断の基準になっていきます。

画像の例では「Plantphilodendron_leaves」っていうのがSubset名で、そういう名前のメッシュです。

取り出したいメッシュをチェックし、Exportボタンを押します。

今回は1つしかありませんが、複数でも可能です。
プレビューの際にはSubset名の横に書いてある(FaceCount=000、VertexCount=000)というのも見ておきます。ここの数値が1000とか2000以上と大きいと、SimPEでは抽出はできても入れ込みができない場合があります。


保存先を聞かれたら、自分でわかりやすい場所に保存します。

たとえばデスクトップなどに適当なフォルダを作ってそこに保存しときましょう。
画像では「一時保存用」とかフォルダを作ってます。
これは作業後捨てて構わないファイルになります。

保存したら、これでメッシュの抽出は完了です!




次にテクスチャを関連付けるデータを取りにかかろう!



SHPE:内容をメモる
SHPEはメッシュSubsetがどのTXMTに対応しているかを表示しています。

Subset名-TXMTの組み合わせがわかればいいので、メモ帳などにコピペします。
この組み合わせが重要なので絶対間違っちゃいけない!!

複数ある場合は、その分だけメモしますが、
基本的にはさっきGMDCで取り出したSubset名に関するものをメモします。

実際この例では2つメモってますが、GMDCでは「plant…_leaves」というメッシュ1つしかないので、もう1つの「groundshadow」の方は要らない情報です。なくてもいい。(あってもいいですが、実際ゲームには反映されないので入れても仕方ない)
名前からして影の部分なんでしょうが、このオブジェクトには元々影のメッシュはなかったんですね・・・
あわせて、「groundshadow」に関するTXMT、TXTRもいらないことがわかります。

このように、GMDCとSHPEを見れば、オブジェクトの中には不要な情報が含まれている場合があることもわかります。それは職人さんもまたMaxisデフォオブジェクトをクローンして作っているわけで、元のクローンの情報が残ったままになってることも多いゆえです。

メモ帳は保存しておいてもいいですが、「-」で最小化でもして放置しときましょう。
これも作業後には捨ててかまわない情報です。



TXMT、TXTR、MMATを取り出す
次はテクスチャ関連情報を取り出します。
TXMTとTXTRとMMATをそれぞれ同じようにやります。

ResourceList部に出てるファイル名を選択して右クリックでExportします。
複数ある場合はドラッグで全部選択して一気にExportしてもOKです。

保存先を聞かれると思うので、先ほどGMDCを入れた保存用フォルダに保存します。(そうしなくてもいいですが、とにかく自分でわかりやすい所に保存して下さい。でないと後で混乱するヨ!)



以上でメッシュとテクスチャ情報の抽出は完了です!
使ったオブジェクトファイルは保存もなにもせずそっと閉じましょう。



↑この集めた情報をクローンオブジェクトにぶっこんでしまえばいいってことです!!
では次にぶっこむためのクローンを作ろう!↓


2.ObjectWorkShopでクローンする

データを入れ込むためのクローンオブジェクトを作ります。


SimPEのObjectWorkShopを起動します。
←起動の仕方はこちら

起動したらStartの方を押します。
ちなみに
Start→Maxisデフォルトオブジェクトをクローンする場合で、シムズフォルダを開く。
Open→主にユーザーメイドのオブジェクトをクローンする場合に押。開くフォルダを指定する際に使用。


で、クローンしたいオブジェクトを選び、Nextを押す。

今回はソファの要素を使いたいのでソファを選択していますが、ベッドの外見を変えたいのならベッドだし、置物を作りたいのなら招き猫?とか選べばいいです。

ただ、複雑な動きをするオブジェクトはそれに合わせてメッシュも分かれていたりするので、難しいから避けた方が無難です。(例えばカウンターなど)


次の画面でCloneを選択し、
下でクローンの方法を指定します。

チェック項目はデフォルト設定(Set Defaultsを押す)でいいと思いますが、メッシュだけでなくテクスチャも使う場合は、Create a Stand-alone object をチェック

よくわかんない場合は、チェックすると思っておけばOK。

Maxisデフォルトオブジェクトの中には1つのテクスチャを複数で共有し、使いまわしているものがあります。Create a Stand-alone objectのチェックを外した場合、テクスチャを使い回すタイプであった場合はクローンでも使い回す設定になります。
チェックをした場合は、テクスチャは使いまわしません。


Nextを押して次の画面へ。


カタログ説明等は好きに変えていいです。あとでも変えられます。
Nextを押して進んでください。

別窓が開くと思うんで、

ここで好きなファイルネームに変えてもOKです。
配布目的がある職人さんは、サイン的な意味で自分の名前を入れたりしますが、このファイルネームは他と重複するとゲーム中不具合の原因になるので、よくわかんない場合はいじらないほうがいいです。
いじらなければ、”クローンオブジェクト名-[ユーザー名、製作日]”みたいなファイル名になり、SimPEの方でダブらないよう自動で決めてくれます。

何も変えない場合は、何もせずにOKボタンを押します。
変えた場合は、必ずUpdateボタンを押してOKを押します。

Finish まで押して、
保存をきかれたら、わかりやすい名前をつけてDownlodsフォルダに保存しましょう。

これでクローンができました!



次はいよいよデータの入れ込み作業です!


3.取った情報をクローンにブチ込む

今しがたクローンしたやつに、最初に抽出したデータを入れる作業がここからです。
以下順番はどうでもいいです。



TXMT、TXTR、MMATを入れる
引き続き、クローンファイルで、右クリックしてメニューからAddを選びます。

ファイル参照元を聞かれると思うので、先ほど保存したファイルを選びます。
わかりやすいところに保存しとかないと、ここで探すのが非常にメンドーになるっつーわけです^^;

それぞれ複数保存してる場合はフォルダが出来ていると思いますが、そのフォルダを開いて中にあるファイルを選んでください。




SHPEを追加する
クローンのSHPEに、メモ帳にコピっておいた情報をコピペします。

Subset-TXMTこの組み合わせが重要です!
大事なことなので2回言いましたっ!

さらに、ここではSubset名の重複に気をつけてください。(重複すると青色点滅の原因になる)
もし同じ名前があればいらない方を消す(delete)か、両方使いたいのであれば一方の名前を変える措置をします。名前を変えた場合は、GMDCでも同じようにSubset名を変えなければいけません。

記入できたらAddすると、追加されます。

Commitを押して一時保存します。




GMDCにメッシュを入れる
メッシュの追加作業です。
GMDCで、Importを押します。



ファイル参照元を聞かれると思うので、先ほど保存したファイルを選びます。

_gmdc.objという拡張子がついているヤツがソレです。


次に、追加方法を指定する窓が開きますので、
メッシュ名とAdd(追加)になってるかを確認します。
今回は1つだけですが、複数ある場合も同様です。
ここはデフォ状態でとくにいじらなくていいと思います。

AddになってたらOK押す。
これでメッシュが追加されます。
ここでFaceCount、VertexCountが大きいものは(ポリゴンが複雑)追加できない場合があります。そういうものはこの方法で入れ替え作業は出来ませんので諦めてください><



ここで保存します。


ここまで全部終わったらGMDCでプレビューしてみよう!
間違っていなければ、元のクローンと一緒に追加したメッシュが表示されるはずです。

追加したメッシュが真っ黒に表示されている場合は、SHPEの記載が間違っているかもしれないので確認しましょう。

今回は2タイルのソファに1タイルの装飾品オブを入れてますが、お互いのタイル0に合わせた位置にメッシュは入ります。

メッシュを追加するだけなら、もう完成ですネ!^^



さて、次はいらないデータを削除する方法です。


4.不要な情報を消す(必要に応じて)
ソファ部分を消して、お日様マットだけにしてみます。

GMDC:いらないメッシュを削除する
まずはGMDCで色々プレビューします。
ここで消したい部分と残したい部分のメッシュ名を判断します。

今回はソファの部分は影も含めてイラネので、消そうと思います。


引き続きGMDCでタブを変えて、

いらないメッシュ名のヤツを選び、Deleteボタンで削除します。
あくまでもメッシュ名(Subset名)で判断してください。

今回は「Plant..._leaves」というメッシュ1つだけを残して、他は全部消してみます。
消したらCommit。


タブを戻して、プレビューしてみましょう。

いらない部分が消えていれば成功です!
ソファが消えていますね。

一旦セーブします。

メッシュの入れ替えはこれで完了でもかまいません。
あとはGUIDEを取得すれば、ゲームで反映されます。(→5.で説明)

しかしながら、これではクローン元の不必要な情報が数多く残ったままなので、ファイル容量軽減のためにもいらない情報を消しておくのがベストです。
とくに不明なテクスチャ情報が多く残っていると、ゲーム内でまれに青色点滅が発生することもありますので、なるべく以下の作業もしておきましょう。


SHPEの情報を消す
GMDCでメッシュを消したら、SHPEも消す、ということを覚えておこう!
メッシュがないんだから、それに関連するテクスチャもいらなくなるのは当然ですね!

GMDCで削除したSubset名に合わせて、こちらも同じものを消します。
逆に言うとGMDCにないSubset名は消してよいってことです。

入れ込んだデータの中にも不要なものがあるかもしれません。そういうものもここで判断つくと思うので消しちゃいましょう。

消したらCommit。

SHPEはTXMTを指定しているので、次にTXMTも消せるということになります。




TXMTを消す
SHPEを消したら、TXMTも消せる、ということを覚えておこう!

SHPEで残したものを残し、他は消すって感じ。

複数ある場合は1つずつ消してもいいし、図のようにドラッグして一気選択してやってもいいです。

このTXMTはTXTRを指定しているので、次にTXTRも消せるということになります。




TXTRを消す
TXMTを消したら、その分のTXTRも消してよい、ということを覚えておこう!

ここはテクスチャ柄を見れば要不要の判断がつくと思いますが、TXMTで残したものを残し、他は全部消すということです。

必ず消さなきゃいけないわけじゃありませんが、テクスチャは非常に容量を食ってる場合があるので、ファイル軽減のためにもいらないものは削除することをオススメします。





MMATを消す&改変
同じようにMMATも古いものは消すことができます。
MMATはリカラー情報です。消しちまったメッシュに関するリカラー情報なんぞあっても仕方ないので消します。

MMAT=(##0x1C050000!)+TXMT名というファイル名になっているので、TXMTと同じものを残し、同じものを消します。
ま、これも新旧名前が全く違ってるので、どれを消せばいいのかすぐわかるかと思います。

なお、今後リカラーする予定はない、今ある一色だけでいいなんて場合は、MMAT自体が不要ですので全部消してしまってもかまいません。

追加した新しいMMATの方は、内容を一部変えます。
ModelNameの部分、抽出元の名前が入っていると思うので、これを現在の名前に変えます。
CRESがその名前です。
右のValue欄から、##0x1C050000!の部分は消さずにその後をCRES名に変えてください。

これの意味は、このMMATはどのオブジェクト名に対するリカラー情報なのかという目安です。(※実際はGUIDの番号で判断するので、関係ないかもしれないですがw一応)


ObjectGUIDの部分も変えないとダメです。それは5.の説明で。



GMNDの情報を消す
お次はGMNDです。
ここはやらなくても支障がないかもですが、削除したメッシュ情報が残ってる部分でもあるので(確実にいらない)消せる部分です。

EditBlocksから削除したSubset名が何番なのか確認し、
Contentタブでその番号を消します。
とは言っても、厳密には消すというより、使わない部分を非表示にしとくって感じの操作です。

(EditBlocksの部分で不要なものを消してもかまいません。その場合は番号が繰り上がるので、Contentで消す順番に注意。ここで間違うとクラッシュする場合がありますので要注意です!)


ついでだからリカラー設定しとく
リカラーもしたいという場合は必ず行わないとだめな工程です。

おなじくGMNDのContentタブのところで。

TsDesignModeEnabledというのがあった場合は、これはリカラー可能なオブジェクトということです。
Itemsの欄にはリカラーできるSubset名が入ります。(ちなみに2つまで可能)

よって、ここには昔のやつを消して、新しく追加したメッシュのSubset名を記入します。
これで後からリカラーも作れるようになります。

この例の場合、「fabric」というのは削除したソファのメッシュ名ですからもう不要です。新しく追加した「plant..._leaves」というメッシュ名に変えました。


全部終わったらセーブします。
これで余計なデータは消えたはず!




5.GUIDを取得&重複チェックする

GUIDの取得にはインターネット接続が必要です。
初めての場合は、メールアドレス等を記入しSimPEサイトにユーザー登録する必要もあります。

GUIDを取得する
OBJDでGUIDを取得します。

OBJDはタイル数+代表1個の分だけ存在し、OBJDの数だけGUIDもあります。(1タイルオブの場合は1個だけ)
たとえば今回のソファは2タイルオブジェクトなので、2タイル+1代表で3個のOBJDがあり、同時にGUIDも3つ取得する必要があります。

よって、全部のOBJDに対し、1つずつgetGUIDボタンを押して取得しましょう。

MMATがある場合、
代表のOBJDのGUIDを、MMATにも反映させなければなりません。

ファイル名の「-0.0」「-1.0」というのはタイル0、タイル1に相当しています。何もついてないのが代表と思ってOK。
代表OBJDを選び、チェックしてUpdateを押すと自動でMMATも変わります。
(反映させるのは代表のだけでOK。0.0とか1.0のはチェックUpdateしなくていいです)


<GUIDとは?>
シムズ2のオブジェクトは個々にIDみたいなもんがあって、それがGUIDという0x8桁の番号です。
このGUID番号が重複すると、ゲーム内では同じオブジェクトと認識されてしまい、その場合新しく作られた方が優先される仕様なので、元のオブジェクトが使えなくなるというような問題が発生します。
クローンしたオブジェクトはクローン元のGUIDのままなので、新たなオブジェクトとして世に送り出すためには、新たなGUIDを取得しなければなりません。

<MMATとGUIDの関係>
MMATはそこに書いてあるGUID番号のオブジェクトに対してリカラー情報を出します。
よって、MMATのGUIDを間違うと全く別のオブジェクトにリカラーが加わってしまいます。
例えばOBJDで0xAAAAAAAAというGUID番号のオブだったとして、同パッケージ内のMMATでは0xBBBBBBBBのGUID番号だったとすると、Aの方にはリカラーが反映されず、全く別のBオブの方にAのリカラーが出ます。
何か知らんがMaxisオブジェクトに変なリカラーが出るようになったという場合は、ユーザーメイドオブのMMATの中に、GUIDがクローン元のGUIDのままになっている物がある可能性が考えられます。




重複チェックする(FixIntegrity)
ファイルの追加変更を行った場合は必ずやっといた方がいい作業です。
SimPEでは同パッケージ内の各ファイルをInstance番号というもので判別していますが、これが重複しているとエラーの原因になります。
この重複を自動で修正するのがFixIntegrityという機能です。

メニューバーのToolsからそれを選んで、別窓が開いたら、何もせずにOKを押しましょう。
ここで何か問題があればエラーメッセージが出て教えてくれます。(たとえば同名ファイルがある等)
何もなければそのまま保存して終了です!

今回の例では旧データを一掃しているので重複はないんで、これはやらなくてもいいんですが、元のデータも残しつつ追加したりする場合は、Instance番号が重複している可能性が高いので、最後にこの作業をします。




以上、全て終わったらセーブして完成です!おつかれヽ(´∀`)/


ゲームに入れて確認してみよう。

ソファの外見がお日様シートに変わってます^^ソファなので座れますw

もちろんこのままでは見た目におかしいので、メッシュの位置や向きを変えたり、シムの座る高さを変えたりもできます。
そういう調整は別途こちらの作業でできますので、興味のある方はどうぞ!

CRESで色々位置調整
縁側対応ソファ