unity中实现ue眼球的渲染

Posted 暮志未晚Webgl

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了unity中实现ue眼球的渲染相关的知识,希望对你有一定的参考价值。


此图取至ue官方网站

在shader里面我们还是需要使用英文,中英文对照:
巩膜:sclera
角膜缘:limbus
虹膜:iris
瞳孔:pupil
角膜:cornea

渲染效果。

模型方面:
使用一个突出的眼球模型来模拟整个的效果。内部的虹膜和瞳孔使用技术去实现凹陷下去的感觉。
uv的排布是以眼球瞳孔的中心点作为0.5 0.5来进行排列。

贴图方面:
巩膜的颜色贴图
巩膜的法向贴图
虹膜的颜色贴图
虹膜的法向贴图

这四张贴图主要为了实现眼球表面的效果。
然后还需要一张虹膜的mask贴图,来标记巩膜和虹膜的范围。

角膜是一个凸起并且半透明的结构。所以不需要相应的贴图,只需要使用虹膜的mask来确定角膜的范围即可。角膜是一个凸起的结构,我们可以想象一下放大镜,那么,虹膜的显示结果将会被角膜的厚度所影响,实现那种放大的效果。

所以,角膜需要额外的贴图来确定角膜的厚度。这里我们使用一张高度图,这是一张HDR贴图,意味着里面的值是可以超过1的。使用这张贴图,配合虹膜的mask,我们可以通过角膜位置高度-角膜缘位置高度,来获取到角膜距离虹膜的距离。

这张高度贴图生成是一个和眼球同朝向的平面,然后烘焙出前半球到平面的距离得出。

关于AO方面,采用在眼球前面额外的添加一层面片的处理方式,这层面片不会跟随这眼球的渲染而移动,用于模拟烘焙出来的眼球的环境光遮蔽效果。

后面,还需要添加眼部周围的结构,比如眼袋,眼睫毛,泪腺。相对来说比眼睛实现简单了很多。

效果查看:https://www.bilibili.com/video/BV19d4y127Mv

以上是关于unity中实现ue眼球的渲染的主要内容,如果未能解决你的问题,请参考以下文章

剖析Unreal Engine超真实人类的渲染技术Part 2 - 眼球渲染

Unite 2018 | 《崩坏3》:在Unity中实现高品质的卡通渲染(下)

Unite 2018 | 《崩坏3》:在Unity中实现高品质的卡通渲染

Unite 2018 | 《崩坏3》:在Unity中实现高品质的卡通渲染(上)

游戏开发实战教你在Unity中实现笼中窥梦的效果(RenderTexture | 视觉差| 多相机 | 渲染 | shader | 多场景)

游戏开发实战教你在Unity中实现笼中窥梦的效果(RenderTexture | 视觉差| 多相机 | 渲染 | shader | 多场景)