Shader "Custom/VertexFragment" {
Properties
{
_myTexture("Texture", 2D) = "white" {}
_myColor("Color", Color) = (1,1,1,1)
_Outline ("Outline", Range(0,1)) = 0.04
}
SubShader
{
Tags{"Queue" = "Geometry" "RenderType"="Opaque" "IgnoreProjector" = "True"}
// 第一个通道
Pass
{
CGPROGRAM
// 声明顶点shader函数
#pragma vertex vert
// 声明片段shader函数
#pragma fragment frag
// 使用Vertex and Fragment的CG时
// 会#include "UnityCG.cginc",用到里面的很多函数
#include "UnityCG.cginc"
sampler2D _myTexture;
float4 _myColor;
struct v2f{
float4 pos:SV_POSITION;
float3 color :COLOR;
};
// appdata_full v是"UnityCG.cginc"里的结构体
v2f vert(appdata_full v)
{
v2f o;
// UNITY_MATRIX_MVP 当前模型视图投影矩阵
o.pos = mul(UNITY_MATRIX_MVP, v.vertex);
// 彩虹色
o.color = v.verte
【Shader】彩虹色效果+模型卡通描边效果
最新推荐文章于 2022-09-22 17:05:42 发布
这篇博客介绍了如何使用Shader在Unity中创建彩虹色效果和模型的卡通描边效果。通过调整顶点shader和片段shader,利用UnityCG.cginc库中的函数,实现了颜色的动态变化和轮廓描边的视觉效果。第一个通道用于生成彩虹色,第二个通道则用于绘制描边,通过改变顶点位置实现线条宽度的控制。
摘要由CSDN通过智能技术生成