关于手撸PBR Shader效果

又一个星期过去了,毫无进展

之前也因为

目标还是那个目标

在官方的Standard PBR基础上做自己的渲染框架,既可以利用其现有跨平台和多版本验证特性,又可以保证后续扩展能跟上

之前难点有二,一是必须精通PBR,二是Surface Shader

还有很多不那么难的点,高质量素材的获取,Editor扩展开发,熟悉UnityEngine基础类Material,Shader等

其他的难点先不说,光是上面最难的2点

之前也做了一些调整,目标变成

Surface + Built-in Shader + Some Code

不过,这个星期,来到星期5,光花费了5天,最后发现Surface还是太坑

最后,还得改成VF Shader

不要问为什么,问就是代码调整

而Shader并不是一门高级编程语言,也并没有什么工具,而其产出又极其遵循“能显示即合理"

并没有什么好的方法做代码调整(Unity Shader带偏,这也是我之前为什么老吐槽,我也肉身踩坑,再次证明踩不过)

我又得完整,重新,从头学习Unity Standard,所以资源很重要,信息对称也很重要

最简单的积水效果

(其实还没积水)

原来是什么?不要问,问就是经验

                     //只在基于BRDF有用,要不会过曝
void DoWetShading(inout float3 albedo, inout float gloss, float wetLevel) {// 越潮湿,地面越暗 albedo *= lerp(1.0,0.3, wetLevel); //越潮湿,gloss越大,镜面反射更明亮,高光凝聚度更高。 gloss = min(gloss * lerp(1.0,2.5,wetLevel),1.0);
}

从B站那里不长的1个视频里面的一个很小的片段学到的

简单的Albedo贴图,加上法线贴图

只要金属拉到0.8,smoothness == 0.6

拉出金属感,也就有了油腻腻的感觉,就算雪山也很可以很油腻

(至于metric, smoothness,和smoothness_factor的干系,我前面的博客也解(tu)释(cao)了为什么Unity绕这么多圈)

线性空间和Gamma空间有差吗

上图是线性空间的

也已经很初步的做到,明暗合理,我们看看线性如何

单单从这个这个图,和摄像一样,没什么差别

线性空间,由于最新,免除了以前显示器零件不够先进,现在不需要代码增量了,所以默认会亮一点

线性空间对于Gamma空间更多的是影响颜色的明度

关于颜色,关于“亮度”,上面这个图看不出什么效果

如果你真觉得有差的,自己去眼科医院挂个号验眼睛

(当然,比较两者根本没有任何意义,我不是针对网上的某一个媒体,,,,,)

对于想用官方Unity Shader的你,也只能用线性空间

没得选择,再者官方也只给你2个选择,有给你第三个选择的Custom选项吗??

可以自己想想为什么

不要问叔叔怎么知道的

Metallic和Specular Setup有差吗

其实要搞清楚这个问题不难,多研究下内核(看书,除了乐乐姐,甚至官方的例子都不好看;自己看代码,官方就是不让你好看)

相当于白盒,就是得多花点时间,

而我们不想花时间,也不想鸟他官方这坨Shi

只能用黑盒了,盲测
上图是Metallic,我们看看Specular Setup如何

个人的感受:虽然官方说2个XXX工作流,但用程序员的膝盖想下就知道, 光照算法,和颜色算法你,都重用同一个算法,所以不用期待会有变化;唯一不同就是,整体表面没那么黑(还是一大片雪地才能看出),要是一个小盾牌有用吗?实在理解不了Unity官方人员的“用心";就是少了Metallic(我前面博客说了,就是smoothness_factor)参数, 表面没那么金属,没那么”吸光“,所以整体表面显得没那么黑;有一说一,Unity Standard是PBR的,是基于物理的,只是太恶心人而已。

挑战UnityShader学习之八——用最简单的方法实现下雨天积水效果相关推荐

  1. 挑战UnityShader学习之三_工欲善其事必先利其器Standard面板详细解析和代码自定义

    Standard Shader面板原来的样子 之前第一第二章,分别分享了,最普通,进阶Phonn光的PBR(都不是PBR)模板,本来第三章想分享Unity官方的PBR:结果碰到Unity的作死模式,又 ...

  2. 用最简单的方法实现QQ魔法表情效果!

    效果图. -------------------------------------------------------------------------------------------- 最先 ...

  3. UE4最简单的方法实现视频抠像

    网上看了别人的视频抠像教程,感觉写的很复杂,不过我感觉视频抠像并不是一件复杂的事情,所以,我今天就写了这篇教程,用最简单的方法实现视频抠像效果,相信大家一看就会 先看效果图: 首先准备一个视频 使用P ...

  4. FFmpeg学习之八(FFmpeg源码编译)

    FFmpeg学习之八(FFmpeg源码编译) Mac下 FFmpeg源码编译 安装 1. 使用终端安装FFmpeg 2. 手动编译 2.1 编译环境 - Xcode 2.2 安装依赖库 2.3 安装F ...

  5. 挑战深度学习 《深度森林:探索深度神经网络以外的方法》

    挑战深度学习 <深度森林:探索深度神经网络以外的方法> 阅读量:1306 收藏本文 深度神经网络的巨大成功掀起了一股深度学习热潮. 或许,这股热潮有些"太热"了. 就在 ...

  6. 大白话版 UnityShader学习(3)-透明效果

    大白话版 UnityShader学习(3)-透明效果 根据冯乐乐大小姐的书以及相关资料来进行学习,总结学习经验,分享心得. 透明效果的定义以及相关内容 什么是透明效果,就是光可以完全通过或者部分透过的 ...

  7. Unity-shader学习笔记(七)

    文章目录 Unity-shader学习笔记(七) 15 更复杂的光照 15.1 Unity的渲染路径 15.1.1 前向渲染路径 15.1.1.1 前向渲染路径的原理 15.1.1.2 Unity中的 ...

  8. 华为鸿蒙系统HarmonyOS学习之八:鸿蒙Harmony从1.0到2.0的提升

    华为鸿蒙系统HarmonyOS学习之八:鸿蒙HarmonyOS从1.0到2.0的提升 相较于鸿蒙 OS1.0,鸿蒙 OS2.0 有哪些方面的本质提升?这是自2.0发布以来,大家很关心的问题. 在201 ...

  9. 学习原来可以如此简单

    今天是2016年11月20日星期日,提高班早上三合班听米老师讲课,下午13期的师哥带领我没让你学习今目标的使用.今天又是满满的收获.真是开心. 今天我们的大方向是VB的形成. 1.应聘时没有人会问你聪 ...

最新文章

  1. 零基础学Python(第十一章 字符串处理)
  2. 【强化学习】PPO代码注释版本
  3. UE4 无法include “filename.generated.h”
  4. 循环链表--约瑟夫问题
  5. Silverlight 3.0正式版RTW的发布日期
  6. Mac安装homebrew,postman,charles,switchhost
  7. 下载安装谷歌浏览器插件
  8. PID控制器开发笔记之十二:模糊PID控制器的实现
  9. 南阳理工计算机与信息工程学院,南阳理工学院计算机与信息工程学院
  10. html 长度太长截断,HTML CSS 表格换行禁止 超出指定长度自动截断
  11. 老板面试怎么谈?千万不要走近误区。
  12. Faker最新仓库地址更新 4/6
  13. python 最速曲线
  14. 未明学院:保姆级四大par面面经和准备方法
  15. 闲聊,从《斗罗大陆》到游戏开发
  16. POJ 1838 Banana G++
  17. 性能测试-----基础知识
  18. Packet Data Convergence Protocol (PDCP)阅读笔记
  19. 【实验】串口通信小试
  20. 毛星云opencv之8.4.4查找和绘制图像轮廓矩

热门文章

  1. 逗视 iOS客户端应用源码
  2. C# 将XML格式字符串,写入数据集的表中 XML解析
  3. 【Nginx学习01】--Nginx的安装
  4. [buuctf] crypto全解——前84道(不建议直接抄flag)
  5. 普通最小二乘法( Ordinary Least Square,OLS)
  6. 算法还是算力?一篇微博引爆深度学习的“鸡生蛋,蛋生鸡”问题
  7. 美容店信息管理系统与小程序设计与实现
  8. 爬取链家在北京每个地区的房屋信息
  9. 基于PHP在线点餐外卖系统设计与实现 开题报告
  10. 计算机拼歌曲,抖音你这辈子有没有为别人拼过命是什么歌