水たまりは希望を写している

ウマ娘の常時 60fps+ 化 / 自動フルスクリーン / 4K【umamusume-localify】

ウマ娘はフレームレートが可変で、基本 30fps で画面遷移やダイアログが出る瞬間だけ 60fps になる。こうすることで 60fps のサクサクさを感じながらも、30fps でバッテリー消費を減らすことができる。

けど、これが嬉しいのはスマホやタブレットで遊ぶときだけであって、PC 版のウマ娘をプレイするときはありがた迷惑だ。そこで、PC 版のウマ娘を常時 60fps+ 化してみよう。ちなみに 120fps も 144fps もイケる (性能の許す限り)。

※ ここでは PC 版のみ解説。Android は Magisk モジュールを使って常時 60 fps+ 化できる

メリット

  • 画面が滑らかになる
  • カクカクしないので全体的に動作が速くなったように感じる
  • 短縮版をプレイ中、選択肢の自動選択が高速になる (育成の高速化)
  • (高解像度なディスプレイを持っているのなら) より高画質でウマ娘ちゃんたちを拝める
  • (16:9 または 9:16 のディスプレイを持っているのなら) ライブやレースをフルスクリーンで観れる

注意点

  • 「DLL インジェクション」という仕組みを使うので、ゲームの改造に近い
  • 可能性は無いと思うけど、BAN されても知らないよ!

umamusume-localify の紹介とその仕組み

使用するツールは umamusume-localify という。localify とついている通り、元々このツールはウマ娘を他の言語に翻訳するものであった。今は翻訳機能以外に、フレームレートの上限撤廃自動フルスクリーン機能が実装されている。

このツールは、DLL インジェクションという仕組みを使っている。Windows は DLL ファイルを読み込むとき、実行ファイルと同じディレクトリを調べてからシステムフォルダを検索する。つまり、実行ファイルと同じディレクトリに任意の DLL を置くことで、本来の動作を乗っ取って、任意のコードを実行することができる。

ウマ娘のフレームレートを変更するメソッドをフックすることで、任意のフレームレートに書き換えることができるようになる。これにより常時 60fps+ が実現する。自動的にやってくれるのがこの umamusume-localify だ。

umamusume-localify の導入

導入は簡単。まずは GitHub Releases からダウンロードする。Release.7z が該当のファイル。

圧縮ファイルを展開すると version.dllversion.pdb が入手できるので、version.dllumamusume.exe があるフォルダにコピーする。

umamusume.exe があるフォルダがどこにあるか分からない場合は、DMM GAME PLAYER の「My ゲーム」に移動して「ウマ娘 プリティーダービー」をマウスホバーし左上の i マークをクリック。ダイアログが開かれるので、「ダウンロード先フォルダを表示」をクリックするとエクスプローラーでフォルダが開かれる。

次に、設定ファイルを作る。umamusume.exe があるフォルダに「config.json」というファイルを作る。設定ファイルの中身を、以下の通りに記述する。設定項目の解説は次の節で。

{
    "enableConsole": false,
    "enableLogger": false,
    "dumpStaticEntries": false,
    "maxFps": 60,
    "unlockSize": false,
    "uiScale": 1.0,
    "replaceFont": false,
    "autoFullscreen": false,
    "dicts": []
}

最終的にこんな感じになればオーケー。いつもと同じように DMM GAME PLAYER からウマ娘を起動する。すると常時 60fps なウマ娘が始まる。

各設定項目の解説

enableConsoleデバッグ用のウィンドウを表示するかどうか (true/false)
enableLogger(翻訳用) ログを dump.txt に出力するかどうか (true/false)
dumpStaticEntries(翻訳用) ハードコーディングされた文字列をログに出力するかどうか (true/false)
maxFpsフレームレート-1 だと通常のウマ娘と同じ。0 だと無制限。1 以上を指定すると任意のフレームレートになる。
unlockSizeウマ娘を 1080×1920 以上の解像度で動かせるようにするかどうか (true/false)
uiScaleユーザーインターフェイスの拡大率。1.0 が等倍。
replaceFont(翻訳用) フォントを置き換えるかどうか (true/false)
autoFullscreen自動的にフルスクリーンにするかどうか (true/false)。ディスプレイとウマ娘の画面比が同じでないと機能しない。
dicts(翻訳用) 翻訳ファイルへのパス。

つまり、maxFps240 にすれば、240fps で動かすことができる (スペックに依るが)。ゲーミングモニター大勝利!

僕は上記のように設定している。144Hz なモニターがあるので maxFps144 に。ライブ中、自動的にフルスクリーンになって欲しいので autoFullscreentrue にしている。

副作用

物理演算がおかしくなる

髪の毛・尻尾・胸などを揺らす物理演算がおかしくなる。30 fps で動くことを前提としているので、仮に 60 fps に設定すると、重力が 2 倍になったかのような重い動きになる。演出上の問題であって、ゲームの進行に支障はない。

こんな感じ。フレームレートが高ければ高いほど服や尻尾が下に垂れ下がっていることが分かる。むしろ標準の 30 fps が “揺れすぎ” なので 60 fps でちょうど良いまである。

実際の動画

YouTube に 144fps を投稿しても意味が無いので、AE でフレームブレンディングしてから投稿している。
こちらは単純に 144fps な動画ファイルを 60fps でエンコードしている。

アンインストール

もしこのツールをアインインストールしたかったら、umamusume.exe のあるフォルダにコピーした version.dll を削除する。一時的に 60fps+ 化をやめたかったら _version.dll など適当なファイル名に変えると後から戻しやすい。

ひとこと

144 fps のウマ娘、ヌルヌル娘
↑ おもんな