Eye Shader
1. 概述
Eye shader是专门用来渲染人类的眼睛的,人类的眼睛非常复杂,不仅是着色还要组合。因此他们的着色不能通过正常的着色来实现。
2. 眼睛参数
Shader 参数 | 描述 |
Reflect Amount | 设置反射量 |
Fresnel bias | 设置fresnel反射材料系数 |
Fresnel Scale | 设置fresnel的规模的大小 |
Iris glint multiplier | 设置虹膜的的闪烁乘数 |
Cornea Opacity | 设置角膜反射的不透明度 |
Iris color | 设置眼睛虹膜颜色 |
3. 一些眼睛属性
眼睛由几个部分构成,最主要的有巩膜(眼睛把色区域),虹膜(眼睛颜色来源部分),瞳孔(中间的暗点),以及眼角膜(虹膜前面的玻璃体)
(眼睛的简单结构)
使用的经验方法,可以确定眼睛组成最重要的特性是可视化的。
角膜是高反射率的,是眼睛反射率最高的部分
巩膜也是反光的,并看起来湿漉漉的
通过眼睛的移动和转动我们可以想象到在虹膜上会有一些高光。
4. 使用EyeShader: 第一部分
EyeShader模拟了上述说有特性,它简单易用,但要遵循几个步骤:
第一步是创建眼睛的几何体:
你需要一个眼球命名为巩膜,在上面有一个虹膜的凹陷区域
你需要一个凸形的角膜覆盖到虹膜区域上。
(几何体例子,注意眼球上微妙的向内弯曲和角膜上的向外弯曲)
虹膜表面区域要比较平滑(图片的例子可能不是最好的平滑方式,因为这是为了最快的得到原型而作的)。
第二步是要创建眼睫毛和眼睛环境闭塞的表面和纹理,这个表面后边将会用于做眼睛上边的混合和假的环境闭塞,同时也是做眼球的交互。
(睫毛/环境闭合网格和纹理的例子,这个使用在眼睛上方)
5. 使用EyeShader: 第二部分
这个shader三个独立的渲染技术,一个是眼球(巩膜,shader是Eye,Eye)表面,一个是角膜(Shader是Eye.Cornea),最后一个是睫毛和环境闭塞表面(shader是Eye.AmbientOcclusion)。
参数是非常简单的,有2个默认参数:
Reflection amount: 设置反射量,实际上像一个乘数。
Fresnel bias: 设置以来于观察角度的反射量
在眼睛的环境闭塞技术下,你可以使用透明度参数来设定环境闭塞的数值。
(环境闭塞量:0是不透明,50为中度可见,100为完全可见。请注意不透明度也以来于纹理)
6. 好的参数值
在眼球的角膜shader技术中,好的参数值是会匹配人类眼球和角膜的外观的,这意味着光泽程度相当高(glossiness around 100)。也会有一些反射(reflection amount 0.75 fresnel bias 0.5)
附加说明:
漫反射纹理应该在虹膜区用透明通道作为掩码
使用一个好的环境贴图