Ankündigung

Einklappen
Keine Ankündigung bisher.

Darstellung von Schriften in der Game Engine

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Game Engine Darstellung von Schriften in der Game Engine

    Hallo,

    die Darstellungsqualtiät von Schriften in der Game Engine ist ja relativ bescheiden.

    Mit z.B.

    Code:
    import bge
    
    
    def main():
    
    
    
        cont = bge.logic.getCurrentController()
        own = cont.owner
    
    
        own.resolution = 3
    
    
    
    main()
    kann man ja die Auflösung von Schriften erhöhen und somit die Darstellungsqualität verbessern.

    Gibt es nun eine Möglichkeit gezielt auch noch die Kantenglättung von Schriften zu beinflussen?


    Gruß Keimling

  • #2
    Hey, Keimling.
    Leider hat es die GE etwas schwer mit Schriften. Wir haben mit unserem Spiel genau das selbe Problem und haben bisher nur mit Kantenglättung ein "einigermaßen" solides Ergebnis erreicht. Vlt. findet sich hier ja Jemand, der dafür eine solide Lösung hat. Ich schließe mich daher deiner Frage an.

    EDIT: Alleine nur mit Resolution wird man da nicht glücklich werden. Auch mit Scripten, mit denen du beispielsweise die Schrift aktiv skalierst, wirst du nur schlechte Ergebnisse erzielen. Das liegt an der Renderung des Textes selbst. Frame Einbrüche ect.

    Ein kleiner Tipp, wenn es um Text geht der in einem HUD für ein Spiel steht, dann solltest du die Kamera immer im "Orthograpic" Modus nehmen, da hier die Ansicht/Abstände der Texte immer fest steht.
    Zuletzt geändert von Chugy; 11.09.2017, 06:35.

    Kommentar


    • #3
      1. Du kannst die Schrift vergrößern und dann weiter von der Kamera (perspektivisch) weg schieben. Dadurch wird die Schrift schärfer.
      2. Oder eine hoch aufgelöste Font-Textur verwenden.
      3. Für 2D Text zb. HUD kannst du auch das BLF Python Modul verwenden. https://docs.blender.org/api/2.78b/blf.html
      4. Du kannst auch noch einen 2D Filter (FXAA oder DLAA) zur Kantenglättung über das ganze Renderbild legen.
      FXAA_1.blend
      DLAA_1.blend
      5. Einen SDF(A) Font Shader verwenden. Leider habe ich bis jetzt noch keine schnelle Version. Außerdem sollte der dann in der BGE direkt eingebunden werden. Daher habe ich bis jetzt noch keinen gepostet.


      Kommentar

      Lädt...
      X