質問: シーンをまたいで変数を共有したい時の方法の一つとしてDontDestroyOnLoadを指定する、 というのがあるかと思うのですが、変数以外に共通部品についてDontDestroyOnLoadを使用するかどうかについて悩んでいます。 シーン上のオブジェクト数が増えてきて(まあ、これをできるだけ減らすのが最善でしょうが)、 シーン変更が重く、実機だとフリーズすることもでてきました。 原則的に、シーンをまたぐオブジェクトは少ない方が良いと理解してはいますが、 CPUやメモリの負荷としては、共通部品を前シーンでDestroyして後シーンでnewし直すよりはマシかな、 と思っているのですが、実際のところはわかりません。 ご存知の方いらっしゃいましたら、よろしくお願いします。
回答: Sceneの合体できることはご存知でしょうか?Unityにあるオブジェクトの情報をDontDestroyOnLoadで次のシーンに引き継ぐことができる一方で、`C# Application.LoadLevelAdditive("シーン名");`を使えば、現在のシーンにある情報と次に切り替えようとしているシーンの情報をまとめて合体することができるのです。これで大分CPU負荷は抑えられるでしょう。 いかがでしょうか。参考になれば幸いです。