GodotEngineでの複数解像度・アスペクト比対応のアセットに対する方針
Q. 複数の解像度やアスペクト比に対応するアセットを作成するにはどうすればよいですか? A. この質問は頻繁に出てきますが、これはおそらくAppleが当初デバイスの解像度を2倍にしたときに起こした誤解のせいでしょう。同じアセットを異なる解像度で持つことは良い考えだと人々に思わせ、多くの人がその道に向かって進み続けました。当初はAppleのデバイスのみであり、ある程度はうまくいっていましたが、その後、解像度とアスペクト比の異なる複数のAndroidとAppleのデバイスが作られたことで、サイズとDPIの幅が非常に広くなりました。 確かに、同じアセットを異なる解像度で用意して切り替えるゲームもある
これを実現する最も一般的で適切な方法は、代わりに、ゲームでは単一の基本解像度を使用して、異なる画面アスペクト比のみに対処することです。これが必要になるのは主に2Dにおいてであり、3DではカメラXFov (X視野角) またはYFovの問題になります。
ゲームの基本解像度を1つ選択します。2Kあるデバイスであれ、400pだけのデバイスであれ、デバイスの通常のハードウェアスケーリングは、パフォーマンスコストをほとんど又はまったくかけずに対応できます。最も一般的な選択肢は、1080p(1920x1080)または720p(1280x720)です。この解像度が高いほどアセットが大きくなり、メモリの使用量が多くなり、ロードに時間がかかることに注意してください。
Godotのストレッチオプションを使用します。アスペクト比を維持したまま2Dストレッチを行うと、最適な結果が得られます。この方法については、チュートリアル複数の解像度を参照してください。
最小解像度を決定し、ゲームを縦横比ごとに垂直または水平に伸ばすかどうか、または縦横比を固定して余白に黒いバーを表示するかどうかを決定します。これについては、複数の解像度でも説明されています。
ユーザインタフェースでは、anchoringを使用して、コントロールの位置と移動先を指定します。UIがより複雑な場合は、コンテナについて学ぶことを検討してください。
これで終わりです!あなたのゲームは複数の解像度で動くことでしょう。
複数解像度でアセットを書き出すコストはとても大きい
アセットの管理コストも大きい
たいていの場合は一つの解像度をターゲットにして、ストレッチかける上のやり方で良さそう
売れてくれればそこから考えればいい(複数解像度のアセットを用意する対応を)