手把手带你在URP中实现指定物体的外轮廓描边效果【Unity创作心得#13-1】

Description
这期视频分享一个在URP中制作的指定物体外轮廓描边效果,希望能帮到大家。

卷积介绍视频:BV1Vd4y1e7pj

如何在URP中写一个全屏shader?Perform a full screen blit in URP | Universal RP | 15.0.7
(https://docs.unity3d.com/Packages/com.unity.render-pipelines.universal@15.0/manual/renderer-features/how-to-fullscreen-blit.html)

HLSL的shader中的纹理采样器。Unity - Manual: Texture samplers
(https://docs.unity3d.com/Manual/SL-SamplerStates.html)

(弹指一挥间居然快一年半没更新Unity视频了,真是怠惰呢!(^∀^

Comments

B酱_F 2025-09-06

感谢,跟着做了个项目[OK]。主要是为了了解下URP的Renderer Feature的流程。Unity太操蛋了一直更新一直换接口乱七八糟的。 把视频里提到的问题都处理了,还增加了 Rendering Layer Mask 的配置和Volume的配置。 有了Volume就能直接在运行时修改描边参数了。后面有时间做下异形描边和基于顶点的描边。 项目丢这有需要的小伙伴可以用。 https://github.com/blurfeng/unity-urp-outline

♥ 11 ↩ 3

知白守财 2024-12-29

[支持]跟着做了下 在最新的Unity6 得去Project Settings中 Graphics 最下面勾上Compatibility Mode

♥ 11 ↩ 1

Alex_ziqi 2025-08-01

shader代码有个问题,当超出屏幕边缘的时候会在另一侧出现错误的描边,例如某个物体底部超出了屏幕区域,则会在顶部对应区域显示描边,需要在计算卷积偏移采样之前做一下判断 //计算卷积结果 for(int j = 0; j < 8; j++) { // 添加屏幕边界保护(手动钳制UV坐标) half2 sample_uv = i.uv + i.offset【j】; //判断是否是屏幕边缘 if(sample_uv.x <= 0.0 || sample_uv.x >= 1.0 || sample_uv.y <= 0.0 || sample_uv.y >= 1.0) { continue; } //只采样alpha通道,取卷积核中不同点的alpha const half mask = SAMPLE_TEXTURE2D_X(_OutlineMask, sampler_linear_clamp_OutlineMask, sample_uv).a; gx += mask * kernelX【j】; gy += mask * kernelY【j】; }

♥ 5

恩凡TEA 2024-12-28

【【官方双语】那么……什么是卷积?】 https://www.bilibili.com/video/BV1Vd4y1e7pj/?share_source=copy_web&vd_source=17214a4f3174d96da8e510e00e433a52

♥ 5

准备好了吗O教官 2024-12-30

https://loveforyou.tech/posts/urp-screen-space-outline/ 我实现过一个类似的效果[给心心]

♥ 5 ↩ 8

神秘智者 2024-12-30

宝藏up,你的每节课我都要学习一下,给你点赞了!

♥ 3 ↩ 1

Sisyphus_AAA 2025-08-18

unity6才终于有根据name找到renderinglayermask的api[笑哭]

♥ 2 ↩ 1

哈密瓜皮儿o 2025-01-03

[热词系列_爷青回]上次更新的时候还在学Unity,现在已经转UE了(

♥ 2

AOOOIIINN 2024-12-29

夸夸up,讲得太好了[打call],顺便问一下有交流的群聊吗

♥ 2 ↩ 1

Tommy Vercetti 2024-12-28

好东西,点了

♥ 2 ↩ 1

鲤鱼饭Fan 2025-10-03

想请教一下Up主如何保证物体在有正确的遮挡关系下将颜色写入RT,我现在更改了desc.depthBufferBits的值来保存深度信息,但这么修改之后RT中物体本身的颜色信息就会丢失,只剩下红色的深度信息了[笑哭]

♥ 1 ↩ 5

Carl_Frellett 2025-03-22

我这里遇到了一个问题,就是没有描边算法时,与视频中完成95%的阶段一样,但是跟着教程添加了描边算法后,竟然变成了最初没有添加Shader的时候的样子,怎么办啊

♥ 1 ↩ 2

DCM翔乃 2025-01-25

[冰糖IO 蜕变·闪耀_?看看]这下爷青回了

♥ 1

颉颃天 2024-12-31

URP12可以实现么?

♥ 1 ↩ 1

0维多利亚港0 2024-12-30

必须三连,很详细很专业的教程

♥ 1

摸尼穷的三蹦子 2024-12-30

nice啊UP,好教程,关注了[点赞]

♥ 1

Yukino阿拉蒂娅 2024-12-28

[支持]

♥ 1

bili_93128136892 2024-12-28

我的青春回来了

♥ 1

taidilixiang 2024-12-28

[支持][支持][支持]

♥ 1

PIKACCCC 2026-03-11

Up 为啥你的在rider里写shader的时候引入Common.hlsl不会爆红,是有啥插件么

↩ 1