Unity_ShaderGraph初体验_简易的漫反射+镜面反射

^ ^

  • 准备
  • 开始
    • 漫反射
    • 镜面反射
    • 叠加

https://www.bilibili.com/video/BV1TW411e74C 感谢傅老师

准备

第一次使用。(Unity 2019.3.15
1.现在PackageManager里导入ShaderGraph
2.一开始创建Shader进去编辑,主节点直接报错,和管线不兼容。
然后去PackageManager里安装管线,用了Universal RP。
3.Assets->Creat->Rendering->Universal Render Pipeline->Pipeline Asset
4.Edit->Project Settings->Graphics->,选中刚才的渲染管线Asset
5.Assets->Creat->Shader->Unlit Graph (在第二块
齐活
编辑Shader,保存之后,右键Shader可以直接创建相应的材质球。

开始

漫反射

Lambert
diffuse = Icosθ;
cosθ = L·N;
diffuse = I
(L·N);
Unity_ShaderGraph初体验_简易的漫反射+镜面反射_第1张图片
这里入射光方向的矢量是手动设置的。
这里还可以添加入射光的颜色,直接乘进去。
关键是法向量与入射光方向的点乘。
点乘,相当于得到一个投影的结果。两向量垂直,结果是0,所以有那一圈黑的~;两向量平行(反向),得到最大的亮度。

镜面反射

Unity_ShaderGraph初体验_简易的漫反射+镜面反射_第2张图片Unity_ShaderGraph初体验_简易的漫反射+镜面反射_第3张图片
这里效果的关键是pow幂运算部分,进来的值都在0~1之间,放大明暗差距。
如果要添加颜色,步骤在pow之前之后效果一样。
Unity_ShaderGraph初体验_简易的漫反射+镜面反射_第4张图片

叠加

Unity_ShaderGraph初体验_简易的漫反射+镜面反射_第5张图片

本过程中有这五个参数,控制漫反射材料的颜色、光的朝向、镜面反射作用处的颜色、镜面反射效果的集中程度(幂指数)、镜面反射效果的强度 Unity_ShaderGraph初体验_简易的漫反射+镜面反射_第6张图片
Unity_ShaderGraph初体验_简易的漫反射+镜面反射_第7张图片

里面的各种Space都用World,这样相对于世界坐标,才能保证有光从某方向照射而来的感觉。

你可能感兴趣的:(学Unity)