Addressable はシーンを非同期でロードし、ロードの進行状況を取得します。

プロジェクトのシナリオ:

当初、読み込みの進行状況を取得するために PercentComplete 関数を使用していましたが、毎回 0.85 から計算されることがわかり、それは許可されていませんでした。公式ドキュメントでは、「PercentComplete は操作全体の進行状況を反映するものであり、実際には反映されません」と説明されています。ダウンロードの割合またはメモリへのロードのみを正確に表します。ダウンロードの %。"、"正確なダウンロードの割合を取得するには、GetDownloadStatus() を使用します。"

GetDownloadStatus().Percent: 完了した計算のパーセンテージを 0 ~ 1 の浮動小数点値として返します。


解決:

GetDownloadStatus().Percent を使用してダウンロードの進行状況を取得します

    void Start()
    {
    
    
        StartCoroutine(LoadScene());
    }

    IEnumerator LoadScene()
    {
    
    
        // 异步加载场景(如果场景资源没有下载,会自动下载),
        var handle = Addressables.LoadSceneAsync("SceneName");
        if (handle.Status == AsyncOperationStatus.Failed)
        {
    
    
            Debug.LogError("场景加载异常: " + handle.OperationException.ToString());
            yield break;
        }
        while (!handle.IsDone)
        {
    
    
            // 下载进度(0~1)
            var percentage = handle.GetDownloadStatus().Percent;
            Debug.Log("进度: " + percentage);
            yield return null;
        }

        Debug.Log("场景加载完毕");
    }

おすすめ

転載: blog.csdn.net/zjjjjjjj_/article/details/127905676
おすすめ