brickrパッケージを利用してあつ森のマイデザインを作った
ネタ記事です。
最近、「あつまれ どうぶつの森」にハマっているのですが、
その中でマイデザインという機能があって、
自分でデザインした絵を飾ったり、服を着たりできます。
(この方、上手すぎですね)
あつまれどうぶつの森のマイデザインで12球団と侍ジャパンのホームユニフォーム作った!
— かとひろや (@iam_charanporan) 2020年3月28日
かなりの労力を費やしたのでたくさんのプロ野球ファンに見て欲しい!#どうぶつの森 #プロ野球#野球場にあつまれどうぶつの森 pic.twitter.com/8zWkIg6QWe
ゲーム中でこれをどうやって作っているかというと
こんな感じに32×32のキャンバスに1マスずつ色を塗って作っていきます。
これが思った通りにいかないのなんのって…。
簡単に描くいい方法ないかなーと思っていたところ、TwitterのTLで
Learn #rstats:
— Ryan Timpe (@ryantimpe) 2020年4月9日
Decorate your house with some pop art LEGO mosaics using {purrr} & {patchwork}
Learn #brickr:
Explore new dimensions with 3D mosaics pic.twitter.com/CgKBqOnqhI
こちらが流れてきて、「これ使えるじゃん!」と思い、実際にやってみました。
brickrパッケージ
もともとは画像や行列からLEGOブロックの構造を算出し、出来上がり画像や作るのに必要なLEGOブロックの部品を教えてくれるパッケージです。
READMEを見ればすぐ使えると思います。
使ってみた
今回は来週16日に第7回が開催されるspoana*1のロゴを使ってみます。
最もきれいに出力する方法は、下記コードのピクセル幅と高さ(img_size
)を元画像と同じものに指定する方法ですが、
マイデザインは32×32と小さいので、極力近づくよう今回は96×64(つまりマイデザイン6枚分)にしました。
# install.packages("brickr", dep=T) library(brickr) img <- png::readPNG("spoana.png") mosaic <- list(c(1,2,3), c(1,3,2), c(2,1,3), c(2,3,1), c(3,1,2), c(3,2,1)) %>% # RGBの組み合わせ purrr::map(~ img %>% image_to_mosaic(img_size = c(32*3,32*2), brightness = 1.1, warhol = .x) %>% build_mosaic()) patchwork::wrap_plots(mosaic) # 色の調節が簡単に出来なそう…。別途行列のスケーリングを調整する必要がある。 # 簡単にできる範囲だと上段2番目の画像がよさそうなのでこれを採用した
ちょっと潰れちゃってますね…。
ちなみに今回は使わないですが、必要なLEGOブロックも簡単に出せます。
img %>% image_to_mosaic(img_size = c(32*3,32*2), brightness = 1.1, warhol = c(1,3,2)) %>% build_pieces()
結果
微調整はしたものの10分ほどですぐ出来ました。
きれい!!…とはなりませんでしたが、読めますね。
ちなみに後ろの球場もマイデザインで作りました!
カミツキガメバッテリーです。
まとめ
- brickrパッケージを使ってあつ森のマイデザインの下地を作りました
- カラフルな画像やサイズの大きい画像は調節が必要ですが、参考にする程度であれば十分でしょう
以上、トリビア記事でした。
ENJOY!