Unity 6.3
0 онлайн 2 гостей 3 в системе
Вход

AssetDatabase.LoadObjectAsync

Declaration

public static AssetDatabaseLoadOperation LoadObjectAsync(string assetPath, long localId);

Параметры

Параметр Описание
assetPath Путь ассета для загрузки.
localId Локальный идентификатор загружаемого объекта. Этот идентификатор позволяет загружать конкретный объект и его зависимости, а не весь ассет.

Возвращаемое значение

AssetDatabaseLoadOperation UnityEditor.AssetDatabaseLoadOperation, который можно использовать для отслеживания прогресса операции.

Описание

Загружает определенный Объект и его зависимости из файла Asset асинхронно.

Все пути относятся к папке проекта, например: "Assets/MyTextures/hello.png".

Дополнительные ресурсы: AssetDatabase.TryGetGUIDAndLocalFileIdentifier, GlobalObjectId.targetObjectId.

using UnityEngine;
using UnityEditor;
using System.Collections;

public class MyPlayer : MonoBehaviour { public IEnumerator Start() { // This will load all objects in the fbx and return a single Mesh object. Mesh m = AssetDatabase.LoadAssetAtPath<Mesh>("Assets/test.fbx");

AssetDatabase.TryGetGUIDAndLocalFileIdentifier(m, out string guid, out long localId);

// At some point after the Mesh may or may not have unloaded we can reload just the mesh AssetDatabaseLoadOperation op = AssetDatabase.LoadObjectAsync("Assets/test.fbx", localId);

// yield until the operation is completed while (!op.isDone) yield return null;

Mesh reloadedMesh = (Mesh)op.LoadedObject; } }