- Unlit:不会受到光照影响
- lit:有光照(高光阴影),基于物理的材质,比较消耗性能
- Custom lighting:自定义光照shader
- sprite:基于2D;
- partical(additive):主要应用在发光效果的粒子shader;
- partical(alpha-blended):主要应用在细碎效果的粒子 比如 风沙。
- partical(multiplicative):主要用在昏暗效果,比如黑烟;
- Sky:天空效果;
- post-effect:屏幕空间的后期处理,屏幕突然闪一下,黑一下之类。
- 两个RGB信息 输出到乘法节点,再输出到diffuse端 呈现两种叠加效果
- 结点里把RGB的0-255映射成0-1, 白色是1 1 1,所以白色乘任何色都是任何色
- 乘法结点:不仅可以乘颜色的RGB,也可以乘颜色和位置。越乘越黑。
- 加法结点:越加越亮,一般用在发光效果,可以添加Slide滑动条与原RGB相乘来控制。
- 数据维度转换:一维转高维,后几位都与第一位相同。比如1*RGB的三个数据等于1*R 1*G 1*B, 二维以上转高维是在后面补零。
- 光照模型:根据材质属性(如漫反射等)、光源信息(光源方向、福照度等)使用响应公式去计算沿着某个观察方向的出射度的过程。基本方法是把进入摄像机内的光线分为4个部分,每个部分用一种方法来计算它的贡献度:
- 自发光部分(emissive)
- 高光反射部分(specular)
- 漫反射部分(diffuse)
- 环境光部分(ambient)
- 点积结点:返回两个向量的模*两个向量的cos夹角 模默认是1; 返回法线的方向和灯光方向的夹角。光照最强的地方,法线与光线夹角为0度。大于90度的地方都为黑暗处,光线最弱。
- 为了使不受光的地方不是很暗的方法:remap结点:把两个值映射到另外两个值 比如把0-1 映射为0.5到1 可以把没有光照的地方 不至于死黑。
- 视角和灯光向量会影响灯光
- 高光点:视角坐标和灯光夹角的二分之一 harf direction
power:value的 ()次方
高光制作:
- 高光改善:缝隙不显示高光
(clamp结点设定峰值)
- 法线贴图:
法线贴图的Texture type要改成 Normal map,Creat from Grayscal取消勾选(是一个根据图片灰度信息变成法线贴图的选项),将法线贴图的信息输出给Normal,勾选结点 Normal Dir下的Perturbed。这样出来的材质球就有凹凸效果了。
- 灯光衰减和灯光颜色:
添加两个额外结点
- 菲涅尔反射:
原理:
如果你站在湖边,低头看脚下的水,你会发现水是透明的,反射不是特别强烈;如果你看远处的湖面,你会发现水并不是透明的,但反射非常强烈。这就是“菲涅尔效应”。简单的讲,就是视线垂直于表面时,反射较弱,而当视线非垂直表面时,夹角越小,反射越明显。如果你看向一个圆球,那圆球中心的反射较弱,靠近边缘较强。不过这种过度关系被折射率影响。Fresnel结点(有默认值) 用在水面反射 描边等 视线和表面垂直的时候 效果比较弱
- 菲涅尔反射的制作:
相当于把视线和法线点积的效果取反。(1-操作 白变黑 黑边白)
给之前的材质球添加菲涅尔反射:
- Append结点:增加数据维度
- comp.mask:减少数据维度