3DSエミュ Citraの画面サイズ変更と高解像度化・背景色の変更方法

Citra 公式サイト トップ画像

まだ一部例外はあるものの、かなり軽快に動作するようになってきたCitraですが、さすがにここまでくると既に実用レベルに達していると言っていいような気もします。

そこで…と言うには少々ムリヤリな感じは否めませんが、当エントリーではCitraの画面に関する設定について少し書いてみたいと思います。

尚、当エントリーは以前に私が公開していたサイトから、以下の記事を統合して大幅に加筆・修正した内容のリライト記事になります

  • 【3DSエミュ】Citra Bleeding Edgeにカスタムレイアウト機能が追加されたようです
  • 【3DSエミュ】Citra Bleeding Edgeに高解像度化の倍率オプションが追加されていた件
  • 【3DSエミュ】Citraの追加機能とフォーラムで見かけた小ネタ

Citraの画面に関する設定

メニューからEmulation > Configure…と開いて、Graphicsのタブをクリックします。

Citra 画面に関する設定 メニューバー Emulation > Configure

Citra 画面に関する設定 Graphicsタブ

当エントリーで紹介する機能はカスタムレイアウトを除いて全てこの画面から設定します。

カスタムレイアウト機能

実はこれ結構前のバージョンからある機能なんですが、Screen LayoutのプルダウンメニューにCustomという項目があって(今はSide by Sideになってます)そこで上下画面の開始・終了位置をそれぞれ設定する事が出来たんですね。

で、何故かこの機能はすぐに設定画面から削除されちゃったわけですが、機能自体は今でも残っていてqt-config.iniを直接編集する事で利用可能だったりします。

カスタムレイアウトの有効化と無効化

カスタムレイアウトを有効にするにはqt-config.iniを開いて、[Layout]にあるcustom_layoutをfalseからtrueに変更、その下の各数値を好きなように設定すればOKです。

ただし、一旦カスタムレイアウトを有効にするとLayout内の項目が全て反転してしまうので、設定画面から他のレイアウトに変更出来なくなります。

Citra 画面レイアウト カスタムを有効にすると設定画面が反転して変更出来なくなる件

そこで元に戻したい場合はもう一度qt-config.iniを開いて、custom_layoutをtrueからfalseに変更します。それ以外の数値は特に影響しないので変更したままで構いません。

カスタムレイアウトのサンプル

それでは実際にやってみたいと思います。まずは簡単なサンプルとして、デフォルトの縦並びの時に上下画面の横幅を合わせてみましょう。

アスペクト比は一切考慮せず単純に横に引っ張るだけです。ちなみにカスタムレイアウトに関係の無い項目は削ってあるのでその点は注意して下さいね?

[Layout]
custom_layout=true
custom_top_left=0
custom_top_top=0
custom_top_right=400
custom_top_bottom=240
custom_bottom_left=0
custom_bottom_top=240
custom_bottom_right=400
custom_bottom_bottom=480

左側がデフォルト、右側がカスタムレイアウトで調整した画像です。

上画面のアスペクト比が5:3に対して下画面は4:3なので、それをキープしようとすると下画面の方が大きくなってしまいますが、このサンプルのように多少横に引き伸ばした形になっても構わないのであれば、高さはそのままで横幅だけ調整するといった事も可能です。

カスタムレイアウトのデメリット

実際のウィンドウサイズを設定した数値に合わせてくれるわけではないので、Citraを起動後に自分でウィンドウの端を掴んで手動で調整しなければなりません。また、良くも悪くもサイズが固定されてしまうので他のレイアウトのようにウィンドウをリサイズしても連動して自動的に調整されなくなります。

なので、いつも使うウィンドウサイズが決まっている方はいいですが、起動するソフトによってその都度サイズを変えたいような方には不向きと言えるかもしれません。

画面を横並びにした時の比較

現在のバージョンにはSide by Sideというレイアウトがあるので、上下の画面を同じ高さで横並びにする場合はそれが最適ですが、上画面は出来るだけ大きく、下画面は情報さえ読み取れればそれほど大きくなくてもいいという場合もあるかと思います。

カスタムレイアウトはデメリットもあるのでうまく使い分ける必要がありますが、デフォルトの設定には無いサイズを作る事が可能です。例えば私はいまだに横の解像度が1280pxのモニターを使っているので、これをギリギリまで使ってそこそこ実用的なウィンドウサイズを設定してみる事にします。

Custom

そんなわけで上画面を800×480、下画面を480×360としてみましょう。これでぴったり1280pxです。そうするとqt-config.iniの編集は以下のようになります。

[Layout]
custom_layout=true
custom_top_left=0
custom_top_top=0
custom_top_right=800
custom_top_bottom=480
custom_bottom_left=800
custom_bottom_top=120
custom_bottom_right=1280
custom_bottom_bottom=480

Citra 画面レイアウト カスタム例

なかなかいい感じではないかと思いますがどうでしょう?(自己満足)続いてSide by SideにLarge Screenと比較してみます。

Side by Side

Citra 画面レイアウト Side by Side

Citraのウィンドウサイズはデフォルトの400×480より小さくする事が出来ないので、私のモニターでは横幅を限界まで広げても上下に余白が出来てしまうのが非常に残念。

Large Screen

Citra 画面レイアウト Large Screen

確かに上画面は大きいですけど…下画面小さすぎィー!ですよね?

Large Screen(Taken2009氏のCitra9)

Citra 画面レイアウト Large Screen(Taken2009氏のCitra9)

下画面は通常のビルドより確かに見易くなりましたが、ソフトによってはまだこれでも小さいんじゃないかな?という気がしなくもないような。あと、どれだけ頑張っても右端の余白(ほんの数pxですが)が消せなかったのが微妙に気になります。

カスタムレイアウトならサイズも配置も自由自在

実用性は皆無ですがこんなレイアウトにも出来ます。

たぶんやらないとは思いますけど…むしろ欲を言えば画面がセパレート出来たらいいんですけどね?でも大変ですよね?

上下画面の入れ替えも可能

カスタムレイアウト以外はSwap Screensにチェックを入れる事で上下画面の入れ替えが可能です。

Citra 画面レイアウト 上下画面の入れ替え

これもあまり使う事は無さそうな気もしますが一応。

内部解像度の設定

Renderer内にあるInternal Resolutionのプルダウンメニューから3DS本体の解像度を基準にその何倍という指定で内部解像度が設定出来ます。

Citra 内部解像度の設定

ソフトにもよりますが、私の環境だと3xが限界で4xからカクカクになるので残念ながらそれ以上は試した事がありません。ハイスペックなゲーミングPCなんかだと10xでもヌルヌル動いちゃったりするんでしょうか?だとしたら猛烈に羨ましい限りです。

とりあえず私は無難にAuto(Window Size)で普段は使用しています。

背景色の変更

背景色と言うか要は余白部分の色ですね。これは公式ビルドだと設定ファイルを直接編集するしかありませんが、非公式ビルドではLayoutのBackground colorからカラーピッカーを起動して簡単に設定可能です。

qt-config.iniを編集する場合は、[Renderer]のbg_red・bg_green・bg_blueにそれぞれ0~1の範囲で数値を設定するとその組み合わせで色が決まります。

[Renderer]
bg_red=0
bg_green=0
bg_blue=0

全て1で白、全て0で黒、どれか1つだけ1でそれ以外を0にすると、1を設定した色になります。この機能を口頭で説明するのはなかなか難しいですが、何れにしても手入力で中間色を作ろうと思うとかなりムリがあるので、そこまで拘りたい方は非公式ビルドを使ってみるといいでしょう。

あまりゴリ押しするのもアレですが非公式ビルドについてはこちらのエントリーをどぞ。

他の項目に関してはまたおいおいと

画面に関する設定は他にもいくつかありますが、当エントリーではここまでにしておきたいと思います。Citraに限った話では無いですが、ぶっちゃけどこをどうイジったらどう変わるかというのは、まだイマイチよくわかってないんですよね…グラフィックに関する設定は特に。

それにしてもしつこいようですが本当に速くなりましたね、Citra。正直なところPCを新調しないと今のPCでは絶望的だと思ってただけに、ここまでになるとは嬉しい誤算でした。あとはフィルターやシェーダーの実装が楽しみといったところでしょうか。いや、それより一刻も早くステートセーブをお願いします…かなり切実に。