【Godot】ピクセルパーフェクト(ドットバイドット)で2Dスプライトを表示する方法

2Dスプライト画像を拡大するとぼやけて表示されることがあります。
これを解消する方法を紹介します。

この記事は Godot 3.x 系の内容となります

Godot 4.x では以下の設定ですべてのテクスチャのレンダリングをピクセルパーフェクトにできます。

  1. メニューから「プロジェクト > プロジェクト設定」を開く
  2. 一般タブから「レンダリング > テクスチャ」を選び、 “Default Texture Filter” の値を「Nearest」にする

ピクセルパーフェクトの設定をする

まず「ファイルシステム」から対象の画像を選択します。
そして、「インポート」タブをクリックします。

次に「プリセット」をクリックして、「2D Pixel」を選びます。

これは2Dピクセルパーフェクトにするためのプリセットとなります。
これを選ぶと「Filter」のチェックが外れています。これによりバイリニアフィルタリング(拡大したときにピクセルが補間される)の設定が無効となります。

「再インポート」をクリックして、変更を適用します。

するとバイリニアフィルタリングが無効となり、画像を拡大してもピクセルパーフェクトで表示されるようになります。

Fiter設定について

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

フィルタ(Filter)

参考