Version: 2022.3
言語: 日本語
public static AssetDatabaseLoadOperation LoadObjectAsync (string assetPath, long localId);

パラメーター

assetPath 読み込むアセットのパス
localId The local identifier of the object that you want to load. This allows you to load a specific object and its dependencies as opposed to the entire asset.

戻り値

AssetDatabaseLoadOperation A UnityEditor.AssetDatabaseLoadOperation which you can use to track the progress of the operation.

説明

Loads a specific Object and its dependencies from an Asset file asynchronously.

すべてのパスは、例えば "Assets/MyTextures/hello.png" のような Project フォルダーに対する相対パスです。

See Also: 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; } }