Unity Shader - Smoothness 平滑度
目录:Unity Shader - 知识点目录(先占位,后续持续更新)
原文:Smoothness
版本:2019.1
Smoothness
Smoothness平滑度参数,都显示在Metallic和Specular来种Shader模式中。
在Specular和Metallic两个Shader工作流中的Smoothness概念都非常的相似。默认的都没有设置Metallic或Specular纹理参数,材质中的smoothness是由一个滑动器来控制。这允许你控制一个表面的"microsurface detail"(微表面细节)或是表面的平滑度。
在上面显示的两种Shader工作流中,不论你选择的是Metallic纹理参数或是Specular的纹理参数,smoothness参数值都可以使用两种工作流其中。下面将进一步解析。
smoothness参数范围从0.0~1.0
“microsurface detail”(微表面细节)是不能直接在Unity中显示的。这是光照计算的中的一些概念。微表面细节的效果是对象呈现出许多光照效果的漫反射的光反弹的效果。一个平滑的表面,所有光线的反射角度都是可预测的。极端都说,一个完美的平滑表面的光反射效果就像镜子一样。越不平滑的表面光反射的角度就比较飞散(就像光线照射到了一个凹凸不平的微便面),因此表面反射细节就越少就像漫反射。
比较一下这些光滑度分别从底,中,高(从左到右),就像材质中的微表面的原理图解。黄线代表光照射到表面并反弹,根据不同平滑度,反弹角度也会有所不同。
一个平滑的表面带有的微表面细节是很少的,或根本没有(肉眼看似没有,但微观世界是都没有完全平滑的表面,都是由一粒粒更微小粒子排列组合成的,这里我就不纠结了),所以光线反弹都比较统一的方向,反射出来的效果就很清晰。而一个粗糙的表面,在微表面看似有高高低低的细节,因此光反射角度就比较多(因为表面高高低低的,很多有角度,反射出来的角度当然就不统一了,所以看起来光都散射在各个角度中),都平均的往各个方向射出,呈现出一个漫反射似的,不清晰的反射效果。
比较低,中,到平滑值得效果(从上往下)。
在低平滑度中,表面上每个点都有不一样的角度去反射,因为微表面都是凹凸不平,导致散射光线。在搞平滑度中,每个点都比较统一方向反弹光,所以物体表面上将得到比较清晰的环境反射。
Using a Smoothness Texture Map
使用Smoothness纹理映射
同样的,其他很多参数,都可以用一张纹理映射来替代一个滑动器值。这将允许你很好的控制材质每个表面上的高光反射的强度和色调。
使用一张纹理而不是一个滑动器值,意味着你可以创建出每个表面都都不一样的smoothness平滑度的材质(通常与根据Albedo纹路中的内容来定smoothness的纹理,其实还有很多的法线,凹凸,高光,等,都是与Albedo的纹理内容匹配上的)。
Properpty(属性) | Function(功能) |
---|---|
Main Maps Smoothness source | 选择Smoothness数值所存在的纹理通道 |
Specular/Metallic Alpha | 因为每个像素点上的表面smoothness平画质只是一个数值而定,仅仅需要纹理单通道数值来存储。因此smoothness数据假设存储在纹理Metallic或Specular纹理映射中(依赖你选择的是Metallic还是Specular的模式Shader工作流)。 |
Albedo Alpha | 这可以让你减少纹理的数量,直接用Albedo的Alpha通道来存储Smoothness在Specular/Metallic两模式Shader工作流都可使用。 |
Forward Rendering Options Highlights | 在移动设备上运行的话,把这个选项禁用(不选,不勾上),可以优化性能。这将删除了Standard Shader中的highlights(高光)的计算。最终效果主要依赖于Specular/Metallic中的Smoothness值。 |
Forward Rendering Options Reflections | 在移动设备上禁用该选择可优化性能。这将删除Standard Shader中的反射效果。或是使用环境映射贴图(可以是Cube Map,不知道有没Sphere Map)采样的方式来模拟。外观效果依赖于smoothness数值。 |
越是平滑的表面反射效果越强,反射高光更强。反之,越不平滑的表面反射效果,反射高光就越不明显,因为表面的反射都散射在各个角度上(散射,类似漫反射)。使用与Albedo纹理贴图对应的Specular和Smoothness纹理贴图,你将可创建非常逼真的效果。
Unity Shader - Smoothness 平滑度相关推荐
- Smoothness 平滑度 Standard Shader系列9
Smoothness 平滑度 本文档主要是对Unity官方手册的个人理解与总结(其实以翻译记录为主:>) 仅作为个人学习使用,不得作为商业用途,欢迎转载,并请注明出处. 文章中涉及到的操作都是基 ...
- 【Unity Shader】(六) ------ 复杂的光照(上)
笔者使用的是 Unity 2018.2.0f2 + VS2017,建议读者使用与 Unity 2018 相近的版本,避免一些因为版本不一致而出现的问题. [Unity Sha ...
- Unity Shader特效:人物模型动态流动光特效
本文写于2017-6-6,转载请注明 以下为正文 ---------------------------------------------------------- 先上效果图: Shader界面图 ...
- Unity Shader - Metallic mode: Metallic Parameter 金属模式的参数
目录:Unity Shader - 知识点目录(先占位,后续持续更新) 原文:Metallic mode: Metallic Parameter 版本:2019.1 Metallic mode: Me ...
- unity Shader 入门精要 EX
unity Shader 入门精要: 1.shader概念 2.shader分类(顶点Shader.像素Shader) 3.Shader编程语言 4.Unity Shader 4.1概述 4.2分类( ...
- Unity Shader ASE——输出面板详情
目录 一.基本配置 1.General 通用设置 2.Blend Mode 混合模式 3.Stencil Buffer 模板缓冲 4.Tessellation 镶嵌 5.Outline 轮廓 6.Bi ...
- Unity Shader 常规光照模型代码整理
Unity Shader 常规光照模型代码整理 本次整理在Unity中几种常见的光照模型,包含 1.BlinnPhong(常规光照模型) 2.ForwardRender(多灯光带有衰弱前向渲染) 3. ...
- Unity Shader入门
什么是Shader Shader(着色器)是一段能够针对3D对象进行操作.并被GPU所执行的程序.Shader并不是一个统一的标准,不同的图形接口的Shader并不相同.OpenGL的着色语言是GLS ...
- Unity Shader - 水体交互
水体交互 水体交互效果在游戏中是一个很常见的需求,这里简单实现一个可交互的水体. 本篇文章主要是介绍水体交互的实现思路,水体的渲染这里就不再详细介绍,网上很多关于水体的渲染方法很多,可以自己百度.Go ...
最新文章
- 为你的亚马逊S3 bucket加个安全盖
- UnicodeEncodeError: 'UCS-2' codec can't encode characters in position 8-8: Non-BMP character not sup
- led16*16点阵实验c语言,基于单片机的64*16LED点阵电子显示屏设计 pcb图+原理图+源程序...
- 修改value_Python | 快速修改或命名N个文件夹名称,你会吗?
- C++实现简单走迷宫的代码
- 分段线性插值c语言程序_【短道速滑】OpenCV中cvResize函数使用双线性插值缩小图像长宽大小一半时速度飞快(比最近邻还快)之异象解析和自我实现。...
- 读书笔记2013第16本:《删除:大数据取舍之道》
- 融资12亿后倒闭 这家机器人公司宣布全体裁员
- Dart入门—基础类型与正则
- Linux 系统服务漏洞PwnKit 已存在12年,可获得所有主流发布版本的root 权限
- java plsql_在PLSQL中编译复杂的java(转)
- 全网最详细的Android Studio卸载、安装和启动教程
- 附26页PPT下载|借助用户画像解决电商问题
- 微信小程序商城毕业设计毕设作品(5)开题报告答辩PPT
- 程序员为什么要写博客?怎么写博客?
- 2020年中国养老地产行业市场现状分析,提高养老地产运营水平是关键「图」
- Vue中路由 (Vue Router)
- 【vue3】关于ref、toRef、toRefs那些事
- 2018年1月23日腾讯SNG-IMWeb前端工程师 电话远程面试记录
- C语言实现JSON字符串解码与编码(三)源代码