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

AssetImportContext.DependsOnSourceAsset

Declaration

public void DependsOnSourceAsset(string path);
public void DependsOnSourceAsset(GUID guid);

Параметры

Параметр Описание
путь Путь зависимости источника.
ГУИД Руководство по зависимости исходного ассета.

Описание

Позволяет указать, что ресурс зависит непосредственно от исходного файла другого ресурса (в отличие от результата импорта другого ресурса).

Когда вы указываете, что один ассет зависит от другого (например, ассет A зависит от ассета B), это означает, что если ассет B будет изменен, то не только ассет B будет реимпортирован, но и ассет A будет реимпортирован.

Примечание: Эти методы устанавливают зависимость от самого исходного файла ассета, а не от результата импорта (артефакта) ассета. Если вы хотите установить зависимость от результата импорта ассета, используйте DependsOnArtifact.

using UnityEngine;
using UnityEditor;
using UnityEditor.AssetImporters;
using System.IO;

[ScriptedImporter(1, "cube")] public class CubeWithTextureImporter : ScriptedImporter { public override void OnImportAsset(AssetImportContext ctx) { var cube = GameObject.CreatePrimitive(PrimitiveType.Cube);

ctx.AddObjectToAsset("main obj", cube); ctx.SetMainObject(cube);

var material = new Material(Shader.Find("Standard"));

var lines = File.ReadAllLines(ctx.assetPath); var texturePath = lines[0]; var texture = AssetDatabase.LoadAssetAtPath<Texture>(texturePath); if (texture != null) { material.SetTexture("_MainTex", texture); // add a dependency on the texture, such that if it changes or moves, we reimport the asset ctx.DependsOnSourceAsset(texturePath); }

ctx.AddObjectToAsset("MaterialWithTexture", material); } }