版本:Unity 6 (6000.0)
语言English
  • C#

AssetDatabase.GetAssetDependencyHash

建议修改

成功!

感谢您帮助我们改进 Unity 文档的质量。尽管我们无法接受所有提交,但我们确实阅读了用户提出的每个修改建议,并在适用情况下进行更新。

关闭

提交失败

由于某些原因,您的修改建议无法提交。请<a>稍后再试</a>。感谢您抽出时间帮助我们改进 Unity 文档的质量。

关闭

取消

声明

public static Hash128 GetAssetDependencyHash(string path);

声明

public static Hash128 GetAssetDependencyHash(GUID guid);

参数

path 资源路径。
guid 资源的 GUID。

返回值

Hash128 聚合哈希值。

描述

返回资源所有依赖项的哈希值。

该哈希值聚合以下内容:源资源路径、源资源、元数据文件、目标平台和导入器版本。此哈希值的更改表示导入的资源可能已更改,因此应重新构建相关的资源包。

using UnityEditor;
using UnityEngine;

public class AssetDatabaseExamples : MonoBehaviour { [MenuItem("AssetDatabase/Dependency Hash Example")] public static void DependencyHashExample() { //Load a Material, change its shader and save it var matPath = "Assets/Material.mat"; var asset = (Material)AssetDatabase.LoadMainAssetAtPath(matPath); asset.shader = Shader.Find("Unlit/Texture"); AssetDatabase.SaveAssets();

//Print out the hash into the console var hash = AssetDatabase.GetAssetDependencyHash(matPath); Debug.Log(hash);

//Change the Shader on the Material and save it asset.shader = Shader.Find("Standard"); AssetDatabase.SaveAssets();

//Hash will be different hash = AssetDatabase.GetAssetDependencyHash(matPath); Debug.Log(hash); } }