この記事は、
プレハブをInstantiateしてゲームオブジェクトを生成する際に、
遅い・画面が止まるといった問題に対して自分が行っているアプローチを書きます。
【箱猫倉庫ver1.3(次回アプデ)】
— snoopopo@個人ゲーム開発中 (@snoopopo) December 5, 2021
古い端末だとunityロゴ~タイトル表示まで遅い問題あってようやく修正。
原因は重いプレハブのインスタンス化に時間かかってた。
知見が増えたのでどっかでまとめます:)
画面汚ないのは勘弁w😖#ゲーム制作 #gamedev #IndieGameDev #indiegame #ゲーム開発 #unity pic.twitter.com/bqBZx1qb1T
- 何が遅いのか原因が分かってない場合
- インスタンス生成時ではなくプレハブのロードが遅いのかも
- プレハブをロードするのが遅い場合
- ソースからロードするのではなくあらかじめアタッチしておく
- 非同期でロードする
- 例(複数ある場合)
- インスタンス生成が遅い場合
- インスタンス化するオブジェクトの数を減らす
- 画面に見えてる範囲だけ順次生成する
- 生成したオブジェクトを使いまわす
- プレハブ内を分けて非同期で順次インスタンス化する
- スクリプトで
- プレハブ自体を分割
- インスタンス化するオブジェクトの数を減らす
- 画面が止まっている間「Loading・・・」を出して待ってもらう