3年前に投稿したマインクラフトに関する記事がいまだに人気なので、
せっかくならマインクラフトに関することを色々投稿していこうと思います!
今回は、写真やイラストなどの画像をマインクラフトの世界にブロックのドット絵として、
自動で配置していくことに挑戦しました。
マイクラの記事が人気なのでブログのネタにつくった。
画像をマインクラフトの世界に描画するやつ。 pic.twitter.com/UDy3k2eLaV— じん@とかい育ち (@jintokai) September 13, 2020
完成のイメージ動画です。
サーバーログが地獄みたいになってますが、一応動いています。
はじめに
まず、今回やろうとしていることはマルチプレイモードで自身がホストでサーバーコンソールを触れる状態を想定しています。
当初画像の解析→マイクラのブロックに割当というプロセスも自分で実装しようと思っていたのですが、
検索したら既にやっている方がいましたw
しかもjavascriptのみで動作しブラウザ上で解析してくれる素晴らしいものでした。
これ以上に良いものを作れる気がしないので、
今回はこちらのサービスを使い実際にサーバーにアウトプットする部分だけ作りました。
使い方
Chromeをお使いの方に向けての解説になります。
他のブラウザでも多分同じ方法でいけると思いますが、
うまく動かない場合はChromeを試してください。
①まず適当なサイトをブックマーク登録する
アドレスバーの右側の☆を押し、ブックマーク登録して下さい。
後から中身を入れ替えるので、どこのサイトでもOKです。
②内容を書き換える
先ほど登録したブックマークを右クリックし、編集を押します。
名前 → 何でもいいです。画像では「コマンド変換」にしてます。
URL → 以下のコードをコピーして貼り付けてください。
javascript:(function()%7Bvar time = new Date().getTime();var s = document.createElement(%22script%22);s.src=%22https://stg.tokaisodachi.com/bookmarklet/pic2minecraft.js?v=%22 + time;s.charset=%22UTF-8%22;document.body.appendChild(s);%7D)();
終わったら保存しておいてください。
③ブックマークレットを実行する
下記リンクからPic2Blockさんを開きます。
先ほど作ったブックマークをクリックします。
上手く動いていればこのように項目が増えて変換ボタンが赤くなります。
④画像をセットして変換する
通常通り、画像/大きさ/ブロックタイプを選び、起点となる座標を入力します。
最初は念のため大きさは小さめにしておいた方がいいかもしれません。
起点となる座標というのは、
イラストの一番下、一番左のブロックの座標のことです。
その座標を軸に、X方向に配置されるので、入力の間違いに気を付けてください。
(ブロックが存在していても問答無用で上書きされます)
座標の調べ方は、F3キーを押し、適当に置いたブロックにカーソルが合わせると
Targeted Blockという所に、そのブロックの座標が表示されるのでわかりやすいです。
設定が終わったら「変換してコマンドを出力」ボタンを押してください。
⑤コマンドをサーバーで実行する
ブラウザに以下のようにコマンドがずらーっと並んでいると思います。
※詳しい人ならわかると思いますが、本来fillコマンドは範囲選択して使うものなのに、
1ブロック毎にコマンド化しているので、結構重いと思います。実行する際は注意してください。
さて、上のコマンドをCtrl+Aで全て選択して、Ctrl+C(コピー)して下さい。
それをサーバーのコンソール(黒い画面のやつ)にCtrl+Vで貼り付けてください。
PCによっては、処理が走り出すまでに少し時差があるかもしれません。
サーバーログが地獄のように流れだしたら、きっとマイクラの世界には画像が生成されているはずです。
謝辞
Pic2Blockという素晴らしいサービスを作られたkult様に心から感謝いたします。
Qiitaにて技術解説されてますので、興味のある方は是非ご覧ください。
ボタンが出てこない…
ボタンが赤くならないということですか?
おっしゃるとおりです。
赤いボタンが出てきません。
バージョン: 87.0.4280.66です。
DMで対応します!
すみません、私も表示されません…..:(
Windowsだとエラーが出るみたいなので、コードを変更しました!
もう一度ブックマークレットを作り直して、やってみてください!
コピペすると、以下のエラーが・・。解決方法わかりますでしょうか?
/fill 117 244 -48 117 244 -48 minecraft:birch_log
[02:25:16] [Server thread/INFO]: Usage: //fill []
[02:25:16] [Server thread/INFO]: Too many arguments.
[02:25:16] [Server thread/INFO]: Usage: //fill []
/fill 117 244 -48 117 244 -48 minecraft:birch_log
↑このコマンドをチャット欄で実行してもエラー出ますか??コマンドは合ってそうです。。
一応チートコマンドが有効になっていることを確認してください!
それと、マイクラのバージョン教えて欲しいです!
ブックマークに登録し、コードをコピペしたのですがブックマークを押してもページが開けません。どうしたらいいでしょうか?パソコンはWindous10を使っています。
ページが開けないというのは「Pic2Block for Minecraft」さんのサイトが開けないという事で合ってますか?
このサイトはこちらで運営しているサイトではないので、開けない場合はどうすることもできないのですが、
1分くらい待ってると表示されるかもしれません!(多分firebaseの仕様でアクセスが一定期間ないとスリープする的なものだと思われます)
もし、ページは開けるけど、ボタンが赤くならない場合はまた仰ってください!宜しくお願いします!
赤いボタンが出ました!ありがとうございます!
よかったです😊