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) - WebP files support transparency and can be compressed lossily or losslessly. The precision is limited to 8 bits per channel.

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

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

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 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

Since the texture will have its data modified when sRGB is enabled, this means using the same texture in both 2D and 3D will make the texture display with incorrect colors in either 2D or 3D.

To work around this, make a copy of the texture on the filesystem and enable sRGB on one of the copies only. Use the copy with sRGB enabled in 3D, and the copy with sRGB disabled in 2D.

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

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.