アクセサリークラフトの効率を上げるツールを作ったので配布と解説を書いておきます。
有志制作のソフトが公開されたので追記しました。
アクセサリークラフトの結果を記録する「hyperCraft」
- DL:Google Drive(1.0.2)
- ビデオキャプチャ:1920x1080 30fps以上
- OS:Win 7以上、.NET 6.0 Runtime
このツールの特徴
今回は珍しく単独で動作するWPF(C#)で作ったアプリケーションです。ビデオキャプチャを持っていることも前提なので要件を満たせる人はあまり多くないと思います。
このツールを使うとクラフトしたアクセサリの「効果」と「ステータス強化」を一瞬で判定してその情報を記録してくれます。
これまで回したガチャの記録が取れることはもちろん、指定した組み合わせの効果が出たときに通知してくれる機能もあります!
クラフトでアクセサリに付いた効果ってアイコンが小さめなので、よーく見ないと分かりにくいんですよね。
お目当ての効果が出るまでは何千何万と回すことになるので、その判別を短縮することができれば効率は大きく変わるはずです。
このツールを使えば画面を見なくても「アンノウンマター」がなくなるまでクラフトを回し続けるだけでよいので最速で回せます。
狙ったアクセサリをスナイプするようなことは出来ませんが、作業効率は格段に上がるはずです。記録した結果(ログ)は今のところ付きやすい効果を確認する程度ですが、データが溜まれば何か「法則」などが見つかるかもしれませんね。
hyperCraftの使い方
起動させるには「.NET 6.0 Runtime」が必要です。既にインストールしている方はスキップして、まだの人はダウンロード&インストールを済ませてください。
初回設定
ビデオキャプチャーのデバイス選択
[Option]の[Video Device]から各自の環境に合わせてキャプチャボードを選択してください。デバイスを反映させるにはソフトの再起動が必要です。
OBSなど他のソフトでビデオキャプチャを使用していると、映像が取得できないので終了させてください。
テンプレート読み込み
テンプレートはアクセサリに付く効果の情報と、画面解析用のデータが入った2つのファイルのJSONファイルです。
解凍した中に入っていますがパスが通っていないので[Option]の[Select path]からそれぞれのパスを通してください。パスが違うと上手く動作しないので再確認。
ログの出力設定
[Option]の[Select folder]からCSV形式のログファイルを出力するパスを通してください。
通したパスにファイルがない場合は最初に作成されます。
フィルタの設定
クラフトした結果に対して「効果」と「ステータス強化x4枠」の組み合わせで監視してくれる機能です。
空白にしているとその項目は無視するので、「Attackx4」や「Criticalx4」を設定しておきましょう。同じステータスx4は滅多に出ないので1時間、2時間掛かるのは普通です。
お目当ての物が出たら結果に★マークを付けて音もなるようになっています。
ツールのロジック
ソースは公開していませんが綺麗に直して公開するか、作成に必要な部分のコードだけ載せる予定です。
ゼノブレイドDEの「アーツガチャ1万回」ではOCR(文字解析)の技術を使ってやりましたが、今回は画面内にある同じ画像を探す「テンプレートマッチ」を使いました。
OCRだと精度に問題があるのと、そもそもステータス強化のアイコンに文字が含まれていないことが分かっていたのでOCRは使っていません。
今回は他にやり方が無かったのでテンプレートマッチにしていますが、思っていたよりも精度が結構高くて満足しています。
テンプレートマッチ激しい画面に対して弱いのと、
比較基準になる元の画像を用意する必要があるというデメリットがあります。
こんな感じにアクセサリに付く「効果」の説明が書かれた画像を全て用意する必要があります。効果は全部で98種類もあるので2時間ほどかけて集めましたが、8つほど出なかったので集まりきらず。
ツイッターでお願いしたところ、刃_CubeさんとAcrosさんがササッと持ってきてくれたので大変助かりました。おかげでゆっくり寝られたも!(多力本願◎)
本当は英語もサポートすることを考えて開発していましたが、比較用の画像を収集するのが大変なのでどうしようかと考えています。
ソースを公開するか、画像を集めてきてもらうか、ゼノブレイド3を日本語で遊んでもらうか・・・。
ということで以上です。起動確認とエラーの報告などあればコメントに書いておいてください。ログを見て偏りがあったり、何か「法則」が見つかるといいですね~。
これがスマホのカメラから行えるようなアプリで、私が作れたら広くサポート出来たんですけどね。スマホ用のアプリ開発は経験がないので諦めるも。
入力生成機能付きのXC3AutoCraft
追記 2024-01-18
私ではない別の方が作られた自動化ツールが公開されたので紹介します。
XC3AutoCraft
キャプチャボードの映像からお目当てのクラフトが出るまで入力も自動で行ってくれるツールです。
マイコンを使うので少し難しそうに見えますが、簡単に使い方を解説しておきます。
必要なもの
- キャプチャボード
- マイコン(Atmega32u4)
- シリアル変換アダプターモジュール
- ジャンパーワイヤー
必要なものが揃ったら「Arduino IDE」でマイコンに「XC3KeyCommander」を書き込みます。書き方はArduino IDEについて調べればたくさん出てきます。
バイナリを書き込んだらマイコンとシリアル変換アダプターの配線をしましょう。
ブレッドボードや半田ごてを使って工作した方が長期的には便利ですが、ジャンパーワイヤーで繋ぐだけでもいけます。ジャンパーワイヤーはボードの穴に通すタイプと、ピンに被せるタイプがありますがお好きな方を選びましょう。
繋ぎ方はRXとTXが対になるように繋ぎます。プラモデルを組み立てるよりも簡単です。
- マイコンのRXとシリアル変換のTX
- マイコンのTXとシリアル変換のRX
- マイコンのGNDとシリアル変換のGND
あとはマイコンとスイッチのドック、シリアル変換とPCをそれぞれUSBで繋いで準備完了です。
「XC3StateDetector.exe」を起動して上手く動作することを確認しましょう。
マイコンとシリアル変換は他の方が公開しているツールでも使用できたりするので、興味がある人は挑戦してみるとよいでしょう。
私の環境ではVideo Deviceの値を2にすると正常に動作していたのですが、試しに値を3にしてソフトを再起動したところ起動後すぐにクラッシュしてしまい、optionを開けなくなってしまいました。再ダウンロードしても以前の設定が保存されているようでクラッシュしてしまうのですが、何か解決策等ご存知でしょうか?