无法从Firebase存储下载和实例化3D模型到统一

我将3d模型放入了资产捆绑包中,并将其存储在firebase存储器中。当应用运行时,我想从firebase加载3d模型,并且希望3d模型成为主相机的子代。但是不幸的是它不起作用。当我运行该应用程序时,我从控制台中的debug.log获取了存储参考URL,但没有下载任何内容,我也调试了代码,没有发现任何错误。这是我最后一年的项目,因此请感谢帮助

using Firebase.Storage;
using System.Threading.Tasks;
using System.Collections;
using UnityEngine;
using System;
using UnityEngine.Networking;

public class Loadmodel2 : MonoBehaviour
{
// Start is called before the first frame update
public GameObject test;



void Start()
{
    FirebaseStorage storage = FirebaseStorage.DefaultInstance;

    Firebase.Storage.StorageReference reference =
    storage.GetReferenceFromUrl("gs://fit-union-221609.appspot.com/assettest1/myasset");

    reference.GetDownloadUrlAsync().ContinueWith((Task<Uri> task) => {
        if (!task.IsFaulted && !task.IsCanceled)
        {
            Debug.Log("Download URL: " + task.Result);

            // ... now download the file via WWW or UnityWebRequest.
            StartCoroutine(Loadcoroutine(task.Result));

        }
    });

}



IEnumerator Loadcoroutine(Uri uri)
{

    using (var www = UnityWebRequestAssetBundle.GetassetBundle(uri))
    {
        yield return www.SendWebRequest();

        if (www.isnetworkError || www.isHttpError)
        {
            Debug.Log(www.error);


        }
        else
        {

            AssetBundle bundle = DownloadHandlerAssetBundle.getcontent(www);

            var mya1 = bundle.LoadAssetasync<GameObject>("BarbarianVariant");
            yield return mya1;

            var obj = Instantiate((GameObject)mya1.asset);
            obj.transform.parent = test.transform;


        }
    }


}
}

这是我想要实现的目标  

无法从Firebase存储下载和实例化3D模型到统一

无法从Firebase存储下载和实例化3D模型到统一

sguidong 回答:无法从Firebase存储下载和实例化3D模型到统一

根据Google文档:

  

您的文件存储在Google Cloud Storage存储桶中。该存储桶中的文件以分层结构显示,就像您本地硬盘上的文件系统或Firebase Realtime数据库中的数据一样。通过创建对文件的引用,您的应用可以访问该文件。这些引用随后可用于上载或下载数据,获取或更新元数据或删除文件。引用可以指向特定文件,也可以指向层次结构中的更高级别的节点。

您引用“ gs://fit-union-221609.appspot.com/assettest1/myasset”的代码似乎未引用分层云存储桶。考虑更改为HTTPs引用,或从您的Google控制台获取正式的gs层次结构。

此外,资产捆绑包通常具有应包含在URI中的文件扩展名。


更新

经过我的进一步理解,看来gs URL是正确的。但是,查看屏幕快照,似乎未启用gameObject。这可能是问题所在。

本文链接:https://www.f2er.com/3035198.html

大家都在问