无论在制作背包系统还是其他的UI系统中,想要实现3D游戏物体在UI上的显示那么RenderTexture都是一个很好的工具。
但是在使用RenderTexture,尤其是把Render渲染到RawImage上的时候,image的渲染质量问题都是一个亟需解决的问题。
解决方案:
1.通常都是通过修改RenderTexture的size大小,从而提高渲染质量。
由于美工提交的作品都是分辨率比较高的,当进行渲染的时候会出现锯齿问题,那么既然要解决锯齿问题就先要理解锯齿产生的原因。
锯齿也就是马赛克:把一个低分辨率的图显示在高分辨率的图上,那么在渲染的时候,多个像素点会在同一个点上采样,那么这个时候这几个像素点渲染出的效果差不多那么就会出现马赛克的效果
亮块:对于分辨率比较高的图片显示在低分辨率图上的时候,由于一个像素点会在多个点上进行采样,那么这个时候就会出现亮块
解决这两类问题的方法都是通过更改FilterMode(过滤模式)也就是采样的方式
在DX12一般有三种采样:1.就近点采样2.线性采样3.双线插值采样 效果越来越好,但是性能的消耗也越来越大
Unity中的三种过滤方式:Filter Mode 当该纹理由于3D变换进行拉伸时,它将如何被过滤插值。共有三种选择:
Point 单点插值,纹理将变得块状化(blocky up close);
Bilinear 双线性插值,纹理将变得模糊(blurry up close);
Trilinear 三线性插值,类似Bilinear,但是纹理还会在不同的mip水平之间(between the different mip levels)进行模糊;