読者です 読者をやめる 読者になる 読者になる

しゅみぷろ

プログラミングとか

ボクセルゲーム制作

はじめに

完全個人でのゲーム企画を考えています。 個人でゲーム制作やってく上で問題になるのがリソース。 作ってくれる人なんていないので自分で作らなきゃです。 2Dゲームならばイラストさえなんとかなればなんとかなるのですが、3Dゲーム作りたい・・・

ということで、今回作るゲームはボクセル調。これならば比較的簡単に制作はじめられそう。 特に人型キャラ制作では、こちらで素体やUnityで使う際のセットアップが書かれています(動画あり)。本当にありがたい・・・。

今回は上記記事を参考にとりあえず同じことをやってみたのでちょこっとメモ。

モデル作成

モデルの作成にはMagicaVoxelを利用します。 こちらで配布して下さっている素体をもとに作成していきます。

あらぬところでメッシュが繋がっていると後でボーンのウェイトを調整しなくてはならなくなるので面倒です。この作業をしたくなければモデリングの段階で気をつけておく必要があります。

とりあえずモデルを作成。

f:id:es_program:20160729160333p:plain:w400

これをobjファイルにエクスポート。

リギング

Blenderでリグを設定していきます。アドオンでRigifyを追加しておきましょう。 3Dビューのシェーディングをテクスチャに、ビューのシェーディングを陰影なしにしておくとこんな感じに。

f:id:es_program:20160729161123p:plain:w400

オブジェクトモードでメッシュの原点を足元にでも設定しておきます(使いやすいよう任意に変更します)。

f:id:es_program:20160729161533p:plain:w400

アーマチュアの追加からHuman(Meta-Rig)を選択します。アーマチュアは表示からレントゲンを有効にしておくと編集しやすくなります。 追加されたアーマチュアの大きさに合わせてメッシュの大きさを縮小します。

f:id:es_program:20160729161935p:plain:w400

ボーンをメッシュに合わせて変形させていきます。

f:id:es_program:20160729162340p:plain:w400

f:id:es_program:20160729162355p:plain:w400

f:id:es_program:20160729162408p:plain:w400

続いて、メッシュを調整していきます。 まず重複した頂点の削除を行い、アニメーションの際に細かい動きができるように適当にメッシュを細分化します。 また、面のシェーディングはフラットにしておきます。

f:id:es_program:20160729162838p:plain:w400

f:id:es_program:20160729162853p:plain:w400

f:id:es_program:20160729165349p:plain:w400

メッシュ→アーマチュアの順で選択し、親子関係を設定します。自動でウェイトも入れてもらいましょう。

f:id:es_program:20160729163115p:plain:w400

ポーズモードでボーンを動かして挙動を確認。気に入らない部分はウェイトペイント等で調節します。

f:id:es_program:20160729163452p:plain:w400

終わったらfbxでエクスポートします(エクスポートの設定で不要なものは除くようにします)。

あとはUnityに必要なファイルをぶっ込みます。

Unityで好きにいじる

ImportSettingでRigのAnimationTypeをHumanoidにすれば他の人型モデル用に作られたアニメーションを適用可能です。 好みのアニメーションがない場合はBlender等で自作しましょう。

f:id:es_program:20160729170721g:plain:w400

このモーションはユニティちゃん(© UTJ/UCL)のものを拝借しました。