大量の画像をダイシングするとUnityがメモリー不足で落ちるので回避方法を知りたい

34 views
Skip to first unread message

師走幸希

unread,
Nov 18, 2025, 12:43:13 AM11/18/25
to 宴ユーザーグループ
お世話になっております。
ダイシングコンバーターを使用しています。
ダイシングする画像が多く、通常通りに仕様すると
Unityのメモリ不足でパソコンがフリーズしてしまいます。
(パソコンのメモリは64GB、仮想メモリを3倍に設定しています)

Characterフォルダの中身全部を一気にダイシングするのではなく、
ダイシングする画像があるフォルダを少しずつ指定してダイシングすることは可能でしょうか?
データを一時的に移動する事も考えているのですが、
フォルダ一つにつき100個差分ほど入っており、フォルダも数十個あるのでちょっとその方法は避けれないかな……と思っております。

数個のフォルダ指定して、そこだけダイシングする……といった事は可能でしょうか?

マッドネスラボ

unread,
Nov 18, 2025, 2:41:14 AM11/18/25
to 宴ユーザーグループ
はい。可能です。

ドキュメントでは、入力元のフォルダをCharacterフォルダとしていますが、任意のフォルダを設定することも可能です。

たとえば、次のようになっている場合
Character
 ├Kohaku
 ├Run
 ├Roboko
 ┗Utako
  
以下のようにあらかじめフォダを分けて

Character1
   ├Kohaku 
   ┗Run

Character2
 ├Roboko
 ┗Utako

   
1回目はCharacter1フォルダを設定してコンバート、
2回目はCharacter2フォルダを設定してコンバート・・・という風にすることも可能です。

出力位のOutput1だけは、共通してResources/プロジェクト名/Texture/Characterフォルダにしてください。
Outpu2は任意のフォルダも構いません。


2025年11月18日火曜日 14:43:13 UTC+9 師走幸希:

マッドネスラボ

unread,
Nov 18, 2025, 2:51:37 AM11/18/25
to 宴ユーザーグループ
>フォルダ一つにつき100個差分ほど入っており、フォルダも数十個あるのでちょっとその方法は避けれないかな……と思っております。
あらかじめフォルダをわけるのではないのであれば、

ダイシングは、指定したフォルダ以下のサブフォルダを一つの画像にまとめるので
フォルダ を以下のように多層に分けているのであれば、

Character
 ├Group1
   │  ├Kohaku
   │  ├Run
 ├Group2
         ├Roboko
        ┗Utako

1回目はGroup1を2回目はGroup2を指定するという形であれば、処理の段階をわけることができます。

そうではなく、Characterフォルダ以下にたくさんサブフォルダがある場合は
現状だと処理をわけることができないです。
先述したように、Character1フォルダCharacter2フォルダにわけておくか、
メモリが枯渇しようないように、コンバート処理の区切りでメモリをこまめに解放するようにプログラムを更新する必要があります。
もし、ワークフロー的にフォルダをわけるなどが難しい場合は、メモリの解放処理ができないかプログラムを見直してみるのでご連絡ください。



2025年11月18日火曜日 16:41:14 UTC+9 マッドネスラボ:

マッドネスラボ

unread,
Nov 18, 2025, 3:37:14 AM11/18/25
to 宴ユーザーグループ
コンバート処理の最中に、なるべくメモリの解放処理ができるように更新しましたので、添付のパッケージファイルを適用してください。
(ダウンロードした添付ファイルの拡張子が *. gzになっている場合は、*.unitypackageに変えてからプロジェクトに適用してください)
この変更は、次回の宴のアップデートにも反映させる予定です。


2025年11月18日火曜日 16:51:37 UTC+9 マッドネスラボ:
FixDicingMemory.unitypackage
Reply all
Reply to author
Forward
0 new messages