我正在尝试使用统一Web请求下载一个资产包并显示进度,根据文献资料,我需要捕获一个WebRequestAsyncOperation对象来查找进度,但我找不到它
我试着使用AsyncOperation和UnityWebRequestAsyncOperation,我的例行公事都在使用,使用一种或另一种有什么区别?
这是我的代码:
IEnumerator DownloadModel3D()
{
using (UnityWebRequest uwr = UnityWebRequest.GetAssetBundle(bundleURL,1,0))
{
//UnityWebRequestAsyncOperation request = uwr.SendWebRequest();
AsyncOperation request = uwr.SendWebRequest();
while (!request.isDone)
{
Debug.Log(request.progress);
yield return null;
}
if (uwr.isNetworkError || uwr.isHttpError)
{
Debug.Log(uwr.error);
}
else
{
// Get downloaded asset bundle
AssetBundle bundle = DownloadHandlerAssetBundle.GetContent(uwr);
assetBundleInstance = Instantiate(bundle.LoadAsset(assetName)) as GameObject;
assetBundleInstance.transform.position = transform.position;
assetBundleInstance.transform.localScale = new Vector3(.08f, .08f, .08f);
assetBundleInstance.transform.SetParent(transform);
contador.text = "Descargado: " + assetName + "\n" + bundleURL;
}
}
}发布于 2018-02-18 09:54:49
我需要捕获一个WebRequestAsyncOperation对象来查找进度,但我找不到它
如果您的意思是WebRequestAsyncOperation与UnityWebRequestAsyncOperation,不一样,那么事实就是如此。
UnityWebRequestAsyncOperation
“从UnityWebRequest.SendWebRequest().”返回的异步操作对象
这是您已经使用的方法。
来源:https://docs.unity3d.com/ScriptReference/Networking.UnityWebRequestAsyncOperation.html
我试着使用AsyncOperation和UnityWebRequestAsyncOperation,我的例行公事都在使用,使用一种或另一种有什么区别?
UnityWebRequestAsyncOperation继承了AsyncOperation,这意味着它们共享相同的字段,可能还有相同的方法。不过,UnityWebRequestAsyncOperation还有下面的字段:
webRequest返回创建该操作的关联UnityWebRequest。
如果这没有回答你的问题,请详细说明。
https://stackoverflow.com/questions/48849565
复制相似问题