Version: Unity 6.0 (6000.0)
言語 : 日本語
複数のシーンにデータをベイクする
シーンテンプレート

スクリプトを使って複数シーンの編集する

エディター内で、またはランタイムにスクリプトを使用して、複数のシーンを編集することができます。

エディターでスクリプトを使用する

エディター内でスクリプトを使用 (実行) する場合、以下を使用します。

  • シーンのストラクト: エディターとランタイムの両方で使用できます。シーンのストラクトには、シーン自体に関連する読み取り専用プロパティ (名前やアセットパスなど) があります。
  • EditorSceneManager API: このクラスはエディターでのみ使用できます。このクラスには、複数シーンの編集機能をすべて実装するための関数があります。複数シーンの編集機能は、このマニュアルのページ、複数のシーンを設定する複数のシーンにデータをベイクする に説明されています。
  • SceneSetup ユーティリティクラス: Hierarchy ウィンドウのシーンの情報を保存するために使用できるユーティリティクラスです。

ランタイムスクリプトの使用

ランタイムにスクリプトを使用して複数のシーンを編集する場合は、LoadSceneUnloadScene などの SceneManager クラスの関数を使用します。

ヒント:

  • シーン内の プレハブ をインスタンス化するには、PrefabUtility.InstantiatePrefab を使用します。
  • シーンのルートにオブジェクトを移動するには、Undo.MoveGameObjectToScene を使用します。
  • エディターを再起動するたびに Hierarchy ウィンドウの設定を行ったり、異なる設定を保存したりするのを避けるには、EditorSceneManager.GetSceneManagerSetup を使用することで、現在の設定を記述する SceneSetup オブジェクトのリストも取得できます。シーン設定に関するその他の情報とともに、オブジェクトを ScriptableObject にシリアライズできます。Hierarchy ウィンドウを復元するには、SceneSetups のリストを再作成して、EditorSceneManager.RestoreSceneManagerSetup を使用します。
  • ランタイムにロードされたシーンのリストを取得するには、sceneCount を取得してから、GetSceneAt でシーンの取得を繰り返します。
複数のシーンにデータをベイクする
シーンテンプレート