您最多选择25个主题
主题必须以中文或者字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
29 行
1.3 KiB
29 行
1.3 KiB
using System;
|
|
using UnityEngine;
|
|
using UnityEngine.Rendering.PostProcessing;
|
|
|
|
[Serializable]
|
|
[PostProcess(typeof(HalfToneOpaqueRenderer), PostProcessEvent.BeforeStack, "Custom/LWtest/Haltone Opaque")]
|
|
public sealed class HalfToneOpaque : PostProcessEffectSettings
|
|
{
|
|
[Range(-2f, 2f), Tooltip("Pattern Midpoint")]
|
|
public FloatParameter midpoint = new FloatParameter { value = 0f };
|
|
[Range(0.001f, 0.1f), Tooltip("Pattern Scale")]
|
|
public FloatParameter scale = new FloatParameter { value = 0.025f };
|
|
[Range(1, 10), Tooltip("Steps")]
|
|
public IntParameter steps = new IntParameter { value = 4};
|
|
public TextureParameter pattern = new TextureParameter { value = null};
|
|
}
|
|
|
|
public sealed class HalfToneOpaqueRenderer : PostProcessEffectRenderer<HalfToneOpaque>
|
|
{
|
|
public override void Render(PostProcessRenderContext context)
|
|
{
|
|
var sheet = context.propertySheets.Get(Shader.Find("Hidden/Custom/LWtest/HalftoneOpaque"));
|
|
sheet.properties.SetTexture("_Pattern", settings.pattern);
|
|
sheet.properties.SetFloat("_Blend", settings.midpoint);
|
|
sheet.properties.SetFloat("_Scale", settings.scale);
|
|
sheet.properties.SetFloat("_Steps", settings.steps);
|
|
context.command.BlitFullscreenTriangle(context.source, context.destination, sheet, 0);
|
|
}
|
|
}
|