Я работаю над приложением для iOS, которое может загружать файлы .obj с сервера и показывать их.У меня проблема в том, что как только я скачал файл .obj, Unity начнет процесс импорта, который автоматически останавливает приложение. Есть ли способ избежать этого или дождаться его завершения, а затем загрузить файл?Я разрабатываю его для iOS
Ниже приведен код для загрузки и загрузки файла .obj:
IEnumerator DownloadAndLoadFile(string url) {
var uwr = new UnityWebRequest(url, UnityWebRequest.kHttpVerbGET);
string modelSavePath = Path.Combine(Application.dataPath, "Resources");
modelSavePath = Path.Combine(modelSavePath, docName);
if (!Directory.Exists(Path.GetDirectoryName(modelSavePath)))
{
Directory.CreateDirectory(Path.GetDirectoryName(modelSavePath));
}
var dh = new DownloadHandlerFile(modelSavePath);
dh.removeFileOnAbort = true;
uwr.downloadHandler = dh;
AsyncOperation request = uwr.SendWebRequest();
while (!request.isDone)
{
Debug.Log("Progress: " + request.progress);
yield return null;
}
if(request.isDone){
Debug.Log("File successfully downloaded and saved to " + modelSavePath);
// Load Main scene
Scene s = SceneManager.GetSceneByName("Main");
if (s.isLoaded) {
var allObjects = Resources.FindObjectsOfTypeAll<MainAssetSwitch>();
if (allObjects.Length > 0) {
var targetobject = allObjects [0];
targetobject.SetActive(true);
Object prefabReference = Resources.Load(docName);
GameObject gameObjectReference = Instantiate(prefabReference) as GameObject;
ameObjectReference.transform.parent = targetobject.transform;
}
}
}
if (uwr.isNetworkError || uwr.isHttpError)
{Debug.LogError(uwr.error);}
}
Вот что Unity будет запускаться автоматически после загрузки .objфайл загружен из интернета.
Я также получил сообщение об ошибке «ArgumentException: объект, экземпляр которого вы хотите создать, равен нулю».из-за того, что ресурс не импортируется в файл ресурсов после завершения процесса загрузки.