Files
Bombaleila/Library/PackageCache/com.unity.render-pipelines.universal@37e0d4fc2503/Editor/ShaderGraph/AssetCallbacks/CreateTerrainShaderGraph.cs
2026-03-03 00:39:30 +05:00

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);
}
}
}