unity3d Realistic eye shading 真实的眼睛渲染

时间:2023-03-09 08:26:08
unity3d Realistic eye shading 真实的眼睛渲染

先放上效果

unity3d Realistic eye shading 真实的眼睛渲染

unity3d Realistic eye shading 真实的眼睛渲染

unity3d Realistic eye shading 真实的眼睛渲染

人皮都做了,当然要来研究下眼睛,眼睛要比人体皮肤简单一些(实时模拟人皮在此

unity3d Realistic eye shading 真实的眼睛渲染

一看是不是很复杂

这是眼睛的解构,但是,我们只需要模拟出虹膜巩膜和角膜就能达到相当真实的眼睛

unity3d Realistic eye shading 真实的眼睛渲染

巩膜就是白眼球

虹膜就是黑眼仁,欧洲人的巩膜颜色较浅,为蓝色,绿色都有。想做吸血鬼或者黑化的,就可以把巩膜渲染成红色

unity3d Realistic eye shading 真实的眼睛渲染

有点渗人啊。。。。

角膜就是巩膜上的一层凸起,最亮,最光滑,最反光的一层膜

unity3d Realistic eye shading 真实的眼睛渲染

unity3d Realistic eye shading 真实的眼睛渲染

这是一张眼睛放大的图片,清楚地表明了这种结构,是不是很漂亮?

unity3d Realistic eye shading 真实的眼睛渲染

其实眼睛的渲染也是很简单的
稍微讲解下思路吧
巩膜部分比较粗糙,所以要用漫反射加上粗糙的高光,白眼球也有高光,但是存在血管等东西不是特别平滑,但是却很光滑,所以有一张细节法线贴图来控制高光,高光强度也要保证,
晶状体就是在巩膜上的半球体,用球本身的normal求出高光,加在巩膜上即可,
最后一步就是反射周围的景物,需要一张cubemap,但是不能直接加,颜色都被眼球吸走了,所以反射出来的是没有颜色的“亮度”
说完思路大家是不是都豁然开朗?
本次的重点其实还是基于物理的着色,弄出亮晶晶的高光效果

如何区分虹膜与巩膜呢?一张圆形的遮罩贴图就好,如果大小不合适就调UV
好了就这么简单
这是用在最终幻想13中塞拉眼睛的效果,皮肤是之前的皮肤shader,感觉还不错

unity3d Realistic eye shading 真实的眼睛渲染

这是她本来的眼睛,为了要凸显这种略带卡通的风格,ff13把眼仁做大,也确实显得可爱很多

unity3d Realistic eye shading 真实的眼睛渲染

unity3d Realistic eye shading 真实的眼睛渲染

unity3d Realistic eye shading 真实的眼睛渲染

unity3d Realistic eye shading 真实的眼睛渲染

由于博主要做游戏参加GDC所以八月份之前可能不会像这个月这样频繁的更新博客了,

全部代码已共享至GitHub链接

                                              ----- by wolf96

unity3d Realistic eye shading 真实的眼睛渲染