Unity Shader 卡通渲染 (五):仿日式赛璐珞风格 Shader(顶点外扩描边)

本文介绍了如何在Unity中使用Shader实现日式赛璐珞风格的卡通渲染,重点是顶点外扩描边和高光效果。通过新增Pass并调整顶点色,实现描边的平滑与相机距离无关的粗细。同时,通过控制顶点色和Lighting Settings调整阴影色,以匹配赛璐珞风格的暗部颜色变化。最后,展示了Shader的实际应用效果及完整代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

上一篇传送门:

https://blog.csdn.net/qq_27534999/article/details/101080649

一、赛璐璐风格简介

有些人可能会问,什么是赛璐珞风格?

赛璐珞是一种合成树脂。最早在制作动画的时候,美国开始使用以赛璐珞制作的透明胶片,把人物画在胶片上面,背景画在纸上面,就可以做到很多不同的效果。

采用赛璐珞来制作的动画也叫“做赛璐珞动画”,在很长一个时期里面几乎是“手绘动画”的代名词。因为现在已经不用赛璐珞制作动画了,所以现在通常指有线稿和颜色的风格。以分层的方式作画(线稿层、明暗层、上色层、特效层)。

当然,具体风格依照动画不同,还是有所差异,这里仅挑选一个最经典的赛璐珞风格进行实现。

为了更直观的说明,这里以经典动画《星际牛仔》为例:

实际去看动画的话,可以发现人物有几个特征:

①黑色描边,较细且粗细均匀

②颜色平涂,并分为暗部亮部,暗部颜色根据环境不同会有所变化

③头发、金属、皮革等特殊部分会有高光、边缘光

④内部结构线、衬线

其中,第④点在本篇中暂时无法解决,一般的做法是直接画贴图上,不过会比较模糊,更好的办法以后再说吧嘻嘻 ~

首先,本篇会在前几篇的基础上改进 Shader 以实现效果,这里先上最终的效果图:

这边模型和背景比较简陋,可能效果不是很好,如果换更好的模型和背景的话效果会挺惊艳,个人感觉这种风格需要优秀美术资源配合才行,比如下图这样,也是用的相同 Shader:

有一点需要注意的是,这类赛璐珞风格渲染纹理不需要不要过多的细节,有时候多用单色色块反而效果会更好。

话不多说,那么接下来开始对之前的 Shader进行改造吧!

二、添加描边

为了方便观察分析,我们还是用之前那个简陋的模型(初学者专用),到上一篇为止的效果如下图所示:

在上一篇 Shader 的基础上,我们来添加描边,这里用一种比较经典的描边方法——顶点外扩(又称法线外扩、Shell 法)。

顶点外扩的原理就是新增一个 Pass,这个 Pass 将模型的顶点沿着法线向外移动一定距离,然后用 Cull Front 剔除正面,残留下来的面正好作为描边。另外,为了让描边在远近都能保持粗细均匀,我们还需要添加一些针对相机距离的计算。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值