使用CustomForwardRendererData做描邊效果
1,編寫描邊程式碼並建立材質球
Shader "Unlit / OutLine"
{
Properties
{
_Color("outline color",color) = (1,1,1,1)
_Width("outline width",range(0,1)) = 0.2
}
Subshader
{
Pass
{
Tags {"LightMode" = "LightweightForward" "RenderType" = "Opaque" "Queue" = "Geometry + 10"}
//Tags可不新增,只是為了演示
colormask 0 //不輸出顏色
ZWrite Off
ZTest Off
Stencil
{
Ref 1
Comp Always
Pass replace
}
HLSLPROGRAM
#pragma vertex vert
#pragma fragment frag
#include "Packages/com.unity.render-pipelines.lightweight/ShaderLibrary/Core.hlsl"
struct appdata
{
float4 vertex: POSITION;
};
struct v2f
{
float4 vertex: SV_POSITION;
};
v2f vert(appdata v)
{
v2f o;
o.vertex = TransformObjectToHClip(v.vertex.xyz);
return o;
}
half4 frag(v2f i) : SV_Target
{
return half4 (0.5h, 0.0h, 0.0h, 1.0h);
}
ENDHLSL
}
Pass
{
Tags {"RenderType" = "Opaque" "Queue" = "Geometry + 20"}
ZTest off
Stencil {
Ref 1
Comp notEqual
Pass keep
}
HLSLPROGRAM
#pragma vertex vert
#pragma fragment frag
#include "Packages/com.unity.render-pipelines.lightweight/ShaderLibrary/Core.hlsl"
struct appdata
{
float4 vertex: POSITION;
float3 normal:NORMAL;
};
struct v2f
{
float4 vertex: SV_POSITION;
};
half4 _Color;
half _Width;
v2f vert(appdata v)
{
v2f o;
//v.vertex.xyz += _Width * normalize(v.vertex.xyz);
v.vertex.xyz += _Width * normalize(v.normal);
o.vertex = TransformObjectToHClip(v.vertex.xyz);
return o;
}
half4 frag(v2f i) : SV_Target
{
return _Color;
}
ENDHLSL
}
}
}
Default Layer Mask:設定預設渲染的層級,視訊裡通過遮蔽“Character”圖層,然後在Renderer Features裡對“Character”圖層單獨控制。我的需求是對選中的物體描邊,不需要對選中物體做其他處理,因此用“Everything”就可以。
Overrides:覆蓋選中的層。
-
Stencil:覆蓋Default層的設定,特殊需求時使用。
-
Renderer Features:設定某些層的渲染。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70009264/viewspace-2895900/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 使用 WPF 做個 PowerPoint 系列 基於 OpenXML 解析實現 PPT 文字描邊效果XML
- CSS3文字的描邊鏤空效果CSSS3
- canvas strokeText() 文字描邊Canvas
- canvas 描邊與填充Canvas
- canvas 填充覆蓋描邊Canvas
- SVG 文字填充和描邊SVG
- canvas描邊和填充介紹Canvas
- Unity URP 描邊 用RenderPassFeature實現Unity
- 短視訊系統原始碼,如何給button控制元件新增描邊、填充背景和描邊原始碼控制元件
- Android自定義View 雷達掃描效果AndroidView
- SVG描邊透明度簡單介紹SVG
- SVG 填充、描邊和透明度設定SVG
- 使用css3做一個魔方旋轉的效果CSSS3
- CSS圖片邊框陰影效果CSS
- CSS3多層邊框效果CSSS3
- CSS虛線邊框效果程式碼CSS
- Esfog_UnityShader教程_遮擋描邊(原理篇)Unity
- CSS和SVG實現文字漸變、描邊、投影CSSSVG
- 邊學邊做的第一個Unity小遊戲Unity遊戲
- 立體感的邊框陰影效果
- 網頁頂部陰影邊框效果網頁
- css-虛線邊框滾動效果CSS
- TornadoFx實現側邊欄選單效果
- Winform窗體圓角以及描邊完美解決方案ORM
- 用ps做毛玻璃穿透效果穿透
- 怎麼做PFMEA效果跟進?
- Premiere溶解過渡效果怎麼做怎麼做? PR影片新增溶解效果的技巧REM
- PS新手教程-如何使用PS給海邊圖片調整成唯美浪漫效果
- table表格細線且去掉外邊框效果
- 園子周邊:Polo 衫效果圖預覽
- CSS3邊框動態環繞效果CSSS3
- Premiere溶解過渡效果怎麼做怎麼做? PR視訊新增溶解效果的技巧REM
- 邊聊邊複製,邊修改邊測試,利用chatgpt用laravel框架做一個部落格應用ChatGPTLaravel框架
- 線上直播原始碼,JS動態效果之,側邊欄滾動固定效果原始碼JS
- markdown使用效果
- CSS3實現多樣的邊框效果CSSS3
- 漸變邊框文字效果?CSS 輕鬆拿捏!CSS
- 邊做邊學入門微信小程式之仿豆瓣評分微信小程式