Unity之ASE 实现MatCap着色器

前言

MatCaps(材质捕捉)即通过绘画对象来创建表面材质和照明环境,使其看起来像我们希望表面出现的样子。Matcap的原理是通过将相应的法线从捕获的物体表面映射到渲染物体的表面,将球形图像的阴影应用于目标表面。下面的示例演示了非真实图像渲染的各种有趣可能性;原始的MatCap在左侧,生成的阴影表面在右侧。
在这里插入图片描述

创建自定义MatCaps

MatCap着色器需要球面图像作为源。我们可以创建或拍摄任何球形形状以应用于表面。但是,请确保将最终图像精确裁剪到球体的外边缘,并且图像具有相同的宽度和高度(正方形纵横比)。创建MatCap时,请避免使用具有高频细节的表面,这些表面通常无法很好地映射到复杂的表面,并且最终看起来像图像是在表面上的反射一样。柔和或微妙的过渡效果最佳。在分辨率方面,请确保图像本身捕获了目标输出分辨率所需的细节,但是对于柔和,模糊的MatCap,在大多数情况下512x512至1024x1024像素分辨率的大小都可以正常工作。
在这里插入图片描述
下面几张示例图:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq563129582/article/details/129979768