在使用unity做工艺仿真等对模型渲染有比较高的要求时,经常会发现模型渲染时边缘会出现锯齿波纹状。那么锯齿究竟是从哪里产生的呢?
本质原因是,现今的显示器屏幕都由像素阵列组成。现实世界中的物体形状都是连续的,而屏幕上只能用离散的像素点来表征。例如,屏幕上的一条斜线由一排阶梯状的像素点构成,看起来就显得锯齿型。
以下是一些抗锯齿问题的主流解决方案:
一、unity的Quality设置
最简单的做法,在编辑(edit)菜单-找project setting -> Quality, 在弹出的面板里点击AntiAliasing, 选择 4x或更高。
设置此属性后,锯齿现象会减弱,相应的性能开销也会增大。
二、改变摄像机的渲染路径
为摄像机挂上一个去锯齿的系统脚本,将摄像机的渲染路径(Rendering Path)设置为前向渲染(ForwardBase)就行,因为Unity默认的延迟渲染(Deffered Rendering)不支持多重采样抗锯齿(MSAA),对显卡有硬件要求哦。
导入后Assets资源下多了一个包
找到这个脚本,挂在摄像机上即可。
三、减少模型重叠面、磨损面
这种方法需要美工来做,不做详细介绍了
四、改变shader渲染方式
还没试过,以后补充吧 bulabulabula。。。