OnRenderImage のタイミングで、対象サイズの RenderTexture に一度書き込み
それを destination にコピーすることでサイズを変更することができます
using UnityEngine; [RequireComponent(typeof(Camera))] [ExecuteInEditMode] public class PostEffect : MonoBehaviour { [SerializeField] private int _division = 10; private void OnRenderImage(RenderTexture source, RenderTexture destination) { // 対象サイズの RenderTextureを取得 var temp = RenderTexture.GetTemporary(source.width / _division, source.height / _division, 0, source.format); // 対象サイズの RenderTextureにもともとの画像をコピー Graphics.Blit(source, temp); // サイズを変更したものを 表示させる Graphics.Blit(temp, destination); // 先程利用したRenderTexureを破棄 これをしないとメモリが死ぬ RenderTexture.ReleaseTemporary(temp); } }
注意
RenderTextureを更に増やしているので、サイズが異なるとは言えメモリ
上に2個のRenderTextureが乗ってしまうことになるので注意してください