お疲れ様です。オルトプラスにてUnityクライアントの開発を行っているAlessです。

弊社で開発中のUnityプロジェクトにて、アウトゲームの画面遷移部分の取り回しをよくするためにプレハブベースの小規模な画面遷移システムの試作を行いました。

試作のため実際に使用した際のパフォーマンス等は計測しておりませんが、実装方法や考え方が何かしらの参考になるかと思い一部分を公開させていただきます。

ScreenTransition.gif

今回のターゲット層

Q. そもそもUnity純正のシーン機能を使えばいいのでは?

今回のアウトゲーム部分ではシーンに紐づく要素であるライティングやNavMesh等を使用する予定がなく、その部分も破棄/生成を行ってしまうUnity純正のシーン遷移は無駄が多いのではないかと考えました。

また、プレハブを用いて画面を作成する場合、画面レイアウトのテンプレートをPrefab Variantによって各画面で共有することができます。大本のプレハブを編集すればすべての画面に変更が適用されるようになり、全体的なUIのレイアウト仕様が変更になった場合でも各画面を一から並べなおすといった手戻りが減ると考えました。

画面遷移システム「ScreenTransition」の主要な機能

動作環境

実装した環境: Unity2022.3.42f + UniTask 2.5.8