开启辅助访问

QQ登录

注册 找回密码
翼狐
查看: 1432
回复: 90

Shader (转载大佬)制作一只妙蛙种子

 

2319

元素币

2103

活跃度

25

贡献值

元素魔

Rank: 3Rank: 3Rank: 3

积分
19015
主题
33
精华
1
扩散
0
首发
0
土豪金
499
在线时间
249 小时

TA的画板

发消息

 楼主| 发表于 2020-1-8 13:20:12
TA资源类型
TA资源类型: 源文件分享 算法思路 效果图 
shader资源类型: ASE插件创建 shader源代码 
适用引擎: unity 
资源介绍: 原创;守城的麦田
公众号; Thepoly
卡通渲染
类似塞尔达效果
shader分享

马上注册成为元素者,获取海量元素资源,结识各路大神级人物

您需要 登录 才可以下载或查看,没有帐号?注册

x
尊敬的游客,如果您要查看本帖隐藏内容请回复

QQ截图20200108160656.png

这次带来了一份Shader教程,面向有意了解Shader模块的美术端的同学,基于ASE,不包含程序优化,所以本文不会涉及很多程序内容,只介绍一些简单的Shader编写基础。


我们将模型贴图文件导入Unity,取消材质动画摄像机等导入勾选。并且在Scene内搭建一个实时平行光源和一个点光照暗面。


81R~JOJE%J7F]BVI9K1X[YF.png

光照强度为1.25
新建一个Amplify Shader(基于表面着色器)和一个材质球,然后双击Shader弹出ASE编辑器。
左侧设置如下图,
  • Shader Name设置你的名称和路径,斜杠代表子目录,(脚本内原理相同)
  • Light model选择自定义灯光模型
  • 剔除背部
  • 前向渲染
  • Shader LOD   200
  • Render type/Queue为不透明的几何体

以上就是我们的Tags标签设置,我们来看一下代码

C9EZR_XZ0N`OZOISY5[BD@I.png

代码内引用了一些带有.cginc的内置文件,如果您想看这些文件,可在Unity官网下载源码包,找到这些文件。看看在辅助代码中到做了啥。



除此以外,我还勾选了Outline描边,同样的,我们来看看Tags


外描边剔除了正面(即摄像机正对的面),并且定义了一堆不要的东西。


好,正文开始
我们首先新建一个World normal(世界空间法线)和World Space Light Dir(世界空间光)节点,再新建一个Texture sample节点,引入我们的法线贴图(记得法线贴图导入要将类型选为法线,否则不认的)






这里我们要把贴图类型标明为Bump,勾选Unpack。这里对于标记为Unpack小科普:在检查器中将法线贴图标记为法线贴图时,法线贴图会丢失其alpha通道,但是,在牺牲Alpha通道的同时,可以极大地提高压缩质量,从而提高了法线贴图的保真度,从而减少了压缩伪影,使整体法线贴图看起来更好。



我们可以将法线理解为一个三维向量,如果你想提高法线强度,让他和一个数值相乘就可以。



好,废话少说,我们对这两个得到的值进行第一次计算,将他们Dot(点积)
这里我们就得到了第一个值,该值的公式(点积公式)为:Nx*Lx+Ny*Ly+Nz*Lz


接下来,我们继续创建一个世界空间法线和一个View Dir(查看方向)节点然后点积。
这个节点由“ 空间”参数定义的坐标空间上输出当前摄像机查看的视图方向。
我们用来做菲涅尔效果,脑补一下菲涅尔啥样,不会的去拖出去枪毙五分钟。虽然有现成的菲涅尔节点。


下面,我们创建一个Scale and Offset(缩放和偏移),按1快捷键创建一个Float,同一个值控制两个参数,并且刚才世界法向量和世界空间光向量点积值。然后对其进行钳制输出不要大于1。


创建两个Tex类型的Properties,一个用来放贴图,一个用来放卡通独有的强烈明暗交接



我们观察一下塞尔达传说的光照,是由强烈的明暗交接的,这里可以自己写一个,我这里就效仿官方Demo内的方式,直接用一个强明暗交接过渡的贴图

然后相乘一下(那一天,人类回忆起了被向量乘法支配着的恐怖,以及被被矩阵变换折磨的屈辱。)。
OK,这里扔着不管了


接下来我们要细化一下菲涅尔和细化一下光照
新建一个值控制菲涅尔的强度,然后钳制输出在1内,最后用1减去这个值。


放着先不管,我们再新建一个Light Color光色和一个Light Attenuation光线衰减还有一个Indirect DiffuseLight间接漫反射

我们来看看这个光色节点,这货获取了我们空间内的灯光颜色和强度,RGBA通道输出的是下面两个乘积的结果。



然后将他们相加,我们就得到了一个带有背面GI感觉的光照模型,舒服。

Ops,还没有颜色,那就在和颜色相乘一下吧。

如果你感觉不够强烈,还可以反向一波和颜色相乘补一补光,这个就看个人喜好吧,每个人的审美不一样
现在长这样了,恶龙咆哮有没有?

最后我们来细化细化一下菲涅尔。
没什么要说的了,就是接入世界空间光,控制菲涅尔强度和颜色相乘就完事了。
最后将他们汇总到一个return里面,接入自定义光照,完美!
我们来看一下整体节点流程图和效果图

最后反复调整,加上后处理修饰修饰,什么的,能堆的就堆,什么性能不性能的,就是怼。


















VCK`~$_ZLVJMHXVDG8UIQ]V.png

评分

参与人数 7元素币 +70 活跃度 +122 收起 理由
毒游搬运小行家 + 15 【给力】阅贴无数,楼主最强!
Eucthe + 10 【给力】阅贴无数,楼主最强!
qq_冷暖_Xbg + 1 + 1 【感谢】楼主分享的内容!很棒!
正经的哈 + 10 简单易懂
KL呆呆L + 2 + 20 666666
温酒 + 1 简单的说这么复杂 ,这就是文人干的事???
珏铭 + 66 + 66 怼出的效果很棒

查看全部评分

还没有设置签名!您可以在此展示你的链接,或者个人主页!

使用道具 举报

回复 论坛版权

盘 TA

很不错的教学 先收藏,晚上再买

使用道具 举报

回复

盘 TA

使用道具 举报

回复

盘 TA

好东西

使用道具 举报

回复

盘 TA

看的不错~~~

使用道具 举报

回复

盘 TA

使用道具 举报

回复

盘 TA

还行,大佬nb

使用道具 举报

回复

盘 TA

666666

使用道具 举报

回复

盘 TA

66666

使用道具 举报

回复

盘 TA

高度发达覆盖广泛的的功夫

使用道具 举报

回复

盘 TA

大佬牛逼6666

使用道具 举报

回复

盘 TA

666

使用道具 举报

回复

盘 TA

666666

使用道具 举报

回复

盘 TA

感谢楼主分享

使用道具 举报

回复

盘 TA

使用道具 举报

回复

盘 TA

资源不错

使用道具 举报

回复

盘 TA

666666666666666

使用道具 举报

回复

盘 TA

感谢分享

使用道具 举报

回复

盘 TA

看看

使用道具 举报

回复

盘 TA

好东西

使用道具 举报

回复

盘 TA

感谢楼主分享

使用道具 举报

回复

盘 TA

发的根深蒂固

使用道具 举报

回复

盘 TA

不错,多谢分享

使用道具 举报

回复

盘 TA

谢谢分享

使用道具 举报

回复

盘 TA

让 江小白 来看看帖子里藏了啥好东西~~~

使用道具 举报

回复

盘 TA

6666666666666666

使用道具 举报

回复

盘 TA

使用道具 举报

回复

盘 TA

谢谢分享

使用道具 举报

回复

盘 TA

6666666666

使用道具 举报

回复

盘 TA


从业不识微元素,做遍项目也枉然

使用道具 举报

回复

盘 TA

使用道具 举报

回复

盘 TA

使用道具 举报

回复

盘 TA

66666666666666666666666

使用道具 举报

回复

盘 TA

不错哈哈哈

使用道具 举报

回复

盘 TA

sdfsfsdfsdf

使用道具 举报

回复

盘 TA

好东西哈哈哈

使用道具 举报

回复

盘 TA

666666666666666666

使用道具 举报

回复

盘 TA

看看

使用道具 举报

回复

盘 TA

谢谢大佬分享

使用道具 举报

回复

盘 TA

这是妙蛙草

使用道具 举报

回复
123下一页
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

元素推荐-友情提示上一条 /1 下一条

快速回复 返回顶部 返回列表