質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

Q&A

解決済

2回答

5752閲覧

【Unity】【スマホ】LoadLevel時におけるDontDestroyOnLoadのCPU負荷

Namin

総合スコア13

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

0グッド

0クリップ

投稿2016/05/28 06:44

シーンをまたいで変数を共有したい時の方法の一つとしてDontDestroyOnLoadを指定する、
というのがあるかと思うのですが、変数以外に共通部品についてDontDestroyOnLoadを使用するかどうかについて悩んでいます。

シーン上のオブジェクト数が増えてきて(まあ、これをできるだけ減らすのが最善でしょうが)、
シーン変更が重く、実機だとフリーズすることもでてきました。

原則的に、シーンをまたぐオブジェクトは少ない方が良いと理解してはいますが、
CPUやメモリの負荷としては、共通部品を前シーンでDestroyして後シーンでnewし直すよりはマシかな、
と思っているのですが、実際のところはわかりません。

ご存知の方いらっしゃいましたら、よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

Unity 5.3からApplication.LoadLevelは廃止されているので、
SceneManager.LoadSceneへ置き換える必要があります。
http://docs.unity3d.com/ja/current/ScriptReference/Application.LoadLevel.html
http://docs.unity3d.com/ja/current/ScriptReference/SceneManagement.SceneManager.LoadScene.html

投稿2016/05/28 12:11

buibui80

総合スコア1033

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2016/05/29 01:29 編集

そうでしたね。廃止ではなく、非推奨になりましたね。 どっちを使用しても動くと思いますが、一応unity5.3だと以下のようになります。 //unity5.3以下の場合 Application.LoadLevelAdditive("シーン名"); ↓ //unity5.3の場合 ※使う前にかならずusing UnityEngine.SceneManagement;を記述すること SceneManager.LoadScene("シーン名", LoadSceneMode.Additive);
Namin

2016/05/29 07:21

そうでしたね。 アップデート後に警告が出たので書き換えたのですが、 頭がまだ前の記法で覚えていました。 失礼しました。
guest

0

ベストアンサー

Sceneの合体できることはご存知でしょうか?Unityにあるオブジェクトの情報をDontDestroyOnLoadで次のシーンに引き継ぐことができる一方で、```C#
Application.LoadLevelAdditive("シーン名");

いかがでしょうか。参考になれば幸いです。

投稿2016/05/28 07:30

編集2016/05/28 07:33
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Namin

2016/05/28 09:24

なるほど! そういえば以前マニュアルで読んだような..... シーン設計をやり直さないといけないですが、CPU負荷は確実に抑えられそうですね。 シーンの見直しを検討してみます。 回答ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問