よくある雑多な質問まとめ
CM3D2/COM3D2の影の表現には以下の3種類があります。
・テクスチャに描いてある影:テクスチャを加工する。
・Toonを用いた影:Toon設定を調整する(mateのToonの解説参照)
・シャドウマッピングによるセルフシャドウ
セルフシャドウについては、公式機能では設定画面「影のクオリティ」で4段階の品質設定が出来ます。
描画範囲の制限は変更できないので、もっと細かく弄りたい場合はヅランブルーファンタジーさん(@cro_burant)作の
「COM3D2.AdvancedShadowSettingプラグイン」を使います。
セルフシャドウ色はマテリアルの「ShadowColor」で設定できます。
詳しくはmateのShadowColorの項目を参照。
・テクスチャに描いてある影:テクスチャを加工する。
・Toonを用いた影:Toon設定を調整する(mateのToonの解説参照)
・シャドウマッピングによるセルフシャドウ
セルフシャドウについては、公式機能では設定画面「影のクオリティ」で4段階の品質設定が出来ます。
描画範囲の制限は変更できないので、もっと細かく弄りたい場合はヅランブルーファンタジーさん(@cro_burant)作の
「COM3D2.AdvancedShadowSettingプラグイン」を使います。
セルフシャドウ色はマテリアルの「ShadowColor」で設定できます。
詳しくはmateのShadowColorの項目を参照。
・CM3D2では公式で変更方法が用意されています。
カスタムメイド3D2アップデータのreadme.txtより抜粋
・COM3D2の場合、上記の方法だと経営切替のCM3D2執務室だけ変更できます。
COMの執務室モニターを変更する場合は以下のMODを使います。
1;執務室アセットごと差し替えて、CM3D2同様にImgフォルダで変更できるようにするタイプ
(公式のアセット更新を常にチェックする必要あり)
https://ux.getuploader.com/Neerhom_mod/download/38
2:モニター画像を手動で配置するタイプ(複数メイドや公式スタジオの撮影用)
https://ux.getuploader.com/com3d2_mod_kyouyu_d/dow...
カスタムメイド3D2アップデータのreadme.txtより抜粋
[ver1.31]
・撮影モードの背景オブジェクト「モニター」と執務室の机の上にあるモニターに任意の画像ファイルを表示することが出来るようになりました。
インストールフォルダ内に「Img」フォルダを作成し、中に「display.png」(執務室用)「display_pm.png」(モニター用)を保存することにより表示できます。
・COM3D2の場合、上記の方法だと経営切替のCM3D2執務室だけ変更できます。
COMの執務室モニターを変更する場合は以下のMODを使います。
1;執務室アセットごと差し替えて、CM3D2同様にImgフォルダで変更できるようにするタイプ
(公式のアセット更新を常にチェックする必要あり)
https://ux.getuploader.com/Neerhom_mod/download/38
2:モニター画像を手動で配置するタイプ(複数メイドや公式スタジオの撮影用)
https://ux.getuploader.com/com3d2_mod_kyouyu_d/dow...
・裏地がモデリングされているスカートで、表面と裏地のウェイトや分割が一致していないと
動いた時に裏地が表に突き抜けて輪郭用の反転ポリゴンが見えてしまう現象。
裏地のマテリアルを別に用意して、アウトライン無しのシェーダーを指定すれば
片面ポリゴンなので突き抜けても見えずに誤魔化せる。
・スカートとエプロン等、表面が2層になっていて下層が表層を突き抜けるケースもある。
この場合もモデルの分割が違うか、ウェイトが違う事で発生する。
・COMの場合は、Outline_Texシェーダーを使えば輪郭ポリゴンにテクスチャを貼れるので
裏地は作らずに輪郭ポリゴンを裏地として使う方法もある。
ただし、輪郭ポリゴンは描画順の都合で全モデルのセルフシャドウが上に描かれてしまう特性あり。
動いた時に裏地が表に突き抜けて輪郭用の反転ポリゴンが見えてしまう現象。
裏地のマテリアルを別に用意して、アウトライン無しのシェーダーを指定すれば
片面ポリゴンなので突き抜けても見えずに誤魔化せる。
・スカートとエプロン等、表面が2層になっていて下層が表層を突き抜けるケースもある。
この場合もモデルの分割が違うか、ウェイトが違う事で発生する。
・COMの場合は、Outline_Texシェーダーを使えば輪郭ポリゴンにテクスチャを貼れるので
裏地は作らずに輪郭ポリゴンを裏地として使う方法もある。
ただし、輪郭ポリゴンは描画順の都合で全モデルのセルフシャドウが上に描かれてしまう特性あり。
しっぽカテゴリの根元には専用のBoneCenterを使うが、これはPelvisではなくて
その上のBip01 Spineに連動する。その為、背骨を大きく動かした時に腰とズレてしまう。
公式仕様に沿う限りどうにもならないので、対応策としてはPelvisボーンにアタッチするか、
ボディボーンの使えるカテゴリでPelvisを基点にして作る。
その上のBip01 Spineに連動する。その為、背骨を大きく動かした時に腰とズレてしまう。
公式仕様に沿う限りどうにもならないので、対応策としてはPelvisボーンにアタッチするか、
ボディボーンの使えるカテゴリでPelvisを基点にして作る。
スカートは通常状態、前めくれ状態、後めくれ状態の3種類のモデルを使い分けています。
しかし、公式MOD形式ではめくれ状態にテクスチャ変更が反映されません。
MOD規約が緩和された現在、テクスチャ変更MODを公式MOD形式で作る意味は全くないので
非公式MODとして作れば問題なく動作します。
しかし、公式MOD形式ではめくれ状態にテクスチャ変更が反映されません。
MOD規約が緩和された現在、テクスチャ変更MODを公式MOD形式で作る意味は全くないので
非公式MODとして作れば問題なく動作します。
以下のプラグインを使えば可能です。
COM用のACCExプラグインには、CM3D2時代のTexAnimatorプラグインの機能が統合されています(ver 0.3.2.0以降)。
解説:https://github.com/trzr/CM3D2.AlwaysColorChangeEx....
初期状態では無効化されているので、Sybaris\UnityInjector\Configフォルダにある
「AlwaysColorChangeEx.ini」の記述を変更すれば使えるようになります。

●COM3D2.NPRShader.Plugin (UVスクロールのみ?)
「04_追加シェーダー_NPRToonV2_について.txt」の「EmissionScroll」の解説参照
CM3D2.TexAnimator.Plugin | UVアニメーション、UVスクロールが可能 |
COM3D2.AlwaysColorChangeEx.Plugin | TexAnimatorの機能を内蔵している |
解説:https://github.com/trzr/CM3D2.AlwaysColorChangeEx....
初期状態では無効化されているので、Sybaris\UnityInjector\Configフォルダにある
「AlwaysColorChangeEx.ini」の記述を変更すれば使えるようになります。

●COM3D2.NPRShader.Plugin (UVスクロールのみ?)
「04_追加シェーダー_NPRToonV2_について.txt」の「EmissionScroll」の解説参照
テクスチャサイズは縦横が同じでなくてもOK。
縦横のサイズはそれぞれ「2のべき乗」で作ります。
ゲームでよく見かける「4,8,16,32,64,256,512,1024,2048,4096・・・」という数値です。
このサイズに収まっていないと、ゲーム中のメモリ消費量やロード時間の増加を招く恐れがあります。
昨今は「4の倍数ならOK」となりつつありますが、2のべき乗サイズにしておくのが無難でしょう。
参考:Unityマニュアル テクスチャ寸法
https://docs.unity3d.com/ja/2021.3/Manual/Importin...
縦横のサイズはそれぞれ「2のべき乗」で作ります。
ゲームでよく見かける「4,8,16,32,64,256,512,1024,2048,4096・・・」という数値です。
このサイズに収まっていないと、ゲーム中のメモリ消費量やロード時間の増加を招く恐れがあります。
昨今は「4の倍数ならOK」となりつつありますが、2のべき乗サイズにしておくのが無難でしょう。
参考:Unityマニュアル テクスチャ寸法
https://docs.unity3d.com/ja/2021.3/Manual/Importin...
・同一モデルでもゲーム画面内に複数出した場合は別データとして扱われ、2個出した場合はテクスチャのメモリ使用量も2倍になります。
あらかじめ1つのモデルとして作ってあればメモリを節約できるので、用途に応じて作り方を工夫しましょう。
複数枚のタトゥーを装着する場合は、1枚のテクスチャとして結合してあれば特に4Kテクスチャの場合には効果的です。
・精細さがあまり必要ないテクスチャの場合は、無理に4Kテクスチャを使うよりも
グラフィックツールで少しボカシをかけておけばジャギー(線や輪郭で目立つギザギザ)を誤魔化せます。
あらかじめ1つのモデルとして作ってあればメモリを節約できるので、用途に応じて作り方を工夫しましょう。
複数枚のタトゥーを装着する場合は、1枚のテクスチャとして結合してあれば特に4Kテクスチャの場合には効果的です。
・精細さがあまり必要ないテクスチャの場合は、無理に4Kテクスチャを使うよりも
グラフィックツールで少しボカシをかけておけばジャギー(線や輪郭で目立つギザギザ)を誤魔化せます。
・公式メイドのプリセットの場合
Sybaris Arc Editorのファイル名検索で「preset」を調べれば格納フォルダが出てきます。
あとは必要な物を保存すればOK。

変更した公式プリセットを「MOD」フォルダ内に入れておけば
優先読み込みされるので差し替えできます(ModLoaderプラグインが必要)。
・NPC男のプリセットの場合
男の場合は.presetファイルではなく、専用の.menuファイル内で設定されています。
Sybaris Arc Editorのファイル名検索で「_i_man」を調べれば格納フォルダが出てきます。
「mbody(男ボディ)」「mhead(男の頭部)」「Hara(体型)」「mancolor(色)」がmenu内で設定されています。
「Hara」は男modelの体型シェイプキー「karadal」の値です。数字は%で0〜100。

・csv.arc内「character_preset_basedata.nei」に、メイド用プリセットと男menuのファイル名がまとめられています。
客1〜5はHイベント用の男性客。
自作プリセットをここに書かれているプリセット名に変更してMODフォルダに入れておけば、ModLoaderの機能で差し替え可能。

・Gamedataフォルダ内のarcに含まれていないプリセットは、Unityのアセット内
「resources_assets\TextAsset」に入っています。
抽出ツールで取り出して拡張子「.txt」を「.preset」にリネームすれば使えます。
Sybaris Arc Editorのファイル名検索で「preset」を調べれば格納フォルダが出てきます。
あとは必要な物を保存すればOK。

変更した公式プリセットを「MOD」フォルダ内に入れておけば
優先読み込みされるので差し替えできます(ModLoaderプラグインが必要)。
・NPC男のプリセットの場合
男の場合は.presetファイルではなく、専用の.menuファイル内で設定されています。
Sybaris Arc Editorのファイル名検索で「_i_man」を調べれば格納フォルダが出てきます。
「mbody(男ボディ)」「mhead(男の頭部)」「Hara(体型)」「mancolor(色)」がmenu内で設定されています。
「Hara」は男modelの体型シェイプキー「karadal」の値です。数字は%で0〜100。
・csv.arc内「character_preset_basedata.nei」に、メイド用プリセットと男menuのファイル名がまとめられています。
客1〜5はHイベント用の男性客。
自作プリセットをここに書かれているプリセット名に変更してMODフォルダに入れておけば、ModLoaderの機能で差し替え可能。

・Gamedataフォルダ内のarcに含まれていないプリセットは、Unityのアセット内
「resources_assets\TextAsset」に入っています。
抽出ツールで取り出して拡張子「.txt」を「.preset」にリネームすれば使えます。
menuの差分ファイルにはz1、z2、z3・・・と命名していきますが、この方法だと
アイテムリストにはz9までしか表示されません。
z01、z02、z03・・・と桁数を増やして書いておけば10個以上でも表示されます。
アイテムリストにはz9までしか表示されません。
z01、z02、z03・・・と桁数を増やして書いておけば10個以上でも表示されます。
ModLoader導入環境で、公式MOD形式のアイテムを付けていると装着数に比例して
ロード時間がかかるようでダンス開始時の暗転解除が遅れてしまいます。
MOD規約が緩和された現在、テクスチャ変更MODを公式MOD形式で作る意味は全くないので
非公式MODとして作れば問題なく動作します。
この問題を解消するプラグインもあります。
・ModLoaderの闇 (ふあんぶるさん作)
https://fumble.jp/com3d2/dokuwiki/doku.php?id=modl...
ロード時間がかかるようでダンス開始時の暗転解除が遅れてしまいます。
MOD規約が緩和された現在、テクスチャ変更MODを公式MOD形式で作る意味は全くないので
非公式MODとして作れば問題なく動作します。
この問題を解消するプラグインもあります。
・ModLoaderの闇 (ふあんぶるさん作)
https://fumble.jp/com3d2/dokuwiki/doku.php?id=modl...
・ファイル名やmenu、mate、model内の記述にスペルミスが無いか確認する。
・MODフォルダ内は階層構造を無視してファイル名だけ見ているので、修正前の同名ファイルが
他の場所に残っていると、そちらが読まれてしまう場合がある。
同名ファイルが複数入っていないか検索して確認する。
BepIn環境用スクリプト「report_dupes.cs」は、ゲーム起動時に重複ファイルをチェックしてくれる。
・「COM3D2.ShortMenuVanillaDatabase」「ShortMenuLoader.Plugin」等の起動高速化プラグインは
ゲーム内に入っているmenuの状態を保存しているので、新たにアイテムを追加した際にそれが反映されない場合がある。
該当プラグインのキャッシュファイルを削除すれば反映される。
・スクリプト(.ksと.nei)はゲーム起動時に一時的なarcファイルに梱包されてから使われる為、
ゲーム起動中に内容を変更しても反映されない。変更の反映にはゲームの再起動が必要。
・スクリプトは記述ミスをしやすいので注意。
スペルミス、スペースや「=」が消えてしまっている、maidとmanの書き間違いや番号違い等。
アイテム装着時は「@AllProcPropSeqStart」の抜けや、maid番号の指定ミスに注意。
・MODフォルダ内は階層構造を無視してファイル名だけ見ているので、修正前の同名ファイルが
他の場所に残っていると、そちらが読まれてしまう場合がある。
同名ファイルが複数入っていないか検索して確認する。
BepIn環境用スクリプト「report_dupes.cs」は、ゲーム起動時に重複ファイルをチェックしてくれる。
・「COM3D2.ShortMenuVanillaDatabase」「ShortMenuLoader.Plugin」等の起動高速化プラグインは
ゲーム内に入っているmenuの状態を保存しているので、新たにアイテムを追加した際にそれが反映されない場合がある。
該当プラグインのキャッシュファイルを削除すれば反映される。
・スクリプト(.ksと.nei)はゲーム起動時に一時的なarcファイルに梱包されてから使われる為、
ゲーム起動中に内容を変更しても反映されない。変更の反映にはゲームの再起動が必要。
・スクリプトは記述ミスをしやすいので注意。
スペルミス、スペースや「=」が消えてしまっている、maidとmanの書き間違いや番号違い等。
アイテム装着時は「@AllProcPropSeqStart」の抜けや、maid番号の指定ミスに注意。
・眉が前面表示になっていた筈なのに、他の画面に移動すると元に戻っている現象。
エディット画面で前髪を変更した際には一時的に変更前の状態が維持されているが、
眉の前面表示フラグは切り替わっていない。前面表示を一度OFF→ONと切り替える必要がある。
・他にも、エディット画面はパーツの付け外しが出来る都合で本来のアイテム優先順とは
違う動作をする事があるので注意。画面遷移でデータがロードされた状態が本来の仕様。
・オダメ初期フェイスとGP以降のフェイスでは前髪・眉・顔のRQ値が異なるが、これを全て
初期フェイス仕様に変更するプラグインがあるらしい。それも何か影響があるかも?
エディット画面で前髪を変更した際には一時的に変更前の状態が維持されているが、
眉の前面表示フラグは切り替わっていない。前面表示を一度OFF→ONと切り替える必要がある。
・他にも、エディット画面はパーツの付け外しが出来る都合で本来のアイテム優先順とは
違う動作をする事があるので注意。画面遷移でデータがロードされた状態が本来の仕様。
・オダメ初期フェイスとGP以降のフェイスでは前髪・眉・顔のRQ値が異なるが、これを全て
初期フェイス仕様に変更するプラグインがあるらしい。それも何か影響があるかも?
使用プラグインのバージョンが、想定している本体バージョンと合っていないと起こる場合がある。
NPRシェーダープラグインやDCMプラグイン等。
NPRシェーダープラグインやDCMプラグイン等。
・COM用の髪MODのmenuファイル内の伸縮ボーン指定に間違いがある
・カスメ2のファイルを参照している髪MODを、COMで連動なしで使おうとしている
等、原因がいくつかある模様。
●対策
・該当の髪MODに問題がないか調べて直す(存在しないボーン名がmenuの伸縮設定に書いてある等)。
よくわからなければ伸縮設定の箇所を消してみる。
・該当の髪MODをセーブデータ、プリセットデータから外す。
夜勤Dさん作の以下のツールでセーブデータとプリセットデータの装着アイテムを
変更できるので、エラーを出すMODを公式アイテムに変更すればとりあえずは復帰できる筈。
変更前にセーブデータやプリセットデータのバックアップを取っておくのを忘れずに。
[COM3D2]セーブデータ用MODクリーナー
https://ykndsnest.work/yknDLoader/dl/18
COM3D2用プリセットエディター
https://ykndsnest.work/yknDLoader/dl/19
・カスメ2のファイルを参照している髪MODを、COMで連動なしで使おうとしている
等、原因がいくつかある模様。
●対策
・該当の髪MODに問題がないか調べて直す(存在しないボーン名がmenuの伸縮設定に書いてある等)。
よくわからなければ伸縮設定の箇所を消してみる。
・該当の髪MODをセーブデータ、プリセットデータから外す。
夜勤Dさん作の以下のツールでセーブデータとプリセットデータの装着アイテムを
変更できるので、エラーを出すMODを公式アイテムに変更すればとりあえずは復帰できる筈。
変更前にセーブデータやプリセットデータのバックアップを取っておくのを忘れずに。
[COM3D2]セーブデータ用MODクリーナー
https://ykndsnest.work/yknDLoader/dl/18
COM3D2用プリセットエディター
https://ykndsnest.work/yknDLoader/dl/19
・modelに必要な頂点グループ(使用するボーン情報とウェイト)が無い場合に出るエラー。
ボーンデータ取り込みに失敗してボーン情報が追加できていない場合に起こりやすい。
全体にBone_centerのウェイトを0.0001で塗れば一応エラーは回避できます。
・古いボディMODを使っている際に出るエラー。
COM3D2の本体バージョン1.26辺りでボディにIKボーンが追加されました。
そのIKボーンに物理設定の衝突判定をアタッチしている髪MOD等を使った場合に、
古いボディだとIKボーンが無いので「物理体親ボーンがありません」エラーが出ます。
MOD側でアタッチ先をIKじゃないボーンにするか、最新仕様のボディを使えば解決します。
・IKボーンは一時的な位置合わせやアイテム装着等で使う物で、モーションによっては
位置が変わったり無くなる場合もあるので恒常的なアタッチ先には向いていません。
特に衝突判定のアタッチ先は本体ボーンにしておきましょう。
丁度いい位置にボーンがないという場合は、コライダーのオフセット設定で位置を調整します。
・ボーン関係のエラーは「AutoConvertor」プラグインの最新版を導入していれば解決できる場合が多いです。
https://fumble.jp/com3d2/dokuwiki/doku.php?id=com3...
ボーンデータ取り込みに失敗してボーン情報が追加できていない場合に起こりやすい。
全体にBone_centerのウェイトを0.0001で塗れば一応エラーは回避できます。
・古いボディMODを使っている際に出るエラー。
COM3D2の本体バージョン1.26辺りでボディにIKボーンが追加されました。
そのIKボーンに物理設定の衝突判定をアタッチしている髪MOD等を使った場合に、
古いボディだとIKボーンが無いので「物理体親ボーンがありません」エラーが出ます。
MOD側でアタッチ先をIKじゃないボーンにするか、最新仕様のボディを使えば解決します。
・IKボーンは一時的な位置合わせやアイテム装着等で使う物で、モーションによっては
位置が変わったり無くなる場合もあるので恒常的なアタッチ先には向いていません。
特に衝突判定のアタッチ先は本体ボーンにしておきましょう。
丁度いい位置にボーンがないという場合は、コライダーのオフセット設定で位置を調整します。
・ボーン関係のエラーは「AutoConvertor」プラグインの最新版を導入していれば解決できる場合が多いです。
https://fumble.jp/com3d2/dokuwiki/doku.php?id=com3...
・BlenderでCM3D2用マテリアルを作る際、選んだシェーダーに応じて必要な項目だけ入れたマテリアルが生成されます。
しかし、Unlitシェーダーでマテリアルを生成すると、実際のゲーム内ではテクスチャ設定が無いという扱いになってしまうようです。
頭に「CM3D2」と付くシェーダーでマテリアルを作り、シェーダー名だけUnlitの物に変更するのが確実です。
Unlitシェーダーはゲーム独自シェーダーではなくUnity側のシェーダーで、テクスチャを無加工で表示する物なので
テクスチャ名さえ合っていれば他は特に弄らなくて大丈夫です(透過のUnlit__Transparentの場合は透明度も設定する)。
しかし、Unlitシェーダーでマテリアルを生成すると、実際のゲーム内ではテクスチャ設定が無いという扱いになってしまうようです。
頭に「CM3D2」と付くシェーダーでマテリアルを作り、シェーダー名だけUnlitの物に変更するのが確実です。
Unlitシェーダーはゲーム独自シェーダーではなくUnity側のシェーダーで、テクスチャを無加工で表示する物なので
テクスチャ名さえ合っていれば他は特に弄らなくて大丈夫です(透過のUnlit__Transparentの場合は透明度も設定する)。
頂きました件で御座いますが、誠に申し訳御座いませんが仕様となります。
COM3D2.5とCREditSystemではUnityのバージョンが違う為となります。
COM3D2.5のUnityバージョンを上げる事も検討致しておりましたが、
VR関係が使えなくなってしまう等、お客様の環境に多大な迷惑をかける事がわかっております。
その為、こちらに関しましては仕様とさせていただいております。
ご了承の程お願い致します。
COM3D2.5とCREditSystemではUnityのバージョンが違う為となります。
COM3D2.5のUnityバージョンを上げる事も検討致しておりましたが、
VR関係が使えなくなってしまう等、お客様の環境に多大な迷惑をかける事がわかっております。
その為、こちらに関しましては仕様とさせていただいております。
ご了承の程お願い致します。
お問い合わせ頂きました件で御座いますが、
2.5側でプリセットを開く際に「メイドプロパティのヘッダーが不正です」と出ている場合は、
プリセットデータのいずれかのデータが破損していると思われます。
Presetフォルダの削除、もしくは破損していると思われる*.presetのファイルを取り除いて起動をお試しください。
(2.5で作成したプリセットデータをオダメ側に持ってきた場合同様のエラーが発生しますが、
こちらは2.5からオダメへの互換性がないため仕様となります)
ゴッドメイドとクイーンデビルはカスタムオーダーメイド3D2.5対応のアップデートが入っておりませんので、
2.5ランチャーのCOM3D2互換インストーラー経由でのインストールをお願いいたします。
2.5側でプリセットを開く際に「メイドプロパティのヘッダーが不正です」と出ている場合は、
プリセットデータのいずれかのデータが破損していると思われます。
Presetフォルダの削除、もしくは破損していると思われる*.presetのファイルを取り除いて起動をお試しください。
(2.5で作成したプリセットデータをオダメ側に持ってきた場合同様のエラーが発生しますが、
こちらは2.5からオダメへの互換性がないため仕様となります)
ゴッドメイドとクイーンデビルはカスタムオーダーメイド3D2.5対応のアップデートが入っておりませんので、
2.5ランチャーのCOM3D2互換インストーラー経由でのインストールをお願いいたします。
コメントをかく