Autosplit Helperの導入から実践利用までの設定方法
Autosplit Helperってなんですか?
RTAで手動でタイマーを切っていると、プレイに集中して切り忘れてしまったり、手動で操作している故に細かいタイムがブレる…。
というわけで、自動で切ってくれると楽で良いですよね。
そんなあなたにお勧めなアプリです。
具体的には、プレイ中のゲーム表示ウィンドウを監視し、特定の画像が表示されたり、特定の音が鳴った時に、LiveSplitを操作してくれます。
※この記事では画像認識の方法の説明をします。
どこにありますか?
https://frailleaves.com/myownsoftware/autosplit-helper/
こちらのレモングラス様(@lemonglass)のサイトから、
「ダウンロード」→「ココ(Autosplit Helper ドキュメント内)」
で、別ウィンドウが開き、
「ダウンロード」の「Download via Dropbox」
のリンクからダウンロード出来ます。
(2022/1/8時点)
この別ウィンドウで開いたサイトで使用方法が説明されているのですが、私が導入した際、少々手こずったので、新規作成から設定完了までの一連の流れの説明があったらいいなあと思い、この記事を作成しました。導入の一助になれば幸いです。
①起動
ダウンロードしてきたzipを解凍して、「AutosplitHelper.exe」をダブルクリックして開きましょう。
Windowsくんが不明なアプリだからあぶないよ!と言ってきますが、君が知らないだけだから安心して、と言いながら開きます。
※不安な方は開かないで辞めた方が良いです。(私は責任が持てません。)
こんなウィンドウが開きます。
②プロファイルを作る
まずはプロファイルという、ゲーム毎の設定セットを作りましょう。
ここはわかりやすい名前を入れましょう。ゲームの名前で良いと思います。
今回は例として、Don't Spill Your Coffee!というゲームで作成しようと思うので、「coffee」というプロファイルを作成しました。
指定した名前でセレクトボックスに出来ていればOKです。
新規作成すると、ここにどんどん追加されます。
③監視するウィンドウを設定する
監視するゲームをいつもプレイする状態で起動します。
(ウィンドウサイズ等が関係するので、いつもプレイする状態が良いです。)
ゲームを起動したら、Autosplit Helperの「Screen Capture」の「Select」ボタンを押します。
押すと、ウィンドウを選択するモードになるので、先ほど起動したゲームのウィンドウを選択しましょう。
うまく出来ると、下記のようにそれっぽい名前に変わるはずです。
※開発者様から教えていただいたのですが、
メイン画面から設定するより、
後述する「Screen Capture」から設定するのが正規なようです。
このまま読み進めてくださいませ。
④タイマーを切るタイミングと画像を設定したかったけど画面が変
「Tool」→「プレビュー/テンプレート画像の作成」を選択します。
するとこんな画面がでます。
ゲーム画面全体が表示されると思ったら左上しか表示されていませんね…。
これは取り込み座標の設定が思っているのと合っていないからです。
初設定時にありがちだと思うので、ちょうどいいので直し方を記載しましょう。
Autosplit Helperの「メイン設定画面を開く」で、メイン設定画面を開きます。
左側メニューの「Screen Capture」を選択してください。
ここが監視先の設定画面です。
キャプチャ設定が「coffee」にしたはずなんですが、なっていないので、リストからウィンドウ名「Don't Spill Your Coffee」を選択します。
次は取り込みサイズがおかしいのを直します。
「クロップ」の「設定」ボタンをおしてください。
こんな画面が出ます。さっきの画面に似てますね。
私は、Don't Spill Your Coffee!を「1920x1080」で起動していますが、
画像の赤枠の通り、「800x650」の部分を監視しているからです。
ですので、ここを「1920x1080」にしてあげます。
こうなりました。良さそうですね。
「ok (close)」を押して閉じます。
※上記のウィンドウを指定したのち、
「クロップ設定を初期化する」ボタンを押すと、
数値を指定せずともいい感じにクロップしてくれるようになるようです。
※開発者様より
1.キャプチャ設定のウィンドウ指定
2.「クロップ設定を初期化する」ボタン押下
3.「クロップ」の「設定」ボタンを押下後、取り込み画面の微調整
が想定されている設定方法だと教えていただきました。
ご参考になさってください。
⑤タイマーを切るタイミングと画像を設定
気を取り直してラップ用画像を取っていきましょう。
メインメニューの「Tool」→「プレビュー/テンプレート画像の作成」を選択します。
全体が見えるようになりました。やったぜ。
まずはタイマーをリセットしたい画像をキャプチャします。
だいたいタイトル画面だと思うのでこのまま撮りましょう。
リセットの画像はいらないよ!という人もいらっしゃると思いますが、リセット画像は必須なので、なんか適当に撮っておいてください。
(認識させない方法を後述します。)
右上の「Capture」ボタンを押して、左側の監視画像からリセットしたい時の表示領域を選びます。
こんな感じ。
何故左側だけにしたかというと、右側のキャラクターはカスタマイズが可能なので可変な部分です。すると画像の認識率が下がってしまい、反応してくれなくなる可能性があるからです。
こんな風に、出来るだけ可変部分がない箇所を指定することが重要です。
(違う人の参考画像)
さて、リセットの画像を設定したら、下部のリストの選択が1つずれたと思います。それでよいです。
ではゲームスタートの画像を撮りましょう。
ゲームをスタートします。
ゲーム開始時のLevel表示を認識画像に使いたかったのですが、もたもたしている間に消えてしまいました。
しかし問題ありません。「Replay」ボタンをおしてください。
すると、その下のシークバーで数秒分戻ることが出来ます。
シークバーを操作して、撮影したい部分に戻り、「Capture」ボタンで撮ればOKです。
「Capture」した画像はこんな感じになりました。
(アフロが映りこんでいましたが、キャラクリエイトによって可変な部分なので避けました)
そして、取り込みをする画面はこうなりました。
先ほど撮影した「1」が追加され、その下の行へ移動しましたね。
このまま区切りを付けたい箇所をどんどん撮影して設定します。
先ほど「Replay」ボタンを押して画面が止まっているので、もう一度「Replay」ボタンを押して、現在の画面取り込みにもどし、次の区切り箇所の撮影に向かいます。
簡単にまとめると、下記の流れでどんどん区切り箇所の撮影を行います。
①ゲーム起動
②区切り箇所を通過
③Replayボタンで区切りたい箇所を表示
④Capture
⑤Replayボタンを押して戻す
⑥次の区切り箇所へ
⑦②〜⑥を繰り返し、クリアの撮影をしたら設定完了!
⑥LiveSplitとの連携
区切り箇所の設定が終わったら、LiveSplitとの連携設定です。
「メイン設定画面を開く」をクリックします。
Hotkeyのメニューを開きます。
ここで、「LiveSplitと連携する」にチェックがついていればOKです。
デフォルトでついているので大丈夫だと思います。
連携がうまくいかない場合は、Hotkey設定でLiveSplitと同じホットキーを設定すれば動作すると思います。
⑦監視の開始
「Tool」→「監視スタート」をクリックします。
すると、こんな画面が出ます。
ゲームとLiveSplitを起動し、この画面を表示した状態でゲームをスタートするとLiveSplitがタイム計測を開始してくれるはずです。
表示されている赤枠はリセットの監視、青は次のスプリットの開始監視です。
スプリット画像を検知すると、次のスプリット画像検知が始まるので、この画面を開いたら、ゲーム終了までこのままで勝手にタイムを切ってくれます。
ただしく切れたら設定完了です!おめでとうございます!
あ、終了する前に設定を保存してくださいね。
フロッピーディスクアイコンをクリックしてください。
フロッピーディスクってなんですかね?(すっとぼけ)
正しく終了したり、プロファイルを変える際には保存確認ダイアログが出るので、保存し忘れてしまう事もあまりないかと思います。安心ですね。
各種QA
認識させない方法
リセット画面を設定する箇所で説明した、認識画像を設定したものの、リセットしたくない・スプリットは切りたくない場合、下記のようにしてください。
メイン画面上部のリストの、認識させたくないスプリット行の「閾値」を101以上にしてください。(サンプルはヤケクソで999になっています。)
この「閾値」は「画像認識で一致率がこの%を超えたらスプリットを切ってください」という設定なので、101以上を設定しておけば絶対にスプリットが切られることがありません。
リセットを監視しない方法
上記の方法でも可能ですが、リセットはもっと簡単に設定出来る箇所がありました。(ご指摘ありがとうございます。)
「メイン設定画面を開く」ボタンを押してください。
「General」→「自動化の対象」内の「Reset」チェックボックスのチェックを外してください。
チェック有でリセットも監視対象となります。
(ちなみにデフォルトでチェック無しになっていました。)
メイン画面上で確認が出来ます。
チェック無はグレー、チェック有は赤で表示されます。
画像は正しいのに認識してくれない
こちらは逆にスプリットを切って欲しいけど、切ってくれない場合です。
一度監視を開始して、スプリットがうまく切れない箇所を通過してみてください。
一番上の太目の赤枠の箇所をみてください。
上の%が現在の一致率、下の%が監視中の最大一致率、その右隣が設定している閾値です。
スプリットが切れない場合、「監視中の最大一致率<閾値」になっていると思います。
ですので、該当の閾値を「監視中の最大一致率≧閾値」となるよう修正してください。
クリア後も監視してほしい(リセットしたい)
クリア後にそのままリセットを監視して欲しいけど、監視が終わってしまう場合の回避策です。
このように、クリア行の次に閾値が101以上ダミー行を作ってください。
どうせ認識しないので、画像はなんでもいいです。
それにより、クリア後に監視が続き、クリア後のリセットにも反応してくれるようになります。
区間が短すぎて反応しない
スプリット区間がとても短く(おそらく10秒以内)、うまくスプリットが切れない場合の対処法です。
こちらの待機時間を短くしてみてください。
この待機時間というのは、「スプリットを切ったあと、次のスプリット監視を開始するまでの待機時間」です。
デフォルトで10秒になっていますので、10秒を切る区間がある場合などに、ここの数値を短くしてみてください。
再起動して監視を開始したら表示画面がゲーム画面じゃない
ゲーム画面を起動する前にAutosplit Helperを起動するとたまにあります。
上記の③を実施してみてください。
クリア時が暗転画面なんだけど、クリア前にも暗転画面になる箇所がある。
例えば、X面クリア(スプリットが切れる)→ステージ紹介→①暗転画面→ラスボス戦→②暗転画面
という流れの時に、①の暗転画面で②の暗転画面と勘違いされる場合は、待機時間を、ラスボス戦が始まるまで長くしてください。
待機している間の①は監視対象外になります。
スプリットを切りたいタイミングで特定の画像が表示されるが、位置が固定されていない
GS美神のサンプル画像なのですが、例えばこの画面上部にいるボスを倒した瞬間にタイムを切りたいが、画面上で、この位置で倒せるとは限らない場合です。
(別のクリア回。こんな感じで位置が一定でない。)
この場合は、まず該当のスプリットの認識画像を画面全体で撮影します。
(何故全体かと言うと、監視範囲も同時に設定しているためです。)
その後、ボスを倒したときの画像をボス以外透過で作成してください。
こんなの。
で、その画像をAutosplit Helperのフォルダ内、
「~Autosplit_Helper_V1.81\AutosplitHelper\x64\profile\(プロファイル名)\picture」
配下の、先ほど画面全体を撮影したスプリット画像と入れ替えてください。
そして、メイン画面のリストの該当スプリットの「M」列を0から1に変えて、「閾値」をマイナスにします。
(マスク画像との比較は最大値が0になるため)
いくつが良いかは、監視中の最大一致率を見ながら調整してください。
ちょっとわかりづらいかも知れませんね。
公式の説明リンクを置いておきます。
https://autosplithelper-firebase.web.app/docs/10tips/009maskimage/
さいごに
思いつく限り記載しましたが、上記以外にもどうしたらいいのかなあということがたくさんあると思います。
もしよろしければ、私にご連絡ください。(@samege_rta)
わかることであればお答えし、こちらに追記しようと思います。
もしわからなかったら、一緒に悩みます。
誤記なんかもあれば是非教えてください。
この記事でAutosplit Helperを有効活用できる方が増え、RTA活動が快適になりますと幸いです。
ここまでお読みいただき、ありがとうございました。ムフー