フルスクリーンのカスタムポストエフェクトを作成しようとしています。 メインのカムにスクリプトを追加し、1行でblit(src、dst、mat)をvoid OnRenderImage(src、dst)に追加しました。私は_MainTexでシェイダーを書いたので、 "Blit"で動作します。私はそれを(何度も)すべての正しい方法でやりました。このシェーダを任意のオブジェクト(テクスチャを持つ)に割り当てるとうまくいきますが、問題はシェーダ(素材)をスクリプト(blit(,, mat))に割り当てるときにddx、ddyパーツを無視するようなものです。 tex2D(tex、uv)。どうして?どうすれば修正できますか? ここにフラグメントコードがあります。tex2D(s、t、ddx、ddy)がフルスクリーンで統一されていません
fixed3 frag(vout v):sv_target
{
fixed3 c;
float2 cddx=float2(
pow(abs(0.5-v.uv.x),1.6)*_xy,
-pow(abs(0.5-v.uv.y),1.6)*_xy);
float2 cddy=float2(
-pow(abs(0.5-v.uv.x),1.6)*_xy,
pow(abs(0.5-v.uv.y),1.6)*_xy);
c=tex2D(_MainTex,v.uv,cddx,cddy);
return c*0.5;
}
もう1つ気がついたのは、エディタで再生したときに、frag()で説明したように画面が "blured"になっているのが分かります。それは1-2フレームの開始時にのみ発生します。 – Srul
あなたはスクリーンショットを追加できますか? –