「Godot」に関する日記

Unity

先日GodotのDPI対応について調べたので、今度はUnityも調べてみました。
画像は割愛しますが、Godotがシステムで、Unityはモニターごと(v2)。

システムは、解像度がメインモニター基準固定で、別ディスプレイに行くと機械的に拡大縮小されてぼやけます。
最初の解像度対応さえちゃんとすれば後は全自動で、Godotは最初の起動時の状態をドットバイドットの表示にします。

モニターごとは、各モニターごとに解像度が再設定されます。
そのため、画面が切り替わるごとに処理が発生します。
起動時の状態は、Unityでもドットバイドットになりますが、別モニターに行くと結局拡大縮小が発生します。
ここで、3Dならば、解像度をちゃんと切り替えたうえで、新しい解像度でドットバイドットになるようにレンダリングできます。
しかし、2Dの場合、SVGみたいなベクターグラフィックでまない限りは、ドット数固定で、別解像度など存在しないので、機械的に拡大縮小するしかなく、やはりぼやけてしまいます。

うーむ、3DならUnityのほうが強いけど、2Dだと実質変わらないってことか。
2Dの作りやすさでいえば、Godotのほうがやりやすく感じたし、2Dゲーム開発するときはGodotを先に考えるようにしてみよう。

Godot


ふにゃ1を移植することを念頭に、ドット絵が動表示されるのか確認。
メインディスプレイでは、1枚目のように、原寸で表示。
ディスプレイの拡大率は200%に設定されていますが、拡大されずに表示されています。
より正確に言うと、ゲーム本体ではない外枠だけが拡大されています。


これを、拡大率100%のサブディスプレイに移動すると、全体が200%→100%で半分サイズになって、ドットが潰れました。
ゲームはマルチディスプレイ環境でもメインディスプレイだけで遊ぶことがほとんどだとは思いますが、一応注意が必要かもしれませんね。

具体的にどう注意するのか…というと、それはまあ、ゲーム画面の物理ピクセル数を見て個別に判断する…ってことになるかなぁ。

Godot Engine

Godot Engine - Free and open source 2D and 3D game engine
インストールしてみました。
funyak、実質開発凍結みたいな状況ですが、あきらめたわけじゃないので、C#で作ったロジックを乗せられるゲームエンジンを、Unity以外でも考えてたんですよね。
で、とりあえず最新版の4.3をインストールしてみたんですが、C#+HTMLの組み合わせは4系ではまだできないらしかったので、3系最新の3.6も入れました。

Unityはシーン遷移がよくわからないまま積んでしまったので、Godotのほうはシーン周りを早めに調べておこうと思います。
やっぱりシーン遷移があると、タイトル画面を出せて、見た目にも映えますからね。

あと、Steamのゲームでよく見かける、日本語が中華フォントで表示する問題への対応は、早々に調べました。
言語設定をはっきり明示することでフォントの優先順位を正しくできるってことですね。
そう考えると、国際化対応は、言葉そのものだけじゃなく、言語設定やフォントにも気を使う必要があるってことになりますね。