イメージのインポート

サポートされている画像形式

Godotは、次の画像形式をインポートできます:

  • BMP (.bmp) - 16 ビット/ピクセルの画像はサポートされていません。1 ビット、4 ビット、8 ビット、24 ビット、32 ビット/ピクセル画像のみがサポートされています。

  • DirectDraw Surface (.dds) - ミップマップがテクスチャに存在する場合、それらは直接ロードされます。これは、カスタムミップマップを使用してその効果を実現するために使用できます。

  • OpenEXR (.exr) - HDRをサポートします(パノラマスカイ用に強くお勧めします)。

  • Radiance HDR (.hdr) - HDRをサポートします(パノラマスカイ用に強くお勧めします)。

  • JPEG (.jpg.jpeg) - フォーマットの制限に従って透明度はサポートしていません。

  • PNG (.png) - インポート時のチャンネルごとの精度は8ビットに制限されます(HDR画像なし)。

  • Truevision Targa (.tga)

  • SVG (.svg, .svgz) - SVGは、インポート時に NanoSVG を使用してラスタライズされます。サポート内容は限られています: 複雑なベクトルは正しくレンダリングされない場合があります。複雑なベクトルの場合、Inkscapeを使用してPNGにレンダリングする方が多くの場合、より優れたソリューションです。この作業は、Inkscapeの `コマンドラインインターフェイス https://wiki.inkscape.org/wiki/index.php/Using_the_Command_Line#Export_files>`__ を使って自動化できます。

  • WebP (.webp)

注釈

特定のモジュールを無効にしてソースからGodotエディタをコンパイルした場合、一部の形式が利用できない場合があります。

テクスチャのインポート

Godotのデフォルトのアクションは、イメージをテクスチャとして読み込む方法です。テクスチャはビデオメモリに格納され、直接アクセスすることはできません。それはそれらを効率的に描く為です。

インポートオプションは豊富です:

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

3Dの検出(Detect 3d)

このオプションを使用すると、3Dでテクスチャ(これはデフォルトとして2D用にインポートされます)が使用されていることをGodotに認識させることができます。この場合、設定が変更され、テクスチャフラグが3D(ミップマップ、フィルタ、および繰り返しが有効になり、圧縮がVRAMに変更されます)によりわかりやすくなります。テクスチャも自動的に再読み込みされます。

圧縮

画像は、ゲーム内で最大のアセットの 1つです。それらを効率的に処理するには、圧縮する必要があります。Godot は、ユースケースに応じて、いくつかの圧縮方法を提供します。

圧縮モード(Compress Mode)

  • VRAM Compression: これは3Dアセットの最も一般的な圧縮モードです。ディスク上のサイズが削減され、ビデオメモリの使用量も大幅に削減されます(通常は1/4〜1/6)。このモードは、顕著なアーティファクトを示すため、2Dでは使用しないでください。

  • Lossless(ロスレス) Compression: これは2Dアセットで最も一般的な圧縮です。これは、あらゆるアーティファクトの影響を受けずにアセットを表示できるものであり、ディスク圧縮はまずまずです。ただし、VRAM圧縮よりもかなり多くのビデオメモリを使用します。これはピクセル アート用の推奨設定でもあります。

  • Lossy(非可逆圧縮) Compression: これは、大きな2Dアセットに適しています。いくつかのアーティファクトがありますが、VRAMより小さく、ファイルサイズはLosslessまたはUncompressedに比べて数分の1の小ささです。このモードでは、ビデオメモリの使用量は減少しません。 Lossless CompressionまたはUncompressedと同じです。

  • Uncompressed(圧縮なし): 圧縮できないフォーマット(raw floatなど)にのみ役立ちます。

この表では、4つのオプションのそれぞれについて、それぞれの長所と短所と共に説明しています(good = ベスト、bad = 最悪):

圧縮なし

ロスレス圧縮(PNG)

非可逆圧縮(WebP)

VRAMを圧縮

説明

未加工のピクセルとして保存

PNG形式で保存

WebP形式で保存

プラットフォームに応じてS3TC/BCまたはPVRTC/ETCとして保存

ディスク上のサイズ

bad 大きい

regular 小さい

good 非常に小さい

regular 小さい

メモリ使用量

bad 大きい

bad 大きい

bad 大きい

good 小さい

パフォーマンス

regular 通常

regular 通常

regular 通常

good 高速

品質損失

good なし

good なし

regular わずか

bad 中程度

読み込み時間

regular 通常

bad 遅い

bad 遅い

good 高速

HDRモード(HDR Mode)

Godotは、高ダイナミックレンジテクスチャ(.HDRまたは.EXR)をサポートしています。これらは、Godot 2.xのキューブマップに代わる、高ダイナミックレンジの正距円筒(equirectangular)のパノラマスカイ(インターネットを検索すればたくさんあります)として非常に便利です。最近のPCはBC6H VRAM形式をサポートしていますが、まだサポートしていないものがたくさんあります。

テクスチャの種類に関してGodotに完全な互換性を確保する場合は、[RGBEを強制する]オプションを有効にします。

ノーマルマップ(Normal Map)

テクスチャをノーマル(法線)マップとして使用する場合は、赤と緑のチャンネルのみが必要です。通常のテクスチャ圧縮アルゴリズムのノーマルマップではある程度の見栄えの悪いアーティファクトが生成されるため、RGTC圧縮形式がこのデータに最適です。このオプションを「有効」に強制すると、GodotはRGTC圧縮として画像をインポートします。デフォルトでは、「検出」に設定されています。つまり、テクスチャがノーマルマップとして使用されると、「有効」に変更され、自動的に再インポートされます。

RGTC圧縮は、結果として得られるノーマルマップイメージに影響することに注意してください。これを考慮するには、ノーマルマップを使用するカスタム シェーダを調整する必要があります。

注釈

Godotでは、X+、Y-、Z+の座標を使用するために、法線マップを変換する必要があります。つまり、他のエンジンで使用するために作られたマテリアルをインポートした場合、法線マップの Y 軸が反転するように変換する必要があるかもしれません。そうしないと、法線マップの方向がY軸上で反転して見えることがあります。

More information about normal maps (including a coordinate order table for popular engines) can be found here.

フラグ(Flags)

使用状況に応じて、イメージをテクスチャとして読み込むときに切り替えることができる設定が多数あります。

リピート(Repeat)

この設定は3Dで最も一般的に使用されるため、通常2Dでは無効になっています。 0,0~1,1の範囲を超えて「ループ」するUV座標を設定します。

リピートは、必要に応じてミラー (mirrored)モードに設定できます。

フィルタ(Filter)

テクスチャのピクセルが画面のピクセルより大きくなると、このオプションは線形補間を有効にします。その結果、より滑らかな(ブロックの少ない)テクスチャが得られます。この設定は2Dおよび3Dで一般的に使用できますが、ピクセルパーフェクト(テクスチャの画素と画面の画素が1対1)なゲームを作成する場合は通常無効になっています。

ミップマップ(Mipmaps)

ピクセルが画面よりも小さくなると、ミップマップが始まります。これにより、テクスチャを縮小する際の粒状効果を低減するのに役立ちます。古いハードウェア (GLES2、主にモバイル) では、ミップマップを使用する要件がいくつかあります:

  • テクスチャの幅と高さは 2 のべき乗でなければなりません(16、32、64、256など)

  • リピートを有効にする必要があります

携帯電話向けにゲームやアプリケーションを作成する際には、上記の注意を要し、完全な互換性を目指し、ミップマップが必要です。

3Dを実行する場合は、パフォーマンスも向上するので、ミップマップをオンにする必要があります(テクスチャの小さいバージョンは、遠くのオブジェクトに使用されます)。

異方性(Anisotropic)

テクスチャがビューとほぼ平行(床など)の場合、このオプションを使用すると、不鮮明さが軽減され、テクスチャがより詳細になります。

SRGB

Godotは、3Dレンダリング時に線形色空間を使用します。アルベドまたは詳細チャネルにマップされたテクスチャは、色が正しく表示されるために、このオプションをオンにする必要があります。 "Detect" モードに設定すると、アルベド チャネルで使用するとテクスチャがSRGBとしてマークされます。

プロセス(Process)

テクスチャとしてインポートする場合、いくつかの特別なプロセスを画像に適用できます。

アルファ境界線を修正する(Fix Alpha Border)

これにより、同じ周囲の色のピクセルが透明から非透明に移行します。 Photoshopなどから画像をエクスポートするときに、アウトライン効果を軽減するのに役立ちます。

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

特定の値が必要ない限り、既定のままにしておくことをお勧めします。

乗算済みアルファ(Premultiplied Alpha)

暗くなった境界線を修正する別の方法は、乗算済みアルファを使用することです。 このオプションを有効にすると、テクスチャはこのフォーマットに変換されます。 必要なキャンバスアイテムにPREMULT ALPHAブレンドモードを使用するマテリアルを作成する必要があることに注意してください。

HDR as sRGB

いくつかのHDRファイルには壊れたsRGBカラーデータが含まれています。そのようなファイルを使用しないことをお勧めしますが、最悪の場合、このオプションをオンに切り替えると正しく表示されるようになります。

色の反転

画像の色を反転します。これは、たとえば、外部プログラムによって生成された高さマップを Spatial(空間)マテリアル で使用する深度マップに変換する場合に便利です。

Svg

スケール

このオプションはSVGファイルにのみ適用されます。 SVG画像のスケールを制御します。デフォルトのスケール(1.0)では、インポートされたSVGは元のデザインのスケールと一致します。