Unity URP-Absturz: ArgumentException: RenderTextureDesc GraphicsFormat muss ein unterstütztes GraphicsFormat (R32_SFloatAndroid

Forum für diejenigen, die für Android programmieren
Anonymous
 Unity URP-Absturz: ArgumentException: RenderTextureDesc GraphicsFormat muss ein unterstütztes GraphicsFormat (R32_SFloat

Post by Anonymous »

In meinem Unity-Android-Spiel kommt es zu einem schwerwiegenden Absturz, insbesondere auf bestimmten Geräten. Der Absturz tritt während der Kamera-Rendering-Einrichtung innerhalb der Universal Render Pipeline (URP) auf.
Der Fehler:

Code: Select all

java.lang.Exception: ArgumentException : RenderTextureDesc graphicsFormat must be a supported GraphicsFormat. R32_SFloat is not supported on this platform.
Parameter name: desc.graphicsFormat
at UnityEngine.RenderTexture.ValidateRenderTextureDesc(UnityEngine.RenderTexture)
at UnityEngine.Rendering.RTHandleSystem.CreateRenderTexture(UnityEngine.Rendering.RTHandleSystem)
at UnityEngine.Rendering.Universal.UniversalRenderer.Setup(UnityEngine.Rendering.Universal.UniversalRenderer)
Kontext:
  • Unity-Version: 60000.64f1
  • URP-Version: 17.0.4
  • Plattform: Android
Beobachtungen: Es scheint, dass URP versucht, eine RenderTexture mithilfe des R32_SFloat-Formats zuzuweisen (wahrscheinlich für eine Tiefentextur, Schattenkarte oder einen benutzerdefinierten RenderPass), aber die mobile Hardware unterstützt keine 32-Bit-Float-Formate für Rendertexturen.
Ich rufe nicht explizit auf R32_SFloat in meinen eigenen Skripten; Dies scheint intern durch UniversalRenderer.Setup ausgelöst zu werden.
Was ich überprüft habe:
  • Ich habe meine Universal Render Pipeline Asset-Einstellungen durchgesehen, konnte aber keinen Schalter finden, um ein Format mit niedrigerer Genauigkeit für die internen Puffer zu erzwingen.
Meine Frage: Wie kann ich URP dazu zwingen? Fallback auf ein unterstütztes Format (wie R16_SFloat oder Depth16) anstelle von R32_SFloat, um diesen Absturz auf älterer oder inkompatibler Android-Hardware zu verhindern? Gibt es eine bestimmte Einstellung im URP-Asset oder eine Möglichkeit, die RTHandle-Zuweisung abzufangen?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post