見出し画像

0. M2 MacでSplatoon3のドット打ち投稿

要約

M2MacでもSplatoon3のドット打ち用のhexファイルをビルドできました。でも遅いので高速化したいんですがそれは次回から頑張ります。

目的

Splatoon3のイラスト投稿機能をArduino UNO R3 + M2 Mac Ventura 17.01環境にてドット打ち自動化機能を実施する。
M2Macになり既存手法にて行き詰ったポイントについて簡単に解説する。

参考文献

下記の文献にほとんどの項目が網羅されているので、基本的なフローとしては下記参照。

Splatoon2 イラスト投稿の自動ドット打ちをAruduino UNO R3 + macOS High Sierra環境でおこなう手順

導入するまでに変更となるポイント

先行記事ではhomebrewからcrosspack-avrを導入していたが、crosspack-avr自体がx64 CPUに対応していなかった。

M1 Mac Support #220

現在はhomebrew-avrの全バージョンに対してパッチが加えられたため、回避できるようになっている。homebrewにtapを追加して、自前でビルドする。先行記事の "ソフトウェア環境" 項目セクションを下記のように読み替えていただければ通ると思います。

brew install python3 # 入っていない場合のみ
pip install pillow
xcode-select --install # 入っていない場合のみ
# brew cask install crosspack-avr
brew install dfu-programmer
brew tap osx-cross/avr
brew install avr-gcc
export PATH=$PATH:/usr/local/CrossPack-AVR/bin/ # crosspack-avr にパスを通す

イカ、先行記事の手順の通りに進めば問題ないです。

課題

インターフェース変更に伴うバグ

現在ツール自体がSplatoon2環境に最適化されているため、ペン幅選択の部分で誤動作を発生させている気がする。(要検証、スクリーンショット)
なんせブランチ作成されてから5年間アップデートされている様子も無いので、ここは一度手を加えたほうが良いかもしらん。

高速化できんのか

現在320 * 120 = 38400 pxのドット打ちをするために30~40分くらいかかっている。1分あたりに100pxくらいしか打てていない計算になる。
指定した位置にドットを打つ/打たないは実行時間に影響しないと思う。一度全部真っ白、全部真っ黒の画像打ち出ししてタイム計測すれば実行時間の差異は出せる。(己にタスクを課していくスタイル)
描画による差異は無いのであれば、38400pxを移動しきるだけで30~40分かかってしまうということになる。もう少し減らしたい。
中太のペンは5*5、四隅1pxが欠けておりとなっており、太ペンは9*9、四隅5pxが鉤型に欠けているジッターとなっている。安直に考えると、真っ黒に塗るのであれば中太なら5倍速 + 4px、太字なら9倍速で描画できる。真っ黒にするのであれば4分で完了するはず。

今後の更新

ということで次回から上記splatoon-2-printerを改造して、バグ修正や描画高速化の手法を考えていきたいと思います。

いいなと思ったら応援しよう!