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:
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 |
Groß |
Klein |
Sehr Klein |
Klein |
Speichernutzung |
Groß |
Groß |
Groß |
Klein |
Leistung |
Normal |
Normal |
Normal |
Schnell |
Qualitätseinbußen |
Nichts |
Nichts |
Gering |
Mittelmäßig |
Ladezeit |
Normal |
Langsam |
Langsam |
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.
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.