この文書は、Mod the Sims wikiで公開されている tutorials : simple mesh replacement in Blender を和訳したものです。 実際にやってみて詰まる箇所は、訳者が註を付けました。
原著者:Cmomoney
訳:へっぽこ刑事
このチュートリアルは、 Sims 3オブジェクトをクローンして、Blenderで作成したメッシュに置き換える、簡単な例を示します。 メッシュの作成、アンラッピング、UVマップ作成を含む、Blenderでのメッシュ入れ替えの基礎が分かります。
これは初心者向けです。 BlenderとSims 3オブジェクト制作の入門篇と考えられています。 基礎的なBlenderの機能はカバーしていますが、 Blenderの使い方を教える教本にはなっていません。 Blenderを効率的に使う方法を学ぶのであれば、 数あるBlenderの入門書を試したほうがいいと思います。 ここではSims 3のためにBlenderを使うことに焦点を当てています。
(※訳註:「UVマップって何ですか」とか「テクスチャーってメッシュの表面に直接書くんじゃないんですか」といった、3Dエディター側の知識は、別途マニュアルか教本を見てね、という意味。日本語で書かれた入門書だと「Blender入門」というのがあります。)
事前に「Setting Up Blender 2.5 for Object Creation」に目を通しておくことを強くお勧めします。 当文書ではこのセットアップを使用していますので、読んでいない場合に混乱するかもしれません。 また、Blenderの操作にも慣れておくことをお勧めします。
(※訳注:Blender TS3 Toolsは2015年時点ではサポートが終了しているため、 Blenderのバージョンが2.73以上の場合は正常に動作しません。 Blenderのバージョンが2.72bなら動きます。) コミュニティーでの議論は こちらを参照。
まず、s3ocを使ってEAのティッシュ箱のクローンを生成します。
s3ocを起動。tools -> searchと進む。 "search for text"の枠にClutter Table TissueBoxと入力。 Resource Nameの箱にチェック。 searchボタンを押し、s3ocがそれを見つけるのを待つ。 一覧からclutter table tissueboxを選択(一つしかないはずだ)。 Clone or Fixをクリック。
Unique Nameの下の欄に、名前を<あなたの名前>_ClutterTableTissuebox_Roundに変更。 Renumberの四角にチェックを忘れずに。 Startをクリック。 あなたのプロジェクトフォルダを指定。ファイル名を決めてセーブ。 ここまでできたらOKを押してs3ocは閉じてよい。
今度は、先ほど作ったパッケージからメッシュとイメージを取り出す必要がある。
s3peを開く。 file->Openをクリックし、あなたのプロジェクトフォルダを指定し、(訳注:先ほど作った)新しいパッケージを開く。 DisplayとTagsの箱はチェックを入れるのを忘れないように。 MLODというタグが付いていてグループナンバーが0x00000000であるリソースをクリック。 右クリックしてExport to .s3m2bを選択。 プロジェクトフォルダにセーブ。 MLOD 0x0000001も同様に。
(※訳注:ここで生成した.s3m2bファイルは、そのサイズがゼロですが、それで正常です。)
clutter_dという名前の_IMGリソースをクリック。 右クリックしてExport -> to Fileを選択。 名前を"tex.dds"にしてあなたのプロジェクトフォルダに保存。 dropshadow_object_aも同様に、"shadow.dds"として保存。 s3peは閉じていいです。
今度はこれらのリソースをBlenderに導入しよう。
Blenderを起動。 File->import->sims3 MLOD/MODLをクリック。 あなたのプロジェクトフォルダを指定して、grp00000000_cluttertabletissuebox_filebase.s3m2b を選択。 Import MLOD/MODLをクリック。
UV/Image Editorにて、Image->Open Imageをクリック。
(※訳注:UV/Image editorに切り替えるには、 上部中央付近のプルダウンメニューで"Default"になっているところを "UV Editing"に切り替える。 3D Editorに戻すにはDefaultに戻す。)
プロジェクトフォルダを指定する。 tex.ddsを選択し、Open Imageをクリック。 shadow.dds画像も同様に。
次はわたしたちのカスタムメッシュを作ろう。
カーソルを3D windowに置いた状態で、Shift+Sを押し、 Cursor to Centerを選択すると、カーソルが中央に移動する。 こうすると、私たちの新しいメッシュが確実にオリジナルと同じ原点(origin)に生成されるのだ。 では、Shift+Aを押し、Mesh->Cylinderを選択しよう。
Tを押すとtool shelfが表示される。 Add Cylinderオプションの一番下にあるCap Fill TypeをTriangle Fanに変更。 Verticesも12に変更。
また、Object Toolsの下のShadingをSmoothに変更。 Tをもう一度押すとtoolshelfが引っ込む。
次は先ほど作ったパッケージからメッシュと画像を取り出す必要がある。
Tabを押してEditモードに変更しよう。 G(Grab)を押し、さらにZを押すと、Z軸に固定される。 そこで1を押すと、その円筒が1単位上に上がる。 こうするとその円筒は「床」の高さまで上がってくる。 ENTERを押して確定させる。
.(ピリオド)を押すとピボットの中心をカーソル位置に変更される。 S(Scale)を押し0.044を入力するとその円筒はオリジナルのティッシュ箱のサイズまで小さくなる。 Enterを押して確定。 NUM.(※訳註:テンキーの小数点。テンキーの無いキーボードをお使いのかたは、Fnを押しながら代替テンキーの小数点。)を押してズームしメッシュのビューを中央にする。
今度は、編集を簡単にするためにわたしたちのメッシュを別なレイヤーに移動させ、 EAメッシュからゲットしよう。
TABを押してObject Modeに戻そう。 Mを押すとMove to Layerがポップアップする。 (※訳註:上段左から数えて)2番目の箱をクリックし、その円筒を2番目のレイヤーに移動させる。 さて、オリジナルのティッシュ箱を右クリックし、TABを押してEdit Modeに移行。 Aを押して何も選択されていない(オレンジ色のものが無い)状態にする。 NUM1を押してフロントビューに切り替える。
B(Box select)を押して、メッシュのちょうどティッシュの(訳注:箱ではなく箱から飛び出した紙の)部分をクリック&ドラッグで選択。 (※訳注:ここの操作は表示をワイヤーフレームモードにしたほうが楽かも。) Shift+Dを押すとこのティッシュが複製される。 ESCを押すと移動をキャンセルできる。 それで、それは同じ場所に置かれたままになる。 Pを押すとSeparateがポップアップするので、 By Selectionを選択。 こうすると複製を自分のオブジェクトにすることができるのだ。 TABを押してオブジェクトモードに切り替え、 そのティッシュを右クリックして選択。 (ティッシュだけが選択されてオレンジになるはずだ) Mを押してその複製を円筒がある2番目のレイヤーまで移動。 2を押して2番目のレイヤーに切り替える
モディファイアは、自動機能であり、アプライするまでは非破壊的に動作する。 わたしたちはメッシュを分割しシャープなエッジにするためにEdge Splitモディファイアが必要だ。 それからEAのメッシュにあるティッシュの部分をわたしたちのメッシュに結合する必要がある。
円筒を右クリック Properties Editor(※訳注:3D Editorモードで右手に出てくるウィンドウ)でObject Modifier(レンチのアイコン)をクリック。 Generateの下にあるAdd Modifierをクリック。 Edge Splitを選択。 Split Angleを40に変更。 こうすると円筒の天面と底面が別々のメッシュのパーツになる。 それでそれらと円筒の間のエッジがシャープになるのだ。 Applyをクリックしてこの変更を適用。
Shiftを押したままティッシュを右クリックすると、それを選択に加わる。 Ctrl+Jでそれら二つのオブジェクトが一つになる。 Properties Editorで、ObjectDataボタン(頂点に丸が付いた▽)を押す。 UV Mapsの下の、名前を何か別のものに変更する。cylinderとか。
UVアンラッピングはテクスチャーがどのように画像に対応するかを決める。 メッシュを平らな展開図に切り開くと思ってくれればいい。
TABを押してエディットモードへ移行。 Ctrl+NUM1で背面ビューに切り替え。 Ctrl+tabを押しMesh Select Modeポップアップの中のEdgeを選択。 真ん中のエッジを右クリックして選択。 Ctrl+Eでエッジメニューが出ます。Mark Seamを選択。 これは、unwrapをしたときにUVマップが切れる場所を指定しています。 Ctrl+tabを押し、Verticesを選択するとVertex selectに戻ります。
Bを押してBox Selectへ。円筒の天面を構成する頂点を全て選択。 同様に底面の頂点も。 Uを押して、メニューのunwrapを選択。 これにより円筒がUV/image editorにunwrapされる。
UVマッピングは、テクスチャーがメッシュ上の正しい場所に表示されるように、UVパーツを画像の上に置くことである。 まずは、円筒の天面について作業しよう。
Nを押してProperties Panelを開く。 Displayの下のShadingの中にあるTextured Solidの四角をチェックすると、 メッシュ表面の画像が見えるようになる。 Aを押してすべてのメッシュを選択。 UV/Image editorで、左上角が折れた紙のマークのボタン(訳注:下のメニューバーにある)を押し、tex.ddsを選択。 これでメッシュの表面の画像が見えるようになる。
3D view画面で、NUM1を押して正面ビューに切り替える。 NUM8を3〜4回押して円筒の天面が見えるようにする。 BlenderではUVマップの各部分は「アイランド(islands)」と呼ばれている。 UV/Image editorで、天面のアイランドにカーソルを置く。 Lを押してそれを選択。 Gを押してそれをトップへ持ってくる。 その中心がおおむねティッシュ箱の天面にある黒い点に入るようにする。
(※訳註:マウスの右ドラッグで移動させる。ただし、下の選択ツールのうち窓みたいなアイコンをクリックしておかないと、点だけ、または辺だけ動くことになる。)
NUM.を押してズームし、島の中心を見る。 Sを押して青い四角形より小さくなるまでスケールダウン。 R(rotate)を押して、島を黒い部分がティッシュの付け根に合致するまで回転。 G,S,Rを使ってうまくフィットするまで調整。
では円筒の残りの部分にとりかかろう。
3D View画面で、円筒の底面が見えるまでNUM2を何度か押す。 UV/Image editorでズームアウト(NUM-)をして他のアイランドが見えるようにしたら、 あなたのカーソルをもう一つの円のアイランドの上に動かして、Lを押して選択する。 天面でやったのと同じように、ズーム、G、S、Rを使って、 そのアイランドをもう一方の小さな青い四角形の中央に置く。
ズームアウトして、Lを押して円筒の残りの部分(※訳註:円柱の側面の部分。細い扇形がたくさん並んだ部分。)を選択。 GとSを使ってそのアイランドを移動、サイズ調整し、 アイランドの上と下が、画像のサイドの部分のラインの直上、直下になるようにする。 3D Viewでctrl+NUM1を押し、バックビューに戻る。 そうしたらSを押し、Xを押しX軸を固定。 縮尺を調整して、そのアイランドがメッシュの背景にちょうど合うようにする。
今度は、わたしたちはわたしたちのメッシュをRIG(すなわちオブジェクトの骨格) のボーンに割り当てなければならない。 また、メッシュのすべてのフェイスを四角形から三角形に変更しなければならない。 そうすればわたしたちのメッシュをEAのメッシュと入れ替えることができるのだ。
まだエディットモードであるので、Aを押して全体を選択する。 プロパティエディタの中の(※訳注:逆△のアイコンをクリックして)Vertex Groupsの下にあるObject Dataボタンを押し (※訳注:より正確に言えば、リストの中の0xCD68F001を選択して)、 Assignボタンを押すと、その頂点が0xCD68F001ボーンに割り当てられる。
3D ViewでCTRL+Tを押すとフェイスが三角形に変換される(ザ・シムズ3では三角形でなければならない)。 TABを押してObject Modeに切り替える。
円筒のオブジェクトがまだ選択されているので、SHIFTを押しながら1を押してレイヤー1を表示させる。 shiftを押しながらもともとのティッシュ箱を右クリック。 プロパティーエディターの中でSceneボタン(ライトと球と円筒のアイコン)を押す。 Sims3 MLOD/MODL Toolsの下にあるSwap Meshボタンを押す。 こうするとオリジナルのメッシュがあなたのメッシュに置き換わる。
ドロップシャドウはオブジェクトの表面の影を決定するメッシュである。 現在、私たちのシャドウは正方形であるが、丸にする必要がある。 そうしたらエキスポートして全てをs3peに戻すことができる。
あなたのメッシュの下にある平らなメッシュ(ドロップシャドウメッシュ)を右クリック。 タブを押してエディットモードへ移行。 Aを押してすべての頂点が選択されるまでAを押す。 UV/Imageエディターで、角の折れた紙のボタンを押し、そのシャドウ画像を選択。
少しだけズームアウト(NUM-)。 カーソルをアイランドの上に置き、Gを押すとそれを動かせるようになる (※訳注:マウスの右ドラッグで動かせる)。 XでそれをX軸に固定する。 そのアイランドを左に移動させてDark Circleに重ね、影があなたのメッシュの下の中心にくるようにする。 TABキーを押してオブジェクトモードに戻る。
File -> Export -> Sims3 MLOD/MODLへ進む。 あなたのプロジェクトフォルダを指定し、grp00000000_clutterTableTissueBox_filebase.s3m2b を選択。 Export MLOD/MODLを押す。
(訳注:ここまでの操作に漏れや手違いがあると、エキスポートは失敗する。エラーメッセージも何も出ないので一見エキスポートできているように見えるが、.s3m2bファイルのタイムスタンプを確認して、エキスポートしたはずの時刻になっていなければ、それはエキスポート失敗であり、何かが抜けている。)
File -> Saveへ進み、"mlod"と名前を付けて.blendをプロジェクトフォルダに保存。 s3peを起動し、あなたのプロジェクトフォルダにあるpackageをもう一度開く。 MLODリソースを選択し、右クリック、Import from .s3m2bを選択。 あなたのプロジェクトフォルダから grp00000000_clutterTableTissueBox_filebase.s3m2b を選択。 Openを押す。 3つポップアップが出るのですべてYesをクリック。
MODLはそのオブジェクトのローポリ版である。 これはゲーム中でズームアウトしたときに電算機資源を節約するために使われる。 またはグラフィック設定が低の場合にも使われる。 私たちのオブジェクトは既にローポリであるから、単に同じメッシュを流用することにしよう。
Blenderを起動。 ステップ5を繰り返す。 今回は、grp00000001_clutterTableTissueBox_filebase.s3m2bを選択する。 File->Appendに進み、以前セーブしたmlod.blendを選択。 そしてObject ->group00_mを選択し、Append from Libraryをクリック。 (訳注:この操作により、EAオリジナルのローポリ版ティッシュ箱と、先ほど作ったハイポリ版ティッシュ箱の本体部分がr両方ロードされた状態になる。)
シフトを押したままオリジナルのティッシュ箱を右クリックし、選択に加える。 プロパティエディタの中のSims 3 MLOD/MODLパネルをクリック。 そしてSwapボタンを押す。
ステップ24を繰り返すが、今回は.blendのセーブはせず、 MODLリソースを選択、使うのはgrp00000001_clutterTableTissueBox_filebase.s3m2b File->Saveに進みパッケージをセーブ。
(訳注:詳しく書くと、まずBlenderから
grp00000001_clutterTableTissueBox_filebase.s3m2bをエキスポート。Blenderは閉じてよい。
次にs3peを起動し、MODLリソースの行を選択して右クリックし、
Import from .s3m2bを選択。先ほどの
grp00000001_clutterTableTissueBox_filebase.s3m2bを選択してインポートする。
3つポップアップが出るのですべてYesをクリック。
ここまでできたら、File -> Saveで保存。
あなたの作業フォルダーに、<あなたの名前>_ClutterTableTissuebox_Round.package
というファイルができ、たった今上書きセーブされたことが確認できるはずだ。
これをあなたのゲームフォルダのElectronic Arts\ザ・シムズ3\Mods\Packages
フォルダにコピー。
ゲーム中でテストする。
おわり
一部改稿 : January 9,2016
初稿 : December 2, 2015