1. Shader 属性定义 首先,我们定义Shader中所需的属性,包括主纹理贴图、渐变纹理贴图、漫反射颜色、轮廓大小、轮廓颜色、卡通效果步数、卡通效果强度、边缘光颜色和边缘光强度等。 // 定义属性Shader"Unlit/ToonShader"{Properties{_MainTex("Main Texture",2D)="white"// 主纹理贴图_RampTex("Ramp Texture",2D)=...
总的来说,这个 “Custom/ToonShader” 着色器通过多个属性的设置以及两个不同功能的渲染通道(一个用于主要的卡通效果渲染,一个用于绘制轮廓线)的配合,实现了具有卡通渲染风格特点的物体渲染效果,并且考虑了兼容性方面的回退方案。
不同于真实渲染,卡通渲染的高光部分通常就是一个色块,这里主要的问题是处理高光边缘的锯齿问题。 这里可以利用smoothstep(-w,w,spec-threshold);在边缘范围[-w,w]进行平滑插值处理,其中w可以通过fwidth(spec);得到。 fwidth(spec);用于得到邻域像素的近似导数值。 Shader脚本如下,光照模型采用半兰伯特: 代码语言:jav...
纯色高光区域: 不同于真实渲染,卡通渲染的高光部分通常就是一个色块,这里主要的问题是处理高光边缘的锯齿问题。 这里可以利用smoothstep(-w,w,spec-threshold);在边缘范围[-w,w]进行平滑插值处理,其中w可以通过fwidth(spec);得到。 fwidth(spec);用于得到邻域像素的近似导数值。 Shader脚本如下,光照模型采用半兰伯特...
编写一个使用一张纹理、不考虑光照计算的shader,新建一个材质,把这个shader赋给该材质 准备如下的一张渐变纹理,拖拽赋予给材质 得到效果如下: 2.3 使用透明度测试剔除片元 Properties { _MainTex ("Texture",2D) ="white"{} _Color("Color",Color) = (1,1,1,1) ...
卡通风格的Shader(二) 呜,其实很早就看到了这类Shader,实现方法很多,效果也有些许不一样。从这篇开始,陆续学习一下接触到的卡通类型Shader的编写。 本篇的最后效果如下(只有怪物和苹果部分): 本篇文章里指的卡通效果具有如下特点: 简化了模型中使用的颜色 ...
皮肤Ramp是一个比较简单的功能。通过计算halfLambert作为坐标去ramp皮肤贴图中获得皮肤颜色,再进行一定的缩放以及和皮肤基础颜色相乘得到一个最终的颜色。同时类似于于Pbr着色,提供一个蒙版或者混合比例,和卡通角色结果进行插值。 这个着色功能在某些情况下可以方便美术控制整体的皮肤梯度色调。
【Unity卡通渲染插件】RealToon (Pro Anime/Toon Shader)轻松创建卡通或动漫风格游戏 Unity游戏资源学习站 编辑于 2024年08月10日 11:30 RealToonUnity卡通渲染插件 分享至 投诉或建议
二、卡通阴影色块效果 首先在Project下右键Creat - > Shader Graph -> URP -> Lit Shader Graph创建一个Lit Shader Graph。 然后双击打开该ShaderGraph,在ShaderGraph 面板中添加以下节点,然后对节点进行连接,如下所示: 通过调节Color节点的颜色,可以改变周围的颜色效果,调整Sample Gradient节点可以设置几个阴影色块颜...