最近工作中突然有描边的小功能,就写了一个shader收藏,顺便分享下,不喜勿喷,欢迎建议,谢谢!
Shader "Unlit/TraceOutLine"
{
Properties
{
//属性
_MainTex("Texture", 2D) = "white" {}
_Diffuse("Color",Color) = (1,1,1,1)
_OutLineColor("OutlineColor",Color) = (1,1,1,1)
_Outline("Outline",Range(0,1)) = 1
}
SubShader
{
//描边shader渲染方式
Tags {"Queue" = "Geometry+1000" "RenderType" = "Opaque" }
Pass
{
Cull Front
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#include "UnityCG.cginc"
float4 _OutLineColor;
float _Outline;
struct v2f
{
float4 vertex:SV_POSITION;
};
v2f vert(appdata_base v)
{
v.vertex.xyz += normalize(v.normal) * _Outline / 10;

这篇博客分享了如何使用Unity游戏引擎的shader来实现物体的描边效果,适用于游戏中增加视觉效果。作者提供了简单易懂的shader实现方法。
1万+

被折叠的 条评论
为什么被折叠?



