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

AssetImportContext.GetOutputArtifactFilePath

建议更改

成功!

感谢您帮助我们提高 Unity 文档的质量。虽然我们无法接受所有提交,但我们确实会阅读用户提出的每个建议更改,并在适用时进行更新。

关闭

提交失败

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

关闭

取消

声明

public string GetOutputArtifactFilePath(string fileName);

参数

fileName 用于引用此工件文件的唯一标识符。

返回值

string 可用于创建新工件文件的路径。

描述

返回用于写入具有给定 fileName 的新工件文件的路径。

工件文件是导入程序结果的一部分,可以包含任何非 UnityEngine.Object 的数据。例如,“info”工件文件由 Unity 保留,并存储导入的主对象的预览数据。

以下示例演示如何为 TextureImporter AssetPostprocessor 添加一个工件文件,以将纹理第一个像素的颜色保存在 ArtifactFile 中。请参阅 AssetImportContext.GetArtifactFilePath,了解其他导入程序如何使用此信息来依赖此值而不是整个纹理。

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

public class SaveFirstPixelColor : AssetPostprocessor { public override uint GetVersion() { return 1; }

void OnPostprocessTexture(Texture2D texture) { if (assetPath.StartsWith("Assets/")) { string path = context.GetOutputArtifactFilePath("firstpixelcolor"); if (!string.IsNullOrEmpty(path)) File.WriteAllText(path, $"#{ColorUtility.ToHtmlStringRGBA(texture.GetPixel(0, 0))}"); } } }