Importieren von Bildern

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) - WebP-Dateien unterstützen Transparenz und können verlustbehaftet oder verlustfrei komprimiert werden. Die Genauigkeit ist auf 8 Bit pro Kanal begrenzt.

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

3D erkennen

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

Compress Lossless

Compress Lossy

Komprimiert VRAM

Beschreibung

Gespeichert als unbearbeitete Pixel

Stored as Lossless WebP / PNG

Stored as Lossy WebP

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

Größe auf Disk

schlecht Groß

regular Klein

gut Sehr Klein

regular Klein

Speichernutzung

schlecht Groß

schlecht Groß

schlecht Groß

gut Klein

Leistung

regular Normal

regular Normal

regular Normal

gut Schnell

Qualitätseinbußen

gut Nichts

gut Nichts

regular Gering

schlecht Mittelmäßig

Ladezeit

regular Normal

schlecht Langsam

schlecht Langsam

gut Schnell

HDR-Modus

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

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 requires the normal map to use the X+, Y+ and Z+ coordinates, this is known as OpenGL style. If you've imported a material made to be used with another engine it may be DirectX style, in which case the normal map needs to be converted so its Y axis is flipped.

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

Kennzeichnungen

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

Wiederholen

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 uses Linear colorspace when rendering 3D. Textures mapped to albedo or detail channels need to have this option turned on in order for colors to look correct. When set to Detect mode, the texture will be marked as sRGB when used in albedo channels.

Warnung

Wenn sRGB aktiviert ist, werden die Daten der Textur geändert. Dies bedeutet, dass die Verwendung derselben Textur in 2D und 3D dazu führt, dass die Textur entweder in 2D oder 3D mit falschen Farben angezeigt wird.

Um dies zu umgehen, erstellen Sie eine Kopie der Textur im Dateisystem und aktivieren Sie sRGB nur auf einer der Kopien. Verwenden Sie die Kopie mit aktiviertem sRGB in 3D und die Kopie mit deaktiviertem sRGB in 2D.

Prozessverhalten

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

Alpharand beheben

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.

Farben 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

Skalierung

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.