30 lines
1.1 KiB
C#
30 lines
1.1 KiB
C#
using System;
|
|
using UnityEditor.ShaderGraph;
|
|
using UnityEngine.Rendering;
|
|
|
|
namespace UnityEditor.Rendering.Universal.ShaderGraph
|
|
{
|
|
internal static class CreateTerrainShaderGraph
|
|
{
|
|
[MenuItem("Assets/Create/Shader Graph/URP/Terrain Lit Shader Graph", priority = CoreUtils.Sections.section4 + CoreUtils.Priorities.assetsCreateShaderMenuPriority + 2)]
|
|
public static void CreateTerrainGraph()
|
|
{
|
|
var target = (UniversalTarget)Activator.CreateInstance(typeof(UniversalTarget));
|
|
target.TrySetActiveSubTarget(typeof(UniversalTerrainLitSubTarget));
|
|
|
|
var blockDescriptors = new[]
|
|
{
|
|
BlockFields.VertexDescription.Position,
|
|
BlockFields.SurfaceDescription.BaseColor,
|
|
BlockFields.SurfaceDescription.NormalTS,
|
|
BlockFields.SurfaceDescription.Metallic,
|
|
BlockFields.SurfaceDescription.Emission,
|
|
BlockFields.SurfaceDescription.Smoothness,
|
|
BlockFields.SurfaceDescription.Occlusion,
|
|
};
|
|
|
|
GraphUtil.CreateNewGraphWithOutputs(new[] {target}, blockDescriptors);
|
|
}
|
|
}
|
|
}
|