path | 应将其实例视为依赖项的 Asset 的路径。注意:尽管依赖项是存储在 library 文件夹中的实例(导入结果),但此参数是 Assets 文件夹中 Asset 的路径,而不是 Library 文件夹中实例的路径。 |
guid | 实例依赖项的 guid。 |
key | 实例依赖项的实例密钥。 |
为 asset 设置实例依赖项。
实例依赖项是 Asset 依赖于另一个 Asset 的导入结果(称为实例)的依赖项。如果您更改标记为依赖项的 Asset,则所有依赖它的 Asset 在(该依赖项已导入后)也会重新导入。
注意:如果您指定一个不存在或尚未导入的 Asset 作为依赖项,该依赖项仍将被注册。它将作为未导入的 Asset 注册。当稍后导入该 Asset 时,所有依赖它的 Asset 都会重新导入。
using UnityEngine; using UnityEditor; using UnityEditor.AssetImporters;
class TextureInfo : ScriptableObject { public int height; }
[ScriptedImporter(1, "cube")] public class CubeWithTextureImporter : ScriptedImporter { public override void OnImportAsset(AssetImportContext ctx) { var assetDependency = "Assets/MyTexture.png";
ctx.DependsOnArtifact(assetDependency);
var texture = AssetDatabase.LoadAssetAtPath<Texture>(assetDependency);
if (texture != null) { var textureInfo = ScriptableObject.CreateInstance<TextureInfo>(); textureInfo.height = texture.height; ctx.AddObjectToAsset("TextureInfo", textureInfo); } } }