Unity PBR Shader之眼睛渲染
一,关于其理论知识的资料,参考如下:
Next-GenerationCharacter Rendering
剖析Unreal Engine超真实人类的渲染技术Part 2 - 眼球渲染
二,关于眼睛的结构,参考如下:
三,掌握几个名词的含义
Sclera 巩膜,即眼白
Iris 虹膜
Pupil 瞳孔
Limbus 角膜缘
Cornea 角膜
四,渲染方案:眼白区域正常渲染。虹膜区域有2个部位重叠,角膜和虹膜,光线首先到达角膜产生镜面反射,剩余光线到达内部,由于内部充满房水会产生折射。
效果如下:
五,个人做的另外一组眼睛的效果,这一组模型眼睛有2个模型,一个角膜,一个眼球:
这里在角膜上计算高光和环境反射,眼球部位只计算漫反射足矣。
由于眼球模型上已经凹下去了,故不需再做折射效果了。
效果如下:
六,加上透射功能是这个效果:
如何取眼睛正前方,如果知道模型空间中的眼睛正前方,则可以使用 TransformObjectToWorldNormal() 方法将方向转换到世界空间中。
取到此正前方后与摄像机方向点乘,从而作为系数来影响透射。