浏览代码

Update Shader graph importer to properly register shaders.

/main
Tim Cooper 7 年前
当前提交
9d765833
共有 1 个文件被更改,包括 31 次插入1 次删除
  1. 32
      MaterialGraphProject/Assets/UnityShaderEditor/Editor/Importers/ShaderGraphImporter.cs

32
MaterialGraphProject/Assets/UnityShaderEditor/Editor/Importers/ShaderGraphImporter.cs


using UnityEditor;
using UnityEditor.Experimental.AssetImporters;
[ScriptedImporter(1, "shadergraph")]
[ScriptedImporter(1, ShaderGraphImporter.ShaderGraphExtension)]
public const string ShaderGraphExtension = "shadergraph";
private string errorShader = @"
Shader ""Hidden/GraphErrorShader2""
{

return null;
}
}
class ShaderGraphAssetPostProcessor : AssetPostprocessor
{
static void RegisterShaders(string[] paths)
{
foreach (var path in paths)
{
if (!path.EndsWith(ShaderGraphImporter.ShaderGraphExtension, StringComparison.InvariantCultureIgnoreCase))
continue;
var mainObj = AssetDatabase.LoadMainAssetAtPath(path);
if (mainObj is Shader)
ShaderUtil.RegisterShader((Shader)mainObj);
var objs = AssetDatabase.LoadAllAssetRepresentationsAtPath(path);
foreach (var obj in objs)
{
if (obj is Shader)
ShaderUtil.RegisterShader((Shader)obj);
}
}
}
static void OnPostprocessAllAssets(string[] importedAssets, string[] deletedAssets, string[] movedAssets, string[] movedFromAssetPaths)
{
RegisterShaders(importedAssets);
}
}
正在加载...
取消
保存