しゅみぷろ

プログラミングとか

Splatoon2で自動ドット打ちしてくれるやつ試した

2017.09.23 追記

この記事で紹介しているものより簡単にドット打ち出来る方法をメモっておきました。

初見の方は以下の記事を見て下さい。

esprog.hatenablog.com

はじめに

Splatoon2で「えっ、これ描いたの!?めちゃくちゃキレイじゃない!?」ってなるくらいクオリティ高い絵が投稿されてるのをよく見ますよね。 クオリティ高いのを見る度、自分でも描いてみたいなーとは思うものの、Switchでお絵描きするのはクセがあってなかなかうまくいかず・・・。

PCではお絵描きするけど、イカ2でドット打ちするのはちょっと時間も掛かるし面倒だし・・・と敬遠される方もいるのでは?

自分もPCではちょこっとだけ、本当にちょこっとお絵描きをするので、お絵描きチャレンジしようとしたのですが、ドット打ちが面倒なので自動化してくれる例のヤツを使ってみました。 本エントリではその紹介等していけたらと思います。

ちなみに自動化するとこんな感じで勝手にやってくれます。

与えた画像と実際に出力された画像の例も貼っておきます。

f:id:es_program:20170818231724j:plain:w320 f:id:es_program:20170818231848j:plain:w320

もとの画像が細かいので微妙な感じもありますが、PCでお絵描きするなり画像を加工するなりして、あとは勝手にその絵をドット打ちしてくれるのでめちゃ楽です。

Consoleでの作業とかが怠かったりで万人には扱いにくいので、需要があれば画像選択するだけでTeensy用のバイナリ吐き出すくらいまでやってくれるアプリケーション作ろうかなとか考えてます(需要がないので考えてるだけです)。

また、綺麗にドット打ちさせるためのハックも記載しましたので、以下も参考にしてみて下さい(クリスタ使ってる人向けです)。

esprog.hatenablog.com

使うやつ

  1. Teensy 2.0 ++
  2. USB Type C アダプタ
  3. Python 2.7
  4. WinAVR
  5. GIMP
  6. Switch-Fightstick
  7. Teensy Loader

まずは上記のやつを落とすなり買うなりします(記事を書いてる段階でリアルマネー3000円程度です)。

Switch-Fightstickは元々こちらで公開されていますが、ハッシュ値5e3463f…のコミットあたりからLUFAライブラリの格納ディレクトリに変更があったりと、少々使いづらい事になってしまったので、こちらのリンクのものは、本家をForkして更新を戻し、多少手を入れて利用しやすいようにしてあります。

環境のセットアップ

上記の「使うやつ」項目で書いた

  1. Teensy 2.0 ++
  2. USB Type C アダプタ
  3. Python 2.7
  4. WinAVR
  5. GIMP
  6. Switch-Fightstick
  7. Teensy Loader

のうち、Teensy 2.0 ++USB Type C アダプタは、購入さえできればOKです。

ここからは以降のソフトウェアの導入方法について書いていきます。




Python 2.7

Download Python | Python.org

上記リンクより、Python 2.7のインストーラーをダウンロードして実行します。 インストーラーの手順に従ってインストールしていきます。

f:id:es_program:20170913112716p:plain:w400

インストールの段階でPythonへのパスを通しておくと後で環境変数弄ったりしなくてよくなるので楽です。 具体的には、以下の画面で「Add python.exe to Path」を「will be installed on local hard drive」にしておきます(左のxマークアイコンが消えます)。

f:id:es_program:20170913113501p:plain:w400

インストールが完了したら、念のためcmdからPythonのバージョン情報が見れるか確認しておくと良いと思います。

スタートボタンから「cmd」と検索して、cmd.exeを起動し以下のコマンドを実行します。

> python --version

以下の画像みたいな感じに表示されれば成功です(ユーザー名は意図的に白く塗りつぶして隠してあります)。

f:id:es_program:20170913114813p:plain:w400




WinAVR

WinAVR download | SourceForge.net

上記リンクより、WinAVRのインストーラーをダウンロードして実行します。

f:id:es_program:20170913115431p:plain:w400

こちらもPython同様、インストールの段階でPathを通しておくと楽です(「Add Directories to PATH (Recommended)」にチェックが入っているかを確認する)。

f:id:es_program:20170913115436p:plain:w400

インストールが完了したら、makeコマンドが実行可能かどうかを確認しておくと良いと思います。

Pythonのインストール時同様cmd.exeを起動し、以下のコマンドを実行します。

> make -v

以下の画像みたいな感じに表示されれば成功です(ユーザー名は意図的に白く塗りつぶして隠してあります)。

f:id:es_program:20170913120506p:plain:w400




GIMP

GIMP2.8のダウンロード

上記リンクより、GIMPインストーラーをダウンロードして実行します。

f:id:es_program:20170913121404p:plain:w400

あとはインストーラーに従っていればインストールは完了です。




Switch-Fightstick

Release fixed version. · EsProgram/Switch-Fightstick · GitHub

上記リンクから、zipファイルをダウンロードして解凍します。

f:id:es_program:20170913122536p:plain:w400

今後の説明では、Desktopに解凍したものとして説明を続けている部分があります。有識者の方は適宜ディレクトリを自身の環境に読み替えてください。よくわからない方はDesktopに解凍しておいてください。

解凍したら、以下のようなフォルダが出てくると思います。

f:id:es_program:20170913122613p:plain:w400

追記

Release merge speeding up · EsProgram/Switch-Fightstick · GitHub

本家更新にてドット打ち高速化処理が行われていたため、mergeしたバージョンを作りました。 本家で重複定義等のエラーもいつの間にか修正されていたみたいです。 こちらのバージョンを落としてきて使う場合、ディレクトリ名が変わるので以降の内容は適宜読み替えて下さい。




Teensy Loader

Teensy Loader app for Windows 7 and Vista

上記リンクから「teensy.exe」をダウンロードしたら完了です。

f:id:es_program:20170913124234p:plain:w400




使い方

ほぼこの動画通りのことをやればイケます。ただ、Switch-Fightstickの本家は現在色んなPRをMergeして、makefile内のLUFA参照パスが変更されていたり、makeが通らない(リンクの際にimage_dataが重複定義されている旨のエラーが出る)など、色々あったのでちょっとだけやり方を変えています。

1.絵を用意

320x120ピクセルで画像を用意します。書くなり加工して作るなり好きにして下さい。 因みに画像はJPEGで保存しておくことをオススメします。

f:id:es_program:20170818231724j:plain:w320

2.GIMPで加工・エクスポート

動画の通りに、GIMPで画像をモノクロにしてRaw画像データでエクスポートします。 エクスポート先のフォルダは"環境のセットアップ"の際にDesktopに解凍した「Switch-Fightstick-1.0.0f」フォルダ内にしておきます。

f:id:es_program:20170818231848j:plain:w320

3.Switch-Fightstickでバイナリを書き出す

cmdで以下のコマンドを実行します

> cd Desktop\Switch-Fightstick-1.0.0f
> python bin2c.py <Raw画像データファイル名>
> make

<Raw画像データファイル名>には、先程GIMPでエクスポートしたファイル名を指定します。 例えば、「ironic.data」という名前でエクスポートした場合は以下の画像のようにします。

f:id:es_program:20170913125117p:plain:w400

成功すると「Switch-Fightstick-1.0.0f」フォルダ内に「Joystic.hex」が出力されます。

4.Teensy Loaderでバイナリを書き込み

PCとTeensyを接続し、Teensy LoaderでJoystic.hexを書き込みます

Teensy Loader(teensy.exe)を起動し、「File -> Open HEX File」から、「Switch-Fightstick-1.0.0f」フォルダ内の「Joystic.hex」を選択します。

f:id:es_program:20170913130216p:plain:w400

PCと接続しているTeensyの黒ポチのボタンを押して、プログラム書き込みモードにします。

f:id:es_program:20170913125908p:plain:w400

あとはTeensy Loaderで「Operation -> Program」、「Operation -> Reboot」の順に操作し、書き込みが完了すればこの工程は終了です。

5.Switchに接続して待つ

SwitchでSplatoon2のイラスト投稿画面までいき、ペンのサイズを最小にして、カーソルを一番右上まで移動させておきます。 TeensyとSwitchを接続し、あとは出来上がるのを待ちます。

最後に

面倒なのでめちゃ適当な説明になりましたが、コレが普及したらフェス投稿で盛り上がること間違い無し! この記事書き終わったらお絵描きして、自分の絵を投稿するんだ・・・

PS

自分の記事と本家を参考に、環境構築について詳細に書いてくださった記事を発見しましたので共有させていただきます。

Splatoon2で自動ドット打ちしてくれるやつをWindos10のWSLで使う - Qiita