見出し画像

MagicaVoxel② モデルをマイクラにコピーする

MagicaVoxel はボクセル作成のフリーソフトです。検索してみると、世界中から様々な作品がネットに挙げられています。四角のキューブで無限の表現が可能なことに驚くことでしょう。
magicavoxel - Google画像検索

前回、MagicaVoxel の簡単な使い方を説明しました。3Dモデル作成に興味のある方は自分のオリジナル作品を作ってみてください。特に拘らなければ、1時間でそれなりのものが完成しますよ。
MagicaVoxel① はじめてのボクセルアート

読者の皆さんがオリジナル作品を作っていただいたとして、今回は MagicaVoxelモデルをマイクラにコピーする方法を紹介します。使用するツールは「magicavoxel2mcpi」という Pythonで書かれたプログラムです。作成者は、creativival つまり私です(笑)。本邦初公開、開発者によるツール使用法の説明になります。

GitHubレポジトリー

github repository

Githubという巨大なコード共有サイトがあります。超有名企業(Microsoft, Googleなど)から私みたいな無名の開発者まで、多くのプログラマーに利用されています。
GitHubはレポジトリーという単位で、プログラムコードを管理しています。「Public(公開)」レポジトリーは、誰でも自由にコードを閲覧できます(利用についてはレポジトリーの指定による)。「Private(非公開)」レポジトリーは、企業内の開発などに使われており、特定の人のみ閲覧が可能となっています。

レポジトリーをダウンロード

Download ZIP

GitHubの利用法を説明します。
まず使いたいレポジトリーの公開ページを開いてください。今回のレポジトリーはこちらになります。
magicavoxel2mcpi
レポジトリーを自分のパソコンで使うには、レポジトリー全体をコピーしなければなりません。最も簡単な方法は、右上「Code -> Download ZIP」をクリックすることです。自分のパソコンの「ダウンロード」フォルダに、圧縮されたレポジトリーがダウンロードされますので、解凍し適当な場所(ドキュメントあたりがお勧め)に移動してください。これでレポジトリーを使う準備ができました。
(注意1)フォルダの名前が「xxx-master」になっていますが、「-master」は必要ないので、「xxx」にリネームしましょう。
(注意2)Windows をお使いの方は、解凍するとフォルダが二重になってしまう問題があります。内側のフォルダのみコピーしてください。(この変な仕様はいつ直るんだろう?)

エディターを用意する

download pycharm

エディターはコードを読み書きする専用のソフトです。頑張れば、WindowsやMacに初めからインストールされているテキストエディターを使えますが、あまりお勧めしません。これらはどちらかというと、文章を書くことに特化しており、プログラムを書くことは想定していないからです。端的に言って「使いにくい」です。
プログラムを書く専用のエディターを準備しましょう。無料で高機能なエディターを利用できます。VS(Visual Studio)が人気がありますが、筆者は「PyCharm Community」を押します。なぜかというと、Pythonに特化しており、初期設定のままでガシガシ、コードをいじることができるからです(お使いのエディターがあれば、そのままお使いください)。
こちらからダウンロードして、インストールしてください。
PyCharm Community

レポジトリーの中身を見てみる

pycharm

PyCharm を起動してください。そのままでも使用できますが、「File -> Settings -> Plugins(PyCharm -> Preferences -> Plugins)」から「Japanese Language Pack」を適用することで日本語化できます。
「ファイル -> 開く」から目的のフォルダーを選択すると、レポジトリーの中身を閲覧できます。左の「プロジェクト」タブから開きたいファイルを選ぶと、コードを閲覧、編集できるようになります。

Pythonのインストール

download python

プログラムの実行には、お使いのパソコンに Pythonがインストールされている必要があります。Pythonのインストール方法はたくさんありますが、本家(https://www.python.org/downloads/)からインストールするのが安心です。次のサイトがよくまとまっているので参考にしてください。Python本体のみインストールして、パッケージ(拡張機能)は必要になってからで良いと思います。
Python3 インストール(Windows編)
Python3 インストール(Mac編)

ファイルを配置する

もう一つ準備が必要です。不足しているファイルを追加しなければなりません。
まず、raspberryjammod をダウンロードしてください。解凍したディレクトリーの中にある「mcpi」ディレクトリーを、レポジトリーのルート(一番上のこと)にコピーします。
以下のディレクトリー構造になっているか、確認してから次に進んでください。

magicavoxel2mcpi/  
    ├ data/  # ply files
    │    ├ piyo.py  
    │    └ ...
    ├ mcpi/  # ここに追加
    │    ├ block.py  
    │    └ minecraft.py  
    ├ magicavoxel2mcpi.py  
    ├ ......    

レポジトリーを実行

run code

プログラムを実行してみましょう。準備としてマイクラを起動しておきます。バージョン12.2 に「Rapsberry Jam Mod」を導入しておいてください。Modの導入がまだの方はこちらを参照してください。
pythonでマインクラフトを制御できるMOD「Raspberry Jam Mod」その1
次にエディターに戻って、実行したいプログラムを選択します。「右クリック -> 実行」をクリックすると、プログラムを実行できます。エディターの下部に実行の情報が表示されるはずです。

minecraft

マイクラに戻ってみましょう。ボクセルモデルが表示できていたら成功です! 

# polygon file format exported from MagicaVoxel
ply_file = 'piyo.ply'

# Origin to create (Minecraft)
x0 = 0
y0 = 5
z0 = 0

# Rotation degree (MagicaVoxel)
alpha = 0  # x-axis
beta = 0  # y-axis
gamma = 0  # z-axis

モデルが宙に浮かんでいるのは、初期値「y0 = 5」を指定しているため、高さが5上に移動しているからです。初期値をいろいろいじって、ひよこがどこに現れるか、遊んでみてください。マイクラの座標がなんとなくわかってきますよ。
ply_file として「dataフォルダ内の plyファイル」を選ぶと、ほかのモデルを表示させることができます。試しに「plyfile = 'frog1.ply'」と書き換えてからプログラムを実行してみてください。何のモデルが現れるでしょうか?(ヒント=私のアイコン)

マイクラにオリジナルモデルをコピーする

copy ply file

いよいよ、オリジナル作品をマイクラにコピーする準備が整いました。オリジナル作品(<xxx>.ply)を「右クリック -> コピー」してから、dataフォルダを選んで「右クリック -> 貼り付け」でレポジトリーの中にコピーします。
コードの修正は、初期設定「ply_file = '<xxx>.ply'」の部分を書き換えるだけです。
プログラムを実行すると、マイクラの世界にオリジナル作品をコピーすることができます。マイクラの世界に自分の作品を置いてみると、感動しますね。(バグがあれば、[Issue] から教えてください。可能な限りツールを修正します。)
今回は、GitHubレポジトリーやエディターの使い方の講義になってしまいました。プログラムに挑戦したいと思っている方はこの機会にぜひ!

おまけ(アニメーション機能)

jumping frog

マイクラの建築は基本的に動かすことはできません。しかし「magicavoxel2mcpi」を使うと、アニメーションさせることができるのです。「モデルを作成 -> 削除」を繰り返すことで、アニメーションを実現しています。


# magicavoxel2mcpi_animation.py

# polygon file format exported from MagicaVoxel
ply_files = ['frog1.ply', 'frog2.ply', 'frog3.ply', 'frog4.ply', 'frog5.ply', 'frog4.ply', 'frog3.ply', 'frog2.ply']

「magicavoxel2mcpi_animation.py」を実行すると、「カエルさん」がピョンピョン飛び跳ねます。初期設定の部分で、plyファイルをリスト化して、変数ply_files に代入しています。
オリジナル作品を複数作れば、それらを順番に読み込んでアニメーションできるので挑戦してみてくださいね。


前の記事
MagicaVoxel① はじめてのボクセルアート
次の記事
Processing でグラフを描く① sin cos tan

その他のタイトルはこちら

この記事が気に入ったらサポートをしてみませんか?