ダーク/ライト切り替え

【Unity】複数のシーンがあるアプリでシーン遷移を軽くするための工夫

投稿日2023-10-11

Picture of the logo


目次

目次を読み込み中...

Unityでゲームアプリを作る際にシーンをまたぐ時に少しでもシーン遷移を軽くする方法を個人的備忘録も兼ねて書き残しておきます。

# シーン読み込みは非同期で

以下のようにコルーチンでLoadSceneAsyncを使用する事で非同期でシーンを読み込む事が出来ます。非同期処理中のステータスはAsyncOperation型の変数、この場合asyncLoadに記録されています。処理が完了するとisDoneがtrueになります。


            

# 任意のタイミングで発動

下記の例では予め非同期処理でシーンの読み込みをしておき、任意のタイミングで素早くシーン切り替えがされるようにしました。

具体的には、asyncLoad.allowSceneActivationをfalseにする事で、読み込みが完了しても次のシーンに移行しなくなります。この場合、asyncLoad.allowSceneActivationの値をtrueに書き換えた瞬間シーン遷移がなされます(読み込みが完了していれば)。


            

# 注意点

asyncLoad.allowSceneActivationをfalseにしてシーン遷移を保留にしている時にはasyncLoad.progressが1になる事もisDoneがtrueになる事もありませんので、もしif文などでprogressなどを処理の条件にする場合は注意しましょう。

# ローディング画面を表示する方法

シーンに限らず何かロード中に、ユーザーを飽きさせないためにローディング画面を表示することはよくある事です。以下の例ではシーンのロード中に簡単なローディング画面を表示します。進捗度合いがバーになって表示されます(一瞬で終わるかもしれませんが・・・)。

このサンプルでは進捗バーにスライダーコンポーネントを使います。 public変数に設定して実行する事で簡単なロード画面を作る事ができます。

以上、簡単ではありますがシーン遷移の高速化とロード画面の実装を紹介しました。






関連記事

Firebase AuthentificationでEmailアカウントと匿名アカウントを実装する

blog

今回はFirebase Authentificationを使ってUnityに匿名認証、メール認証を実装する手順を紹介します。

【Unity】MagicOnionサーバを立ち上げて自己証明書でSSL通信してみる

blog

Unity向けgrpcサーバーManicOnionの導入時にSSL化やNGINXの設定に少し手こずったので備忘録も兼ねて手順をまとめておきました。

GO言語サーバーとUnityクライアント(C#)をgRPCで接続テストしてみた【入門レベル】

blog

UnityでgRPCをする場合、Magic Onionを使うのがお手軽ですが、今回はGO言語でサーバーを構築してみたかったので最低限の接続機能を自作してみました。備忘録を兼ね書き残しておきます。

【Unity】文字列に禁止ワードが含まれているかチェックをする方法

blog

Unityで下品な単語など望ましくない言葉が含まれていないかをチェックする方法を紹介します

Unityでモザイク処理をする方法

blog

今回はUnityで画像にモザイク処理を掛ける方法を紹介します。標準機能では用意されていないようなのでカスタムシェーダーで実装します。

FirebaseStorageからUnityへファイルを読み込み、Resourcesに保存する

blog

UnityでFIREBASEのStorageサービスから画像ファイルをダウンロードしてシーン上に表示、保存するまでの簡単な手順紹介です。

UnityでFirebase Storeからデータを読み書きする

blog

FirebaseのFireStoreのデータをUnityから読み書きする手順を紹介します。入門レベル。

Unityで端末情報、IPアドレスを取得する方法

blog

Unityにて端末固有情報などをC#コードから取得する方法をまとめました。

UnityでTrail Rendererを使ってオブジェクトの軌跡を描画する

blog

今回はUnityでTrail Rendererを使ってオブジェクトの軌跡を描画する方法についてご紹介します。Trail Rendererを使うことで、オブジェクトがどのような軌跡を描いたかを可視化することができます。

【Unity】Json,CSVファイルを相互に変換する方法【備忘録】

blog

個人的備忘録も兼ねてUnityでインスペクタ上でテキストファイルを指定して、そのファイルから結果を取得する方法をいくつか紹介します。


スポンサーリンク

このサイトをシェアする