Sims 3メッシュを.packageからBlenderにインポートする方法

Sims 4 Studio公式サイトに、「Sims 3用メッシュを簡単にBlenderに読み込む方法」 (How to easily import a Sims 3 mesh to Blender from .package) なるチュートリアルがあります。 (原文:orangemittens 2015/7/1 1:56投稿) これの抄訳に、独自の補足を加筆したものです。 この手法を使えば、これまでSims 3で蓄積されたCASのカスタムコンテンツをSims 4に転用することができます。

はじめに

Sims 3用の.packageからメッシュをBlenderに直接インポートする方法を説明します。 気をつけてほしいことは、この手引きは、他人のメッシュを作者の同意なくシェアするためのものではない。 礼儀正しくしよう。 他人が苦労して作ったものを許可なく盗んではだめだぞ。

必要なもの:


1.CliptoolをBlenderにインストールする

Blenderを起動し、 File-->User Preferencesを選択。Addonsタブをクリックし、「Install from File...」をクリック。ダウンロードしたzipファイルを選択。zipの中身ではない(zipを解凍してはいけない)。 検索窓にS3と入力して、Import-Export:S3PY Animation Toolsを検索。出てきたらチェックボックスをチェック。 ユーザ設定を閉じる。設定を保存する。

必要ならGimpとS3PEもインストールする。準備ができたら、実際のデータの処理を始めよう。

2.Cliptoolを使ってsims3メッシュをインポートする:

Blender(の真ん中の3D View画面)がObject Modeであることを確認する (もしそうでなかったら、Tabキーを何度か押すと切り替わる)。 File-->Open...をクリックして、先ほどダウンロードしたSims3 Sim rigを開く。 年齢と性別ごとに別のファイルになっている。afRig.blendが大人女性。cuRig.blendが子供だ。

Sceneボタン(画面右下にある【Propertiesウィンドウ】のメニューのうち円柱と球のアイコン)を押す。 「S3PY Rig Tools」の左にある下向き三角を押す。 そこで現れたLoad CASボタンを押し、Sims 3 .packageが保存されている場所までナビゲートする。 Sims 3 .packageを選択してImport Sims3 Propボタンを押す。


取りあえず、元記事の内容はここまで。 ここまでやれば、Blenderにメッシュ、UVマップ、ウェイトが移転できている状態になる。 ファイル名を指定してセーブしよう。

ここからは補足説明です。CASを作った経験のある方にとっては釈迦に説法でしょう。


3.UVマップを書き出しておく

先ほどの操作でメッシュを読み込んだら、後の作業を楽にするためにUVマップを書き出しておこう。 Blenderの左画面はUV/Image Editorになっているだろうか。なっていなければ、メニューバーの一番左の四角をクリックして切り替える。 真ん中の3D ViewのモードをEdit Modeに切り替える(Tabキーを何回か押せば切り替わる)。 ここでAを押す(全選択)と、全ての頂点がオレンジ色に変わる。 この状態で左のUV/Image Editor画面を見てほしい。 これがUVマップ、すなわち、メッシュを展開図にした二次元画像だ。 左画面にカーソルを入れてAを押す(全選択)と、UVマップのすべての頂点がオレンジ色に変わる。 この状態で、 メニューバーのうち、UVs-->Export UV layoutをクリックし、UVマップを画像としてセーブする。

また、念のためにUVマップを紙に書き写し、それぞれのパーツが服のどこに対応しているのかメモする。 メッシュの頂点を選択したり解除したりすると、UVマップ上でも選択されたり解除されるので、対応が分かる。 ここまでやったら、Blenderはいったん終了してもよい。

4.雛型を作る→Sims3メッシュを雛型にAppendする

S4Studioを起動。 CASスタンドアロンの作成を選択してCASボタンを押す。 これから導入しようとする年齢性別と同じ年齢・性別の水着を開く。 ここでは、フリルやリボンができるだけ少ない、一番つるっとした水着を選ぶのがポイントだ。 新しいプロジェクトの画面が開いたら、「メッシュ」タブを選択して「エクスポート」を押す。 ファイル名を指定してセーブする。 これで、公式配布の水着のメッシュデータを雛型として書き出すことができる。 S4Studioはいったん終了してもよい。

新しいSims3メッシュを作ろうとするたびに、雛型のCASスタンドアロンは毎回新しく作る必要がある。 新しく作るごとに内部のシリアル番号がユニークに設定されるからだ。 もし、水着の雛型を別のSims3メッシュに流用すると、内部のシリアル番号が競合するので、 実際のゲーム中ではどちらかがCASモードの一覧に表示されなくなる。

Blenderを起動し、先ほどの雛型の水着を開く。 中央の3D View画面はObject Modeになっているだろうか。 なっていなければTabキーを何度か押すと切り替わる。 ここで、メニューバーからFile-->Appendをクリックし、先ほど保存したsims3メッシュを選択する。 (実際のメッシュデータはファイルのObjectフォルダの中に入っている)。

5.重複するパーツの処理

さて、これで、Sims3メッシュと、公式配布の水着が両方重なり合った状態になっただろう。 しかし、水着が服からはみ出したり、手足が白っぽいおかしな色になっている。 これは、Sims3メッシュと水着メッシュが重複しているからだ。

水着メッシュの不要な頂点は除去してよい。 例えば、明らかに服の下に隠れる部分の頂点はいらない。 このとき、服から露出する部分、手首から先や、脚や頸回りは必要な部分なので消してはいけない。 というのは、肌の部分は水着のメッシュを生かすほうが良いように思うからだ。

逆に、Sims3メッシュの側に手首から先や頸、脚が含まれている場合は、水着側と重複していないかチェックしよう。 たぶん重複しているはずだ。この場合はSims3メッシュの側の頂点を削除し、水着の方を残す。

この作業をするときは、sync選択モードを使うと楽できる。 UVエディター画面のメニューバーのうち、「View」の二つ右隣に、「立方体に矢印」のアイコンがある。 これを押し込むと、UVエディター画面で選択した頂点は、3Dエディター画面でも選択される。

インポートしたSims3オブジェクトを選択したいが、どこにあるか分からない? Blenderの右上にツリー構造の【Outlinerウィンドウ】があるだろう。 「cuRig」または「afRig」のツリーを開くとその中に入っている逆三角形アイコンのオブジェクトがそれだ。

6.ボーン設定の修正

手続き的には、この第6章を飛ばして進んでもインストール自体は可能だ。 だが、この状態でゲームにインストールすると…… 腕がビヨビヨになっている!スカートは天井まで突き抜け、胸がおかしな方向に飛び出している! これはなぜかというと、Sims3メッシュには、Sims4では廃止されたボーンが指定されているためだ。

Sim3メッシュをSims4に導入するとき、weight調整する前の例 ウェイト調整せずにインストールするとこんな感じになります。 モデルはtasaさん作Sims3用レティ・ホワイトロック。 腕がビヨビヨだし、膝はズレている、胸はおかしな方向に飛び出している。 これから直していきます。

Sims4で廃止されたボーンの指定を、Sims4用ボーンで代替するか、解除する必要がある。 Blenderで当該のメッシュを開く。 3Dエディター画面をEditモードに切り替える。 Propertiesウィンドウのうち「Object Data」ボタン(逆三角のアイコン)をクリック。 Vertex Groupsの下にboneの一覧がある。 この中から、廃止されたボーンの名前を探し出して、選択。

Sims 4で廃止されたboneがどれなのかは、 s4s公式ページのリスト で確認すべし。 実務的には以下のboneがあったら怪しい:

廃止されたボーンSims4で代替できるボーン
b__R_Bicep__b__R_UpperArm__
b__L_Bicep__b__L_UpperArm__
b__R_Wrist__b__R_ForearmTwist__
b__L_Wrist__b__L_ForearmTwist__
b__R_Breast__b__CAS_R_Breast__
b__L_Breast__b__CAS_L_Breast__
b__HeadNew__b__Head__
b__RightCheek__b__R_Cheek__
b__LeftCheek__b__L_Cheek__
b__Jawline__b__CAS_JawComp__
b__upper_skirt_(代替ボーン無し)
b__lower_skirt_(代替ボーン無し)
b__skirt_upper_Compress__(代替ボーン無し)
b__skirt_lower_Compress__(代替ボーン無し)
b__R_ThighCompress__b__R_ThighTwist__
b__L_ThighCompress__b__L_ThighTwist__
b__R_Calf_Compress__b__R_Calf__
b__L_Calf_Compress__b__L_Calf__

vertex一個ごとにBone名称を変更していくのは現実的でない。 右下のPropertiesウィンドウのbone一覧で「b__R_Bicep__」を選択し、その状態でダブルクリック。 そうするとboneの名前を変更することができるので、「b___R_UpperArm__」に書き換えれば、 オブジェクトのすべての頂点に対してBone設定を変更できる。

スカート周りには代替ボーンが無いものもある。 ボーン名を選択して「Select」ボタンを押すと、どの頂点に設定されているかわかるので、 頂点ごとに判断しよう。 3Dエディター画面でNキーを押すと、画面右にプロパティーバーが出現する。 この中で「Vertex Weights」のところに、選択した頂点のウェイトの内訳が表示される。 廃止されたボーンの割合が無視できるほど小さいならボーンを丸ごと廃止することもできる。 ボーンを廃止するには、 右下のbone一覧から廃止しようとするboneの名前を選択し 右のマイナスボタンを押せばよい。 (この操作は不可逆だから慎重に!)

もし、廃止されたボーンだけが指定された頂点があったとき、 単にボーンを廃止してしまうと、 そうした頂点は「ボーンが何も指定されていない頂点」になってしまい、 ゲーム中で頭上のはるか上方のどこか(仮想的な原点?)にすっ飛んでいってしまう。 Blenderでは「ある特定のボーンが指定された頂点を選択」することは簡単にできても、 「ボーンがひとつも指定されていない頂点」がどこにあるかは、総当たりの手作業で探すしかない。 したがって、廃止する前に、「廃止されたボーンだけが指定されている頂点」が無いか調べておくべきだ。

もし本当に存在するなら、頂点ごとに個別に処理するしかない。 具体的には、廃止されていないボーンを新たにその頂点に割り当ててやるしかない。 3Dエディタ画面で頂点を選択した状態で、 Vertex Groupsの中から「b__R_Thigh__」か何かを選択し、下の「Assign」ボタンを押す。 そうすると、選択中の頂点にb__R_Thigh__が設定される。 数値は3Dエディター画面のVertex Weightsを見ながら調整する。

最後に、それぞれの頂点に指定されたweightの合計がきっかり1になるように調整する。 このためには、中央の3D View画面をWeight Paintモードに切り替える。 左方のToolウィンドウのToolsタブを選択 (もしToolsウィンドウが非表示になっていたら、Tキーを押すと表示・非表示を切り替えることができます)。 Weight Toolsを展開する。 Normalize Allボタンを押し、下のほうに「Normalize All Vertex Groups」と表示されたら、 Lock Activeのチェックを外す。 これで、すべての頂点についてweightの合計がきっかり1になる。 ここでいったんセーブしよう。

まったく同じ座標に複数の頂点が存在することがある (スカートの布地と裏地が交わるあたりとか、前身頃と後ろ身頃の継ぎ目など)。 こういう重複した頂点を手作業で選択しようとしても、 裏側になっている方の頂点は選択できているように見えて実は選択できていないため、 意図したとおりの処理が行われないのだ。 どうしても動作がおかしい場合は、こういう重複頂点をmerge(ALT+M)するのも効果がある。 さもなくば、選択できる方を選択しておいてGZコマンドでちょっぴり座標をZ方向へずらしてみるとか (その上でVertex WeightsをCopyして、座標を戻すとか)。

名前を付けてセーブしたらBlenderは閉じてよい。


7.Sims 3のmaskをdiffuseに塗り替えること

Sims 3では、メッシュの表面の色の塗り分けを指定するのにマスクファイルを使っていた。 赤緑青の三色で塗り分け方を指定し、実際に何色に塗るかはCASの中で指定していた。 Sims 4では、実際に表示される色で塗った画像を指定しなければならない。 さらに、Sims 4では、服や帽子や靴の画像を一枚のdiffuse画像で指定しており、 それぞれ割り当て領域が決まっているから、 うっかり割り当て領域をはみ出すと、スカートに靴底の模様が表示されるなんていう失敗も起こる。 UVマップの割り当ては、ここで調べることができる: http://www.sims4studio.com/thread/62/fix-uv-map-template

左図のうち、左がSims3のマスク画像(1024x1024)、右がSims4のdiffuse画像(1024x2048。上半分は髪やアクセサリの領域なので透明にするのが正しい。)。モデルはtasaさん作Sims3用レティ・ホワイトロック。 左のデータを加工して右の画像を作る作業ということです。

S3PEを起動して、Sims 3 .packageを開く。 「_img」タグを持つ画像がいくつかあるはずだが、このうち赤緑青で塗り分けられた画像がマスク画像だ (赤緑青ではなく、赤-黄色-マゼンタに塗り分ける流派もある。機能は同じだ)。 これを選択して右クリックしてExport-->To Fileで保存。 (ちなみに、全体的に灰色っぽい画像があったらそれはおそらくノーマルマップ(法線マップとも言う)だ。 これもついでに保存しておくといい。) S3PEは終了していい。

先ほど保存したマスク画像をGimpで開く。 割り当て領域テンプレートを「レイヤーで開く」するといい。 ついでに、一番最初に保存したSims3 .packageのUVマップも「レイヤーで開く」しておこう。

s3のマスクデータは赤緑青の3色なので、これを実際に塗りたい色に塗りなおす。 Gimpには「色域を選択」という機能があり、同じ色を一括で選択できる。 これで赤を選択して、欲しい色で塗りつぶす (shiftキーを押しながら塗りつぶすと、選択範囲全てを一発で塗りつぶすことができる)。 緑と青も同様に措置する。

できた画像のレイヤーのサイズを横1024×縦2048に変える。 そして上半身は上半身の領域へ、下半身は下半身の領域へカット&ペーストする。 袖は袖。 それ以外は右下隅の未使用領域へ。 このとき、細かい柄を持たず、一色で塗りつぶされていればよいパーツについては、 その置き場所は精密でなくてよい。 いっそのこと、縮小してしまってもよい。 ここまでできたら、diffuseマップが出来上がり。 そのレイヤーをExportする。画像の形式はpngが望ましい。 そうしたらGimpは終了してよい。

8.UVマップを修正する

diffuseの画像を編集してしまったので、メッシュデータのUVマップも並行移動させないといけない。 Blenderで先ほどのメッシュを開き、 3D ViewをEdit Modeに切り替え、Aを押して全選択。 左のUV/Image EditorにUVマップが表示されるだろう。 UVマップを全選択した状態で、 UV/Image Editorの下のメニューバーのOpenボタンを押し、先ほど編集したdiffuseマップを読み込む。

メニューバーのうち、窓枠みたいなアイコンを押すと、UVマップのグループ全体を選択するモードになる。 この状態で、UVマップを選択して、適切な場所に移動させる。 GX(横方向に並行移動)、GY(縦方向に並行移動)、SX(横に拡縮)、SY(縦に拡縮)、R(回転)を使う。

先ほども言ったが、 細かい柄を持たない、一色で塗りつぶされていればよいパーツについては、 その置き場所は精密でなくてよい。 いっそのこと、縮小してしまってもよい。 できあがったら、セーブ。

中級者向けのヒント :  先のAppendの折に、水着メッシュから引き継いだ 素肌の部分(頸、手、脚)のUVマップの配置は、ちょっと配慮すると出来栄えが良くなる。 ポイントは、特段の理由がない限り元々あった位置を動かさないこと。 肌の絵柄はゲーム本体に埋め込まれているが、元々あった位置に置いたときに最も肌の見栄えがいい。 なまじUVをずらしてしまうと、ゲーム中では浅黒く表示されたりする。

9.Sims3メッシュを雛型に統合する

Sims3メッシュを水着に統合(join)しなければならない。 ……と、その前に、統合処理は不可逆であるから、統合直前のデータを「名前を付けて保存」しておこう。 そうしてから次へ進もう。

Blenderの右上にツリー構造の【Outlinerウィンドウ】があるだろう。 この中から、Sims3メッシュを選択 選択したら、shiftキーを押しながら、水着の胴体部分のメッシュも選択。 両方のメッシュが選択されているだろうか。 選択する順番を逆にしてはいないだろうか。 もしOKなら、ctrl+Jを押す。すると、Sims3メッシュが水着メッシュに統合される。

統合先は水着の胴体でなければならない。間違えて脛に統合すると、ブーツを履いたときに服全体が消え去ることになる。 どのパーツが水着の胴体なのかは事前に調べないとわからない……ツリー構造の中の目玉アイコンをクリックして表示・非表示を切り替えてみると分かる。

名前を付けてセーブしたらBlenderは閉じてよい。

10.パッケージファイル生成

S4Studioを起動し、先ほどの水着のプロジェクトを開く。 diffuseをインポート。 メッシュもインポートして、保存。 これでCASパーツの.packageファイルが生成される。

作成した.packageファイルを、あなたの マイドキュメント\Electronic Arts\The Sims 4\Mods フォルダにコピー。

11.ゲームにインストールしてテストする

さあ、さっそくゲームを起動して、実際に使ってみよう。

modは一発で完成するわけではない。 実際にゲームにインストールして使ってみて、 ソファーに座るとか、腕立て伏せをするなど、座標は変わらないが胴体が大きく動く動作をしてみて、 メッシュの動きが正しいか確認しよう。 おかしい箇所を見つけたらスクリーンショットを撮影して、画像を見ながら原因を分析する。


最終改稿:July 1, 2018

初稿:September 20, 2017


Sims4カスタムコンテンツ小ネタ集を見る

表紙に戻る