歌姫周回用 LiveSplit (RTA タイマー) と AutoSplit でのタイム計測の自動化

3.5 周年 P カップお疲れさまでした!
るなりく (@LunaAliq) です。 今回の P カップでは、常に下の動画のように LiveSplit でタイムを取りつつ歌姫周回していました。

P カップのときには配信もしていますので、もしよろしければ Twitch のフォローもよろしくおねがいします。

同じことの繰り返しでも、毎周回タイム短縮という目標ができて、モチベーションアップにつながっていたと思います。
同僚 P カッパーからも同様のタイマーが欲しいと言われたので、私流の作り方を公開したいと思います。
この記事では LiveSplit の使用方法と AutoSplit の設定方法を解説していきます。

環境

  • Windows10 (他の OS の場合の調査はしていません)
  • HDMI 出力機能のある iPadPro (シャニマスプレイ用。PC 上でプレイする場合は必要なし)

構成

使っているものの構成を簡単に説明します。

LiveSplit

画像に写っているタイマーです。
RTA (Speedrun) の走者の間で有名なツールなので見たことがある方も多いのではないでしょうか。
タイマーのスタートや Split (区間) 計測はキーボードの特定のキーを叩くことで行います。

AutoSplit

画像認識による LiveSplit の自動計測を目的として開発されたツールです。
予め決めておいた PC 画面上の範囲をキャプチャしており、その中が予め設定していた画像に近い状態になったらキー入力を発行するという仕組みです。
私はシーズンと残り週の位置をキャプチャして使用しています。

OBS など

  • AutoSplit を起動している PC 上のブラウザからシャニマスをプレイする場合

AutoSplit にはハードウェアアクセラレーションをオンにしているウィンドウをキャプチャできないという既知の問題があり、一度他の画面に映してやる必要があります。

  • AutoSplit 起動している PC とは別のデバイス (iPad など) からシャニマスをプレイする場合。

外部のデバイスでシャニマスをプレイする場合、AutoSplit で画像認識を行うために、画面を AutoSplit の入っている PC 上の画面に移す必要があります。
そのため、ブラウザやキャプチャボードをキャプチャし、画面上に表示するソフトフェアが必要になります。

以上の理由から、何かしらの、シャニマスを画面上に映すソフトウェアが必要になります。
私の場合は配信を行う都合もあり、OBS を使用しています。

キャプチャボード

iPad 上のシャニマスを取り込むために使用しています。
PC 上でシャニマスをプレイする場合には必要ありません。
この記事では特に解説はしません。

LiveSplit 設定

本体は livesplit.orgGitHub からダウンロードできます。
適宜インストールしてください。

使い方を紹介する記事は世の中に沢山上がっているので、ここでは私の環境を再現するための作業のみを解説します。

LiveSplit は主に以下の 2 つの設定から管理されています。

  1. Layout: 画面上にどのような情報を表示するか。
  2. Splits: Split (区間) をどのように管理するか。また過去のタイム。
  3. Settings: 本体の設定

これらは LiveSplit を立ち上げて右クリックすると出てくるポップアップ中から適切な選択肢を選ぶと設定が出てきます。
私の使用している Layout と Splits を置いておくので、丸パクリしたり参考にしたりしてください。

また、Setting 中で Hotkeys (ショートカットキー) を設定できます。
それぞれ普段押さないようなキーにいい感じに設定してください。
また、Global Hotkeys のチェックボックスにチェックを入れてください。
Off のままだと LiveSplit にフォーカスが当たっている時以外に Hotkey を受け付けなくなります。

以上で設定完了です。
見た目や "Start / Split" に設定したキーを押した時の動きが私の動画のものと変わりなければ正しく設定できているはずです。
他の機能や項目については、世界のいろいろな記事に書かれているのでそちらを参考にしてください。

AutoSplit 設定

本体は GitHub からダウンロードできます。
適宜インストールしてください。

本体を立ち上げたら Split Image Folder を設定します。
Split Image Folder には画面がどの状態になったタイミングでキー入力を発行するかを判断するための画像を保存することになります。
Browse ボタンなどから適宜設定してください。
このときに使用するディレクトリ (フォルダ) やその親、親の親……のディレクトリに全角文字が含まれていると正しく処理できないことがあるかもしれません。

次に、キャプチャする画面の範囲を選択します。
左側の Select Region を押して、キャプチャする範囲を選んであげましょう。
構成で紹介した OBS に当たる画面をキャプチャしてあげましょう。
私はシャニマスの画面全体でなく、シーズンと週の表示されている部分をキャプチャしています。
シャニマスは毎週大体同じ画面が表示されるので、週の終わり (は無理なので、正確には始まり) ごとに必ず変わる部分のみから週の切り替わりを判断するようにしている訳です。

キャプチャできたら、画像データを集めます。
実際に W.I.N.G. をプレイし、欲しい画像の場所まで来たら "Take Screenshot" のボタンを押しましょう。
私は、持ち込みアイテム決定画面、シーズン1 残り 8 週以外のすべての週の画像、社長にアイドルの報告を終える画面、あとはシナリオ (W.I.N.G.) 選択画面をキャプチャしています。
持ち込み選択画面はタイマースタート認識用、アイドル報告を終える画面は完走時の認識用、シナリオ選択画面はタイマーリセット用です。
このあたりの説明は難しいので、自分で触って何が必要かを確かめてみてください。
一応すべて撮り終えたあとの私のフォルダの画像を置いておきます。

スプリットの例

次に左下の Comparison Method 周りをいじります。
Method は何でも良さそうですが、私は L2 Norm を使用しています。
大事なのは "Similarity threshold" です。
こいつは、画像との類似度が何 % 以上になったときにキー入力を発行するかを表す数値です。
初期設定では低すぎるので、上の "Show live similarity" 機能を見つつ適宜上げてあげましょう。
(表示されていない場合、"Start Auto Splitter" をクリックすると画面の監視を始めてくれます。)
私は 0.94 に設定しています。
Pause time after split は split を切ったあと、次の画像認識を始めるまでに何秒ポーズするかです。
今回の設定ではすぐに切り替わっても大丈夫なので、0 に近い数値に設定しておきましょう。

次に Timer Global Hotkey を設定します。
これは LiveSplit に設定したキーをそのまま丸写ししてやります。
ここで設定したキーが発行される訳です。

最後に Loop Split Images にチェックを入れておきます。
ここにチェックを入れない場合、周回の終わりに毎回 Reset の Hotkey を入力してやらないと次の周回の Split を切ってくれません。

以上で設定完了です。
設定後の画像を上げておきますので、スクリーンショットのフォルダの画像と合わせて確認してみてください。
設定は "File" > "Save Settings (As ...)" から保存できるので、次回以降の起動のために保存しておきましょう。
次回以降は "File" > "Load Settings" からロードできます。

Auto Split

"Start Auto Splitter" をクリックすると画面の監視とスプリット送りを始めてくれます。

その他知識

この構成では W.I.N.G. 準決勝敗北時に split がずれてしまいます。
準決勝敗北チャートで走る場合は LiveSplit, AutoSplit ともに適宜設定を変更してください。
周回時の気分で準決勝の勝つか負けるかを変更する場合、「次は W.I.N.G. 決勝」のスクリーンショットを取らず、また LiveSplit の Semifinal, Final の split をまとめて一つにしてしまうと良いと思います。

また、周回中に Season2 敗北などで LiveSplit, AutoSplit 共に split や "Current Split Image" がずれてしまうことがあります。
その場合は LiveSplit を Reset し、AutoSplit の "Reset" ボタンを押してから次の周回を始めましょう。

まとめ

これで、LiveSplit と AutoSplit を立ち上げていると、特定の週になった瞬間に自動で split を切ってくれる仕組みが完成しました。
一度 W.I.N.G. を回してみて、正常に動作しているか確認してみましょう!

解説漏れや質問などがあれば るなりくのTwitter (DM を開放しています) まで教えていただけると嬉しいです。

それでは皆様、良きシャニマス・P カップライフを!

2020/11/11