[Godot] 描画でアンチエイリアスをかけたくない場合の設定(スプライトがボケたとき)

完全無料オープンソースのゲームエンジン「Godot」の記事です。

Godotで描画を行う際、通常はピクセルのジャギー(ギザギザ)を目立たせないよう、ピクセルの補完フィルター(アンチエイリアス)がかけられます。

しかし荒いドット絵でレトロな雰囲気を出したい場合、このフィルターは雰囲気が変わってしまいます。より大きく拡大した際は、まるでボケた印象画ような絵になってしまいます。

アンチエイリアスをかけたくない(ピクセルのギザギザまま引き伸ばしをしたい)場合は、どこを設定すればいいのでしょうか?

Godot公式サイトへのボタン
完全無料の高機能ゲームエンジン「Godot」の解説を書いています。
公式サイトはこちら公式ドキュメント(Godot 4)公式ドキュメント(Godot 3)当サイトのGodot記事一覧はこちら

TextureのFilterをチェック

このフィルターを制御しているのが、Canvas ItemのTextureプロパティです。描画をするノード(Node2D、Sprite2Dなど)のほとんどが備えています。

Godot Texture Filter

 

またプロジェクト全体としての設定もあり、プロジェクト設定→レンダリング→テクスチャの中にあるCanvas TexturesのDefault Texture Filterです。

プロジェクトのFilter設定

 

オブジェクト単位では、通常は「Inherit」になっています。上位のノードもしくはプロジェクトから、そのまま設定を引き継いでいます。

フィルターは大きく分けて2種類「Nearest」「Liner」があり、Nearestがそのままの引き伸ばし、Linerはギザギザの間を中間色で補完する描画になっています。

今回はギザギザの雰囲気を出したいので、「Nearest」に変更します。

プロジェクト設定やルートノードを変えれば、下位のノードで「Inerite」になっているものにすべて受け継がれます。個別に設定した場合は、個別の設定が優先されます。

つまり全体としてはNearestだけれども、あるスプライトのみLiner補完をする、そんなことも可能です。

絵は拡大するとボケたようになってしまいますが、文字の場合は補完をするとぐっと読みやすくなります。なのでスプライトはNearest、UIはLinerを設定するなど、使い分けができるのです。

 

コメント