ゲーム制作

【Voxel】自作3Dモデルを動かそう1 – 下準備編【Blender】

ボクセルキャラクターをUnityで動かしたい

3Dモデルを動かすためには、ボーン(骨)の追加やモデルとボーンのリンクなど、さまざまな作業が必要です。まずは、MagicaVoxelで作成したボクセルモデルをUnityにインポートできる状態に整えることが重要です。

今回はMagicaVoxelで作成したボクセルモデルをBlenderに取り込み、のちに行う作業のための下準備をします。

ボクセルを動かせるようになると、どんなことができる?

  • オリジナルゲームでキャラクターとして使える。
  • VRChatでアバターとして使える。
  • 動かせるボクセルモデルを使って、アニメーションを作成できる。
  • ポーズを取らせたボクセルモデルを3Dプリンターで立体物として出力できる。

Unityで自キャラにして操作してみたい!

用意するソフト

  • MagicaVoxel
  • Unity
  • Blender

この記事ではBlender4.2.1LTSを使用しています。

ボクセルモデルは前回の記事をチェック

ボクセルモデルが必要だよ

ボクセルをエクスポート

まずはMagicaVoxelで作成したボクセルをエクスポートしよう。

ためしにUnityに入れてみよう

右下の.objで書き出し。

エクスポートしたファイルをUnityに入れてみよう。

Unityプロジェクトを作成

プロジェクトを3Dで作成し、objファイルをUnityに入れます。

ドラッグしてヒエラルキーに追加。

作成したボクセルキャラが表示された。

Unityちゃんと比較

他のキャラクターモデルと比較するとこのボクセルはかなりでかい。MagicaVoxelで作成したサイズの影響かも。
それにこのままでは歩いたりポーズとらせたりできない。動かない銅像ならこのままでもいいけど、動かすためにはボクセルにBone(骨)を入れる必要がある。

骨を入れたりするにはBlenderがいいらしい。

Blenderにボクセルをインポートしよう

大まかな流れ
  • ボクセルをBlenderにインポートする
  • UV展開する
  • マテリアルを作成する
  • ベイクしてテクスチャを作成する

Blenderは操作に癖があるけど頑張って慣れよう!

MagicaVoxelの作ったボクセルを.plyでエクスポート
今度は.plyでエクスポート

Blenderにボクセルをインポートする
Blenderを起動

まずはCamera、Cube、Lightを削除

.plyをインポート
ファイル→インポート→.plyからファイルを選択

インポート完了

キャラクターが中心に立っているか確認

右上にあるのインタラクティブナビゲーションでキャラクターがちゃんと中心に立っているかを確認する。

-Yをクリックして真正面を確認

足と足の真ん中が中心になっているかチェック!

Xを押して真横を確認

ちゃんと中心になってるね

UV展開

UV展開をする

牛乳パックやサイコロキャラメルを開くようにデータを展開する。

UV展開
Edit Mode(編集モード)にし、Aキーで全選択し、UV展開

UVEditing(UV編集)を押す

展開されたUVが確認できる

新規画像を作成
新規を押して名前を付けて新規画像を作成する

マテリアルの作成
マテリアルの項目を開いてマテリアルを新規作成

ベースカラーを押しAttribute(属性)を選択

名前の所に「Col」と入れる

シェーダーエディターを開く

ベイクの設定
レンダー項目を開いてレンダーエンジンをEEVEEからCyclesに切り替え

ベイクタイプをDiffuse(ディフューズ)にし、影響をカラーのみにする

ベイクをする対象を用意
シェーダーエディターのAdd(追加)Texture(テクスチャ)Image Texture(画像テクスチャ)を選択

作成したUVを選択する

ベイクの実行
画像テクスチャが選択されてるのを確認し、ベイクを実行

色がついた!

作成したテクスチャをローカル保存
Image(画像)→SaveAs(名前を付けて保存)

ベイクの付いたUVをベースカラーに接続

上手くできているか確認

綺麗にテクスチャが付いた

頂点をマージしてテクスチャを繋げる

頂点が同じ位置に重なっているため、マージする必要があります。

重複する頂点の削除

距離でマージ

・Edit Mode(編集モード)にしてAキーを押して全てを選択
・メッシュ→クリーンアップ→距離でマージ(Merge by Distance)

距離は0.1m以内ならいくつでも同じ

これでポリゴン数が節約できた

エクスポートする

ファイル→エクスポート→fbx

とりあえずデフォルトでエクスポートしてみる。

fbxをUnityへ

Rotationが-89.98になっててScaleが50になっている。

Assetsにあるファイルがおかしい

なんかうつ伏せになってる!

FBXを修正する
  • Rotationが『0』の状態で正しく表示されてほしい。
  • Scaleは『1』の状態で丁度良い大きさに調整したい。

トランスフォームを適用にチェック

Rotation『0』でうつ伏せ状態だったのが直った。

スケールの問題はエクスポートのスケールをいじっても直らなかったので保留。

このあたりをいじっても変わりませんでした

FBX作成までの早見表

  • .plyでエクスポート
  • Blenderにインポート
  • UV展開し保存
  • マテリアル作成、属性「Col」
  • レンダーエンジン「Cycles」、ベイクタイプ「ディフューズ」、影響「カラーのみ」
  • シェーダーエディター、追加→画像テクスチャ「作成したUV」
  • ベイク実行
  • テクスチャを保存
  • マテリアルに適用

Boneを入れるときにこの続きからやるのでblendファイルで保存をしておく。
ファイル→名前を変更→〇〇〇.blend

下準備はここまで。Boneはまた次回。

COMMENT

メールアドレスが公開されることはありません。 が付いている欄は必須項目です