Ich versuche, Vollbild benutzerdefinierte Post-Effekt zu machen. mit Skript hinzugefügt, um Hauptkamera, mit einer Zeile: Blit (src, dst, mat) in void OnRenderImage (src, dst). Ich habe den Shader mit _MainTex geschrieben, damit es in "Blit" funktioniert. Ich habe es (oft) richtig gemacht wie in Tuts. Wenn ich diesen Shader einem beliebigen Objekt (mit Textur) zuweise, funktioniert es gut, aber das Problem ist, wenn ich diesen Shader (im Material) dem Skript (blit (,, mat)) zuweise, ignoriert er den ddx, ddy Teil, es funktioniert wie tex2D (tex, uv). WARUM? wie kann ich es reparieren? Hier ist der Fragmentcode.tex2D (s, t, ddx, ddy) funktioniert nicht im Vollbild in Einheit
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;
}
Ich bemerkte eine weitere Sache, wenn ich im Editor zu spielen, sehe ich, dass der Bildschirm "blured" wie es ist, wie es in frag() beschrieben. aber es passiert nur beim Start für 1-2 Frames. – Srul
könnten Sie möglicherweise einen Screenshot hinzufügen? –