我看到了this问题,但是此解决方案并没有帮助我。
在自定义编辑器窗口中,我将Standart着色器设置为某些材质。资料是从项目中的文件夹加载的:
List<Material> materials = new List<Material>();
string[] _matPaths = FindAssetPathsWithExtension(".mat", folderWithMaterials);
foreach (string materialPath in _matPaths)
{
Material mat = AssetDatabase.LoadAssetAtPath(materialPath, typeof(Material)) as Material;
if (mat != null) { materials.Add(mat); }
}
string filePath = "";
for (int i = 0; i < materials.Count; i++)
{
materials[i].shader = Shader.Find("Standart");
Debug.Log(materials[i].shader);
}
图形设置屏幕截图:
调试日志: 隐藏/ InternalErrorShader(UnityEngine.Shader)
答案 0 :(得分:1)
我有120%的把握不称其为standarT(也许是标准的?)。如果您想知道着色器的名称是什么,则必须查看源代码。您可以从Unity网站内置着色器的源代码下载中获取源代码。