Bilder importieren

Unterstützte Bildformate

Godot unterstützt die folgenden Bildformate:

  • BMP (.bmp) - Keine Unterstützung für Bilder mit 16 Bit pro Pixel. Es werden nur Bilder mit 1 Bit, 4 Bit, 8 Bit, 24 Bit und 32 Bit pro Pixel unterstützt.

  • DirectDraw Surface (.dds) - Wenn Mipmaps in der Textur vorhanden sind, werden sie direkt geladen. Dies kann verwendet werden, um Effekte mit benutzerdefinierten Mipmaps zu erzielen.

  • OpenEXR (.exr) - Unterstützt HDR (sehr empfohlen für Panoramahimmel).

  • Radiance HDR (.hdr) - Unterstützt HDR (sehr empfohlen für Panoramahimmel).

  • JPEG (.jpg, .jpeg) - Unterstützt aufgrund der Einschränkungen des Formats keine Transparenz.

  • PNG (.png) - Die Genauigkeit ist beim Import auf 8 Bit pro Kanal begrenzt (keine HDR-Bilder).

  • Truevision Targa (.tga)

  • SVG (.svg, .svgz) - SVGs werden beim Importieren mit NanoSVG gerastert. Die Unterstützung ist begrenzt; komplexe Vektoren werden möglicherweise nicht korrekt gerendert. Für komplexe Vektoren ist das Rendern in PNGs mit Inkscape oft die bessere Lösung. Dies kann dank der Befehlszeilenschnittstelle automatisiert werden.

  • WebP (.webp)

Bemerkung

Wenn Sie den Godot-Editor aus dem Quellcode mit deaktivierten Modulen kompiliert haben, sind einige Formate möglicherweise nicht verfügbar.

Texturen importieren

Die Standardaktion in Godot besteht darin, Bilder als Texturen zu importieren. Texturen werden im Videospeicher gespeichert und man kann nicht direkt darauf zugreifen. Dies macht das Zeichnen effizient.

Die Importmöglichkeiten sind riesig:

../../../_images/image_import1.png

Detect 3D

Diese Option zeigt Godot an, wann eine Textur (die standardmäßig für 2D importiert wird) in 3D verwendet wird. In diesem Fall werden die Einstellungen geändert, damit die Texturflags 3D-freundlicher sind (Mipmaps, Filter und Wiederholung werden aktiviert und die Komprimierung wird in VRAM geändert). Die Textur wird ebenfalls automatisch wieder importiert.

Kompression

Bilder sind einer der größten Nutzerinhalte in einem Spiel. Um sie effizient verarbeiten zu können, müssen sie komprimiert werden. Godot bietet je nach Anwendungsfall mehrere Komprimierungsverfahren an.

Kompressionsmodus

  • VRAM-Komprimierung: Dies ist der gebräuchlichste Komprimierungsmodus für 3D-Assets. Die Größe auf der Festplatte wird reduziert, und auch die Nutzung des Videospeichers wird erheblich verringert (normalerweise um einen Faktor zwischen 4 und 6). Dieser Modus sollte für 2D vermieden werden, da er auffällige Artefakte aufweist.

  • Verlustfreie Komprimierung: Dies ist der gebräuchlichste Komprimierungsmodus für 2D-Assets. Er zeigt Assets ohne jegliche Art von Artefakten an, und die Festplattenkomprimierung ist anständig. Sie benötigt jedoch wesentlich mehr Videospeicher als die VRAM-Komprimierung. Dies ist auch die empfohlene Einstellung für Pixelkunst.

  • Verlustbehaftete Komprimierung: Dies ist eine gute Wahl für große 2D-Assets. Sie hat einige Artefakte, aber weniger als VRAM und die Dateigröße ist im Vergleich zu verlustlos oder unkomprimiert um ein Vielfaches geringer. Die Nutzung des Videospeichers wird durch diesen Modus nicht verringert; es ist derselbe wie bei der verlustfreien oder unkomprimierten Komprimierung.

  • Unkomprimiert: Nur nützlich für Formate, die nicht komprimiert werden können (wie z.B. rohe Float-Bilder).

In dieser Tabelle wird jede der vier Optionen zusammen mit ihren Vor- und Nachteilen beschrieben (|gut| = beste, |schlecht| = schlechteste):

unkomprimiert

Komprimiert verlustfrei (PNG)

Komprimiert verlustbehaftet (WebP)

Komprimiert VRAM

Beschreibung

Gespeichert als unbearbeitete Pixel

Gespeichert als PNG

Gespeichert als WebP

Gespeichert als S3TC/BC oder PVRTC/ETC je nach Plattform

Größe auf Disk

bad Groß

regular Klein

good Sehr Klein

regular Klein

Speichernutzung

bad Groß

bad Groß

bad Groß

good Klein

Leistung

regular Normal

regular Normal

regular Normal

good Schnell

Qualitätseinbußen

good Nichts

good Nichts

regular Gering

bad Mittelmäßig

Ladezeit

regular Normal

bad Langsam

bad Langsam

good Schnell

HDR Mode

Godot unterstützt HDR-Texturen (als .HDR oder .EXR). Diese sind vor allem als äquirektanguläre HDR-Panoramahimmel nützlich (das Internet hat viele, wenn Sie danach suchen), die Cubemaps in Godot 2.x ersetzen. Moderne PCs unterstützen das BC6H-VRAM-Format, aber es gibt immer noch viele, die dies nicht tun.

Wenn Sie möchten, dass Godot die volle Kompatibilität in Bezug auf die Art der Texturen gewährleistet, aktivieren Sie die Option "Force RGBE".

Normal Map (Karte)

Wenn eine Textur als Normalmap verwendet wird, sind nur der rote und der grüne Kanal erforderlich. Da normale Texturkompressionsalgorithmen Artefakte erzeugen, die in Normalmaps nicht so schön aussehen, ist das RGTC-Kompressionsformat für diese Daten am besten geeignet. Wenn Sie diese Option auf "Aktiviert" setzen, wird Godot das Bild als RGTC-komprimiert importieren. Standardmäßig ist sie auf "Erkennen" eingestellt, d.h. wenn die Textur jemals als normale Map verwendet wird, wird sie in "Aktiviert" geändert und automatisch wieder importiert.

Beachten Sie, dass sich die RGTC-Komprimierung auf das resultierende Normalmapbild auswirkt. Sie müssen benutzerdefinierte Shader, welche die Normalmap verwenden, anpassen, um dies zu berücksichtigen.

Bemerkung

Godot benötigt die normale Karte, um die X+ -, Y- und Z+ -Koordinaten zu verwenden. Mit anderen Worten, wenn Sie ein Material importiert haben, das für die Verwendung mit einer anderen Engine erstellt wurde, müssen Sie möglicherweise die normale Karte so konvertieren, dass ihre Y-Achse umgedreht wird. Andernfalls scheint die normale Kartenrichtung auf der Y-Achse invertiert zu sein.

Weitere Informationen über Normal Maps (einschließlich einer Koordinatenordnungstabelle für populäre Engines) finden Sie hier.

Flags

Es gibt eine Vielzahl von Einstellungen, die beim Importieren eines Bildes als Textur je nach Anwendungsfall umgeschaltet werden können.

Repeat (Wiederhole)

Diese Einstellung wird am häufigsten in 3D verwendet und ist daher in 2D generell deaktiviert. Sie setzt UV-Koordinaten, die über den Bereich 0,0 - 1,1 hinausgehen, auf "Schleife".

Die Wiederholung kann optional auf den gespiegelten Modus eingestellt werden.

Filter

Wenn Pixel größer als die Bildschirmpixel werden, ermöglicht diese Option die lineare Interpolation für diese Pixel. Das Ergebnis ist eine glattere (weniger blockige) Textur. Diese Einstellung kann häufig in 2D und 3D verwendet werden, ist aber normalerweise deaktiviert, wenn man Pixelperfekte Spiele erstellt.

MipMaps

Wenn die Pixel kleiner als der Bildschirm werden, treten Mipmaps in Kraft. Dies hilft, den Körnigkeitseffekt beim Verkleinern der Texturen zu reduzieren. Denken Sie daran, dass bei älterer Hardware (GLES2, hauptsächlich Mobilgeräte) einige Anforderungen an die Verwendung von Mipmaps bestehen:

  • Texturbreite und -höhe müssen Potenzen von 2 sein

  • Wiederholung muss aktiviert sein

Denken Sie an das oben Gesagte, wenn Sie Handyspiele und -anwendungen entwickeln, eine vollständige Kompatibilität anstreben und Mipmaps benötigen.

Bei 3D sollte mipmap eingeschaltet sein, da dies auch die Leistung verbessert (kleinere Versionen der Textur werden für weiter entfernte Objekte verwendet).

Anisotropisch

Wenn die Texturen nahezu parallel zur Ansicht sind (wie z.B. Böden), sorgt diese Option dafür, dass sie mehr Details aufweisen, indem die Unschärfe reduziert wird.

SRGB

Godot verwendet beim 3D-Rendern den linearen Farbraum. Für Texturen, die auf Albedo- oder Detailkanäle abgebildet werden, muss diese Option aktiviert sein, damit die Farben korrekt aussehen. Wenn sie auf den Modus "Erkennen" eingestellt ist, wird die Textur als SRGB markiert, wenn sie in Albedo-Kanälen verwendet wird.

Prozess

Einige spezielle Prozesse können auf Bilder angewendet werden, wenn sie als Texturen importiert werden.

Alpha-Grenze fixieren

Dies versetzt Pixel derselben Umgebungsfarbe in den Übergang von Transparenz zu Nichttransparenz. Dies hilft, den Umriss-Effekt beim Exportieren von Bildern aus Photoshop und dergleichen zu verringern.

../../../_images/fixedborder.png

Es ist eine gute Idee dies standardmäßig aktiviert zu lassen, es sei denn bestimmte Werte sind erforderlich.

Vormultiplizierte Alpha

Eine Alternative zum beheben abgedunkelter Ränder ist die Verwendung von vormultipliziertem Alpha. Wenn Sie diese Option aktivieren, wird die Textur in dieses Format konvertiert. Beachten Sie, dass ein Material erstellt werden muss, das den PREMULT ALPHA-Mischmodus auf Canvas-Elementen verwendet, die es benötigen.

HDR als sRGB

Einige HDR-Dateien sind fehlerhaft und enthalten sRGB-Farbdaten. Es wird empfohlen diese nicht zu verwenden, schlimmstenfalls aktivieren Sie diese Option, damit sie wieder richtig aussehen.

Farbe invertieren

Kehrt die Farbe des Bildes um. Dies ist z. B. nützlich, um eine Höhenkarte, die von externen Programmen generiert wird, in eine Tiefenkarte zu konvertieren, die mit 3D Materialien (Spatial) verwendet werden kann.

SVG

Maßstab

Diese Option gilt nur für SVG-Dateien. Es steuert die Skalierung des SVG-Bildes. Mit der Standardskala (1.0) stimmt die importierte SVG-Datei mit der ursprünglichen Entwurfsskala überein.