このWikiはIllusionのゲーム「プレイクラブ」のMod,改造に関する情報をまとめたWikiです。

ここでは、他のゲームからのコンバートや独自に作成した衣装をPlayClub内で表示させる方法を紹介する。
今回は別のゲームでModとして作成されたBlackLotusという衣装をコンバートする作業を例とする。

第0章:ツールの準備と素体の確保

0-1:ツールの準備

  • 3Dモデリングソフト
3Dモデリングのソフトは色々あるが、ここではメタセコイアを使用して説明する。
やることは他のソフトでもさほど変わらない。
  • SB3UGS
最新版を入手しておくこと。
ここでは1.0.13αで説明する。
操作が複雑になるためStep2:テクスチャの入れ替え(SB3)などで操作に慣れておくことをお勧めする。
  • バイナリエディタ&テキストエディタ
Unity3Dファイルを複製したり、text.assetを書き換えたりするのに使う

0-2:素体の確保

プレイクラブのサイズの基準となるボディMesh(ここでは素体と呼ぶ)を取り出す。
  1. SB3UGSを開き、resorce.assetsを開く。
  2. 左タブ群からcf_body_01を展開し、中央タブ群からMeshタブを選択する。
  3. 中心タブ群からcf_O_Upperbody_00とcf_O_Lowerbody_00を選択し右タブ群にあるExportをする。
  4. 選ぶFormatはモデリングソフトによって異なるが、メタセコイアではMqoが基本拡張子なのでフォーマットMqoで書きだす。
※注意
ただしメタセコイアではボーン、ウェイトの書き出しができないので注意。後の作業が面倒になる場合があります。

▼書き出し形式の違い
UVマップTextureボーンウェイト
.mqo××
.obj
.fbx
.dae

第1章:モデリング

1-1:素体のインポート

素体をモデリングソフトにインポートする。
この時、サイズを変更してインポートするとゲーム内でのサイズが変わってしまうので
必ず素体は1倍でインポートすること。インポートを終えたら編集できないようLockをかけておくとよい。

1-2:衣装の作成、またはインポート

素体を軸に衣装を作成していく。
衣装が既にモデリングされているものを使用する場合、素体と同ファイルに衣装をインポートする

1-3:モデリング

素体に合わせて通常通りモデリングを行う。
インポートしている場合は素体に合わせてサイズ調整していけばよい。
UVマップ、Textureも同時に作成する。
▼注意事項
  1. Meshは全て三角形で構成すること
  2. 頂点数の最大値は65000くらい
  3. Textureのサイズは1024×1024以下を目安に。データ量が多いと読み込めない
  4. オブジェクトの数は少ない方が作業が少なくて済むが、
    胴体と足が繋がる衣装の場合UpperBodyとLowerbodyの境目でオブジェクトを分けておくこと
  5. ゲーム上とソフト上では左右が逆転する(鏡で見たような状態)ため、非左右対称の衣装を作る場合注意が必要
  6. オブジェクトの名前は英数字であればなんでもよいが、最後に[0]をつけておくこと
▼[0]をつける理由
SB3UGSではSubMeshという概念が存在するが、ゲーム内ではSubMeshが読み込まれない。
[0]を名前につけておかないとImport時にTargetoptionが-1になり、SubmeshとしてImportされてしまう。
TargetoptionはImportする際、SB3UGS内でも0に編集することが可能だが、
度々Importすることがあるのでモデリングソフト内で済ませておくことをお勧めする。

1-4:Dummyを作成する

素体の中心の見えないところに小さなMeshオブジェクトDummyを作成する。
これはSB3UGSで不要なMeshを上書きし、非表示させたい時に使う。
▼Dummyを作る理由
Meshデータを削除したい場合、Removeをすると不具合が生じエラーでファイルが保存できないことがある。
(IDが変わるから?詳しい理由は調査中)
これを防ぐためにDummyのMeshで上書きすることで非表示にさせる。他の解決策がある場合はそちらでもOK

1-5:作成したモデルを書き出す

対応している拡張子はMQO、OBJ、FBXなどExport時と同じ。
ここでは不具合の少ないメタセコイアの拡張子MQOで書き出す。

第2章:ベースとなるUnity3Dを選択する

2-1:上書き対象とするUnity3Dを探す

illusion\PlayClub\PlayClub_Data\StreamingAssets\Wear\Cos
↑格納されている場所

■探す際にチェックするポイント(優先順位順)
1.オブジェクト数以上のMeshが存在するかどうか
現在のSB3UGSではMesh、Frameを追加することができないため元のデータのMesh数がオブジェクト数の限界となっている。

2.透過するTextureが使用できるかどうか
透過するTextureを使用しない場合は無視してもらって構わない。
使用する場合、Materialに○○_siru_〇〇などShaderがMarmoset Bumpedのものがあるかどうかを確認する必要がある。このShaderでないとTextureが透過されない。
Materialをインポートして対応するという方法もあるが、手間がかかるのでできればこのタイミングで探しておきたい。
なにをいってるかわからねーとおもうが透過するTextureを使いたい人は[[[プレイクラブ・UNITY初級改造]>http://www.geocities.jp/dataspace_2000/]]を熟読しておくこと。

3.見た目、形状に近いものがあるかどうか
キャラカスタマイズやアニメーション時、Boneに合わせてつけられたWeightによって衣装も変形する。
Importする際、Weightは元の衣装から引き継いで使用する形になるためできるだけ近い形状がよい。
近い物がない場合、「3-4:衣装の形状に近いMeshがなかった場合」を参照。

▼何を選んだらいいかわからない人へ
テンプレートファイルを作成したのでそちらを参照。

※参考※ 各Cosの内容とMesh数(ボディ、爪を除く。また半脱ぎの場合、数は同じか少なくなるので注意)

今回のBlackLotusでは上半身4、下半身2で首元にオブジェクトがあるためCos_13のスーツを使用する。

2-2:Unity3Dをリネームして複製する

複製方法についてはStep1:衣装の複製を参照

2-3:どのMeshをどのオブジェクトで置き換えるか目途をたてる


SB3UGSにはUndo(戻る)がなく、ミスが許されない。
バックアップをこまめにとることも大事だが、あらかじめ計画を立ててから取り組んだ方が効率が良い。
▼参考 BlackLotusの場合
Mesh内容オブジェクト内容
cf_O_buttonP_00_dスーツボタンMetal金具
cf_O_shirtP_00_dYシャツcollar首輪
cf_O_shirtP_00_d_uYシャツ内側collarrmetal首輪のトゲ
cf_O_suit_00_dスーツstrap1皮ベルト1
cf_O_suit_00_d_uスーツ内側strap2皮ベルト2
cf_O_suitpantu_00_dパンツstrap_lower皮ベルト下
cf_O_suitpantu_00_d_uパンツ内側Metal_lower金具下

第3章:Meshを移植する

3-1:衣装のMeshを移植する

1.SB3UGSにて2-2で複製したUnity3Dファイルを開く
2.左タブ群からcosb13(複製の際リネームしたもの)をダブルクリックし、中央タブ群に展開する。
2.1-5で作成したモデルを左タブ群にD&Dする
3.中央タブ群でcosb13(複製したもの)のObjectTreeを展開し、2-3で決めた対象に従って各オブジェクトをD&Dする

4.下図のような画面が出るので、下図の通りにチェックしOK、またはOK&Automaticallyを押す

この時、各Meshに折りたたまれているSkind Mesh Rendererを展開し、適切にImportされているかをレンダリング画面を見て確認する。
前のMeshが残っていたり、Skind Mesh Rendererに折りたたまれている〇〇Boneが見つからない場合、なんらかの理由でImportがミスっている可能性がある。
その場合、1-3の注意事項を確認すること

3-2:ダミーMeshを移植する

必要のないMeshファイルを非表示にするため同じ要領で移植する。

3-3:素肌部分のMeshの処理

素肌の部分を表示させる方法は大きく分けて2つある。
3-3-1:Text.assetを書き換え、ボディを表示させる
この方法を使うと乳首、乳輪と衣装を同時に表示させることができる。
透過する衣装などにオススメだが、キャラカスタムで乳首が高いと衣装を貫通して表示される恐れがある。
▼方法
1.左タブ群からMonoB&Otherタブを選び、該当するTextAssetをExportする

2.下図のように「noBody = "true"」を加えて保存する

3.先ほどの場所にReplaceFileを行う

こうすることで上半身が完全に表示される形になる。
▼参考 そのほかtextAssetに追加することで効果があるもの
skirtDynamic = "true"スカートが動くように
skirtDynamic = "false"スカートが全く動かなくなる
pants = "true"パンツが消える?
swimsuit = "true"パンツが消える
onepiece = "true"不明
3-3-2:BodyMeshを骨ごと移植する
この方法を使うと衣装から乳首が飛び出すことはなくなるが、透過する衣装などの場合乳首が表示されない。
▼方法
1.resource.assetsからcf_O_Upperbody_00をエクスポートする。(0-2:素体の確保と同じ流れ)
 この際、mqo形式以外のもので書き出す。(fbxやobjなど)
 こうすることでMeshだけでなく、ボーンとウェイトをそのままエクスポートすることができる。(骨抜きと呼んでる)
2.特にモデリング編集することなく、そのままD&Dし読み込む。
3.既にある素肌部分(大体は〇〇Bodyと書かれたMeshが素肌部分)にcf_O_Upperbody_00をImportする

4.Importのオプションは他のMeshと異なり、下図の通りに行う


▼骨抜きをする理由
元々あったBodyMeshは素肌が見える部分だけポリゴンが入っており、衣装が入っている部分は空洞になっている。
その空洞部分にはボーンとウェイトが設定されておらず、mqo形式(ボーンが入っていないMesh)で上書きすると変な形になってしまう。
これを防ぐために骨抜きし、上書きOptionをCopyNear(近い場所にコピー)からReplace(置き換え)にすることで
トラブルを回避することができる。この技は次に説明する3-4:衣装の形状に近いMeshがなかった場合でも生かすことができる。

3-4:衣装の形状に近いMeshがなかった場合


例えば現段階の状態をゲーム上で確認すると、一部のMeshの位置がかなりずれている。ここでは首輪のトゲと下半身のベルトが大きくずれている。
これは、Yシャツの内側やスーツのボタンなどに各Meshを上書きしているためボーンとウェイトがずれているから起きる現象である。
これを正しい状態にするために以下の手順を行う。(3-3-2で行った骨抜きを行う)
1.Cos_13を開き、Yシャツ、スーツ、パンツなど近い形状のMeshをmqo形式以外でExportする。
2.各MeshをD&Dで読み込み、表示がおかしかったMeshにD&Dで上書きする。
3.Importのオプションは3-3-2と同じく、下図の通りに行う

4.上書きされた状態からさらにBlackLotusの各Meshを上書きする。
説明のためあえて二度手間なことをしたが、最終的にはこのようになった。
Metal(金具)はcos_13に丁度いいMeshが見つからなかったため、チャイナ服を持ってきた。
Mesh内容骨抜きMesh内容オブジェクト内容
cf_O_buttonP_00_dスーツボタンcf_O_china_00_dチャイナ服Metal金具
cf_O_shirtP_00_dYシャツcollar首輪
cf_O_shirtP_00_d_uYシャツ内側cf_O_shirtP_00_dYシャツcollarrmetal首輪のトゲ
cf_O_suit_00_dスーツstrap1皮ベルト1
cf_O_suit_00_d_uスーツ内側cf_O_suit_00_dスーツstrap2皮ベルト2
cf_O_suitpantu_00_dパンツstrap_lower皮ベルト下
cf_O_suitpantu_00_d_uパンツ内側cf_O_suitpantu_00_dパンツMetal_lower金具下

第4章:Texture、Materialの設定

4-1:Material設定用のファイルを開く

1.左タブ群からMaterial設定用のファイルをダブルクリックで開く
2.多くの場合紫色だが、黒字のものもある。テンプレートファイルの場合は紫字

3.見分け方はObjectTreeを展開した際、赤字でMonoBehaviourと書かれたほうがMaterial用、Animatorと書かれたほうがMesh用

4-2:Textureを追加する

1.作成しておいたDDS形式のTextureをD&Dする
2.TextureタブにあるAddImageを押し、Textureを追加する

名前は英数字であればなんでもよい。

4-3:Materialを設定する

0.現在のTexture、Mtarial、Meshの割り当て関係を把握する
どのTextureをどのMaterialに割り当てるか目途を立てておく。
できるだけ作業量を減らす工夫をしておくことでトラブルを回避することができる。
1.Materialタブに切り替え、Textureを設定していく。
  • MainTex
メインTexture
  • BumpMap
バンプTexture(プレクラ上ではノーマルマップと呼んでる)
  • SpecTex
スペキュラーTexture
  • Color
RGBはカラー調整でAはアルファ、値を下げると透過する。
Aはプレクラ・アンスコで試したのですが、値を0.5未満にすると、急に消える、らしい。
  • Spec
多分Specular?
光沢度。高くすると金属光沢の様になるらしい?
  • Shiniess
光源の映り込み度合い。高くするとツルツルに見える。
  • SpecInt,Fresnel 不明

2.Materialが不足している場合、Copy->Newで追加する。
▼注意
  • 不要なMaterialがあってもRemoveしない、リネームもしないほうがいい
3.一度保存し、SB3UGSを再起動するか展開していたファイルを閉じる
こうすることで追加したTexture、Materialに新たにIDが振られ、設定しやすくなる。

4-3:MaterialをMeshに割り当てる

Meshタブを開き、SubmeshesからMaterialを選択する。
名前が変更できないだけに何のTextureを割り当てたかわかりにくいかもしれない。
その場合、TexturesUsedに使用されているTextureが表示されるのでそれを参考にするとよい。

4-4:Normals(法線)を設定する

法線を設定しないとTextureが変な切れ端みたいな表示になったり何かとおかしいことになる。
説明するのも面倒なので、各MeshでNormals...というボタンを押し、設定そのままでOKを押す。

RenderViewに表示される黄色の線の配置が変わればOK。
Meshの入れ替えを行った場合、必ず行うようにしよう。

第5章:実機で確認と調整

▼確認する事項
  • Textureがきちんと反映されているか
  • 衣装が過度に離れていたり、めり込んだりしていないか
    (スケールを変えたり、アニメーションさせたりして確認)
  • 光沢感をはじめとする質感に問題はないか
特にスケールした際にうまくスケールされない、Meshがガクガクになるなどモデリングソフトでの微調整が必要な場合が多い。
その場合、3章からやり直す必要がある。微調整が多い場合、先に4章を済ませてファイルのバックアップを用意するのもいいかもしれない。

↑一見すると上手くいっているようにも見える。


↑下乳部分にめり込みがあったり、首部分にめり込みがあったり、まだ改善の余地がある。

第6章:半脱ぎ状態を作る

モデリングソフトで半脱ぎ状態のMeshを作成し、同様の手順を行う。
基本的にやることは同じになるが、上書きするMeshは語尾に_nとつけられたものになり、ObjectTreeが分けられたものになる。

第7章:さいごに

  • この技を応用すれば巨乳化、巨尻化することも可能。
  • モデリングソフトがなくても、既存の衣装を組み合わせることでオリジナルな衣装を作ることができる。
    作業に慣れるためにもそこからはじめることをお勧めする。

お疲れ様でした。

このページへのコメント

はじめましてPSI18といいますm(_ _)m
イリュのゲームは結構前からやってるんですが、メッシュの”骨抜き”という技を知らずモデルの変形に長年悩んでいたんですが、このwikiのお陰でやっと前進することが出来ました。大感謝しております。

で、その骨抜きとは全然関係ない話なのですが、被り物を作っていたところサブメッシュが使えました。衣装では試していないのですが一応ご報告だけ。
ttp://capricious18.blog.fc2.com/blog-entry-4.html
衣装じゃなければ使えるのは当たり前ということでしたら僕の勘違いということで申し訳ありませんということで。。。

0
Posted by PSI18 2015年06月03日(水) 23:12:35
http://capricious18.blog.fc2.com/
返信

いくつか追記しました。
1)Step:0 SB3UGSの導入に画面説明の画像を掲載。そのルールにのっとり「タブ群」という形で画面を説明する形で追記
2)0−2:素体の確保の対象をcf_body_01に変更
3)4−2:マテリアルの設定に紫色のAnimatorの編集作業を追記

0
Posted by pcmmadmin 2015年05月29日(金) 00:58:46 返信

Txt.assetのSkirtのところを修正しました。
他にもいくつか勘違いをしていたところがあるみたいで、実機で検証してから追記したいと思います。

0
Posted by pcmmadmin 2015年05月28日(木) 10:37:58 返信

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

管理人/副管理人のみ編集できます