facebook twitter hatena line email

「Unity/Addressable/シーンロード」の版間の差分

提供: 初心者エンジニアの簡易メモ
移動: 案内検索
(シーンをロード)
(シーンをロード)
 
行40: 行40:
  
 
参考:https://light11.hatenadiary.com/entry/2019/12/30/222302
 
参考:https://light11.hatenadiary.com/entry/2019/12/30/222302
 +
 +
==シーンを追加でなく遷移させる場合==
 +
handle = Addressables.LoadSceneAsync("Assets/Scenes/SceneLoadSample2Scene.unity");

2022年9月7日 (水) 19:04時点における最新版

シーンを作成してAddressable登録

  1. Project内でSceneを作成する
  2. Sceneを選択し、Inspectorで、Addressableにチェックを付ける
  3. Addressableをビルドする(Unityメインメニュー/Window/Asset Management/Addressables/Groups/Build/New Build/Default Build Script

参考:https://soft-rime.com/post-3267/

シーンをロード

using System.Collections;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.AddressableAssets;
using UnityEngine.ResourceManagement.AsyncOperations;
using UnityEngine.ResourceManagement.ResourceProviders;

public class SceneLoadScene : MonoBehaviour
{
    [SerializeField]
    Button loadButton;
    [SerializeField]
    Button unloadButton;
    AsyncOperationHandle<SceneInstance> handle;
    void Start()
    {
        loadButton.onClick.AddListener(() => {
            StartCoroutine(LoadScene());
        });
        unloadButton.onClick.AddListener(() => {
            Addressables.UnloadSceneAsync(handle);
        });
    }
    IEnumerator LoadScene()
    {
        handle = Addressables.LoadSceneAsync("Assets/Scenes/SceneLoadSample2Scene.unity", UnityEngine.SceneManagement.LoadSceneMode.Additive);
        yield return handle;
    }
}

参考:https://light11.hatenadiary.com/entry/2019/12/30/222302

シーンを追加でなく遷移させる場合

handle = Addressables.LoadSceneAsync("Assets/Scenes/SceneLoadSample2Scene.unity");