在Urp代码中战斗
using System;
using UnityEditor.ShaderGraph;
using UnityEngine.Rendering;
namespace UnityEditor.Rendering.Universal.ShaderGraph
{
static class CreateUnlitShaderGraph
{
[MenuItem(“Assets/Create/Shader Graph/URP/Unlit Shader Graph”, priority = CoreUtils.Priorities.assetsCreateShaderMenuPriority + 1)]
public static void CreateUnlitGraph()
{
var target = (UniversalTarget)Activator.CreateInstance(typeof(UniversalTarget));
target.TrySetActiveSubTarget(typeof(UniversalUnlitSubTarget));
var blockDescriptors = new[]
{
BlockFields.VertexDescription.Position,
BlockFields.VertexDescription.Normal,
BlockFields.VertexDescription.Tangent,
BlockFields.SurfaceDescription.BaseColor,
};
GraphUtil.CreateNewGraphWithOutputs(new[] { target }, blockDescriptors);
}
}
}
然后依葫芦画瓢重新写份UniversalUnlitSubTarget,里面的参数自己定义。