unity,实现屏幕后处理的两种方法
方法一:
Main Camera的Target Texture保持为None。挂一个Blit脚本,在其中的OnRenderImage中调用Graphics.Blit(sourceTexture,destTexture,myMaterial)。
需要注意的是myMaterial中的shader一定要用ZWrite Off、ZTest Always的shader。
方法二:
为Main Camera的Target Texture指定一个RT,直接渲染到RT,同时将RT赋给一个quad并用一个正交相机对准它。另外为了实现后处理,quad的material需要选一个适当的后处理shader。
需要注意的是myMaterial中的shader一定要用ZWrite Off、ZTest Always的shader。(如果myMaterial中的shader不用ZWrite Off、ZTest Always的shader,但将正交相机的clear flags由don't clear改成Solid Color也可以,但是这样性能应该会降低,所以还是直接用ZWrite Off、ZTest Always的shader比较好)。