Unity Shader 卡通渲染 (一):仿塞尔达荒野之息 Shader(简易版)

本文介绍如何使用Unity Shader创建塞尔达荒野之息风格的卡通渲染。通过亮部、暗部和边缘光的处理,实现简单明快的卡通效果。适合已具备Shader基础的开发者学习。
摘要由CSDN通过智能技术生成

温馨提示:

本系列文章面向那些 Shader 刚刚入门,想寻求进一步提升的群体,如果对 Shader 一无所知的话,建议自行搜索其他 Shader入门教程观看学习,再食用本系列文章。

前言:

说起卡通渲染,就不得不提 《塞尔达:荒野之息》。

《塞尔达:荒野之息》可谓 2017 年的神作了,击败了众多 3A 大作,成为了当年的年度游戏。其采用的卡通渲染的美术风格也算是一大亮点(也可能是 Wii U 和 Switch 机能限制所致)。

当年想模仿一下它的风格,可惜技术捉急…… 如今 Shader 神功已有小成,就想着尝试一下。

因为主要在移动端开发,因此本系列文章都会采用 Vertex & Fragment Shader,非常纯净。

今后可能还会做一些其他风格的卡通渲染,不过目前就先以《塞尔达:荒野之息》的风格作为起点吧!

话不多说,先打开游戏,截个图作参考:

由图可见,塞尔达荒野之息的卡通渲染十分简单明快,主要有三个要点:亮部、暗部、边缘光

当然仔细看的话,头发是有高光且有特殊处理的,不过这篇如题 “简易版”,就不考虑那么多了,先把上边这三点做完。

一、准备工作

首先,在目录下新建一个 Unlit Shader。

获取三个常用素材,法线 N,光照方向 L,视角方向 V。

熟悉 Shader 的一定知道,这里就不多说了,直接贴代码:

struct appdata
{
	float4 vertex : POSITION;
	float2 uv : TEXCOORD0;
	float3 normal : NORMAL;
};

struct v2f
{
	float2 uv : TEXCOORD0;
	float3 worldNormal : TEXCOORD1;
	float3 worldPos : TEXCOORD2;
	UNITY_FOG_COORDS(3)
	
AAA 级动画/卡通着色器,让你的角色和对象看起来像逼真的动画/卡通。 动画/卡通渲染着色器。 (适用于游戏、电影/动画和插图/美术) - 第一款完全支持 Unity HDRP 和 DXR/光线追踪的动画/卡通着色器。 - 支持 Unity 版本 5、2017、2018、2019、2020,以及将来的 Unity 版本。 - (PC、Mac 和 Linux)、移动端和游戏主机(Nintendo Switch 和 Xbox)。 - PlayStation (RealToon URP and RealToon HDRP). - 完整的多光照。 - 可与实时阴影一起使用,或单独使用。 - DOTS | Hybrid Renderer ready - support. 功能: - 平滑对象法线: *平滑的对象法线,以便更整洁地着色。 - 自阴影: *(无需使用纹理图即可调整尺寸/阈值和硬度。) - 法线贴图: *(为了更多细节或覆盖对象法线。) - 反射: *(使用图像/纹理作为反射。) *(还可以调整尺寸和位置。) *(这不是材质捕捉风格反射或立方体贴图。) - 轮廓: *(可更改颜色和宽度。) *(带有噪点/变形的轮廓,用于素描风格的轮廓和动态。) *(“为了更少的绘制调用”,可选择是否使用轮廓。) - 光泽(纹理)(自定义光泽): *(使用图像/纹理作为光泽。) *(可选择跟随光照位置和对象旋转。) - ShadowT(纹理): *(渐变或基于扁平的阴影/着色。) - RealToon 折射: *动画/卡通风格玻璃、冰、液体等 - 减少阴影: *减少对象的实时阴影 - 不影响对象其他部分的材质。 - Lightmap Support. (RealToon URP) - 淡化透明度,带有轮廓和透明效果的阴影。 - 支持轮廓顶点颜色,自阴影和平滑对象法线功能。 - 包含用于移动端或轻度游戏的 RealToon(Lite 版本)着色器。 - 包含 RealToon(曲面细分版本)着色器。 - 包含 RealToon(LWRP 版本) (从 Unity 2018 到带有 LWRP V4.0.0 或最新版本的最新 Unity 版本。) - 包含 RealToon(URP 版本) (从 Unity 2019.3.0 到带有 URP 7.1.1 或最新版本的最新 Unity 版本。) - 包含 RealToon(HDRP 版本) (从 Unity 2019.3.0 到带有 HDRP 7.2.0 或最新版本的最新 Unity 版本。) - RealToon URP and HDRP are SRP Batcher compatible. - RealToon HDRP 版本支持所有光照(聚光、方向光和区域光(矩形和管状)。 - RealToon HDRP 支持 DXR/光线追踪功能。 支持的光线追踪: (反射、全局光照、阴影) - DOTS | Hybrid Renderer (URP and HDRP) - Linear Blend Skinning (Currently URP) - HDRP's Recursive Rendering is supported. - 包含诸如索贝尔轮廓的特效。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值