ボクセルモデルをUnityで動かしたい
3Dモデルを動かすためには、ボーン(骨)の追加やモデルとボーンのリンクなど、さまざまな作業が必要です。まずは、MagicaVoxelで作成したボクセルモデルをUnityにインポートできる状態に整えることが重要です。
今回は3Dモデルを動かすために欠かせないボーンと3Dモデルをリンクさせるための『ウェイトペイント』をBlenderを使って行っていきます。
ボクセルを動かせるようになると、どんなことができる?
- オリジナルゲームでキャラクターとして使える。
- VRChatでアバターとして使える。
- 動かせるボクセルモデルを使って、アニメーションを作成できる。
- ポーズを取らせたボクセルモデルを3Dプリンターで立体物として出力できる。
Unityで自キャラにして操作してみたい!
用意するソフト
- MagicaVoxel
- Blender
この記事ではBlender4.2.1LTSを使用しています。
ボーンの作成は前回の記事をチェック
ボーンを用意したところまでやったよ
ウェイトペイントについて
Blenderのウェイトペイントは、3Dモデルを動かすために、体のどの部分がボーン(骨)の影響を受けるかを決める作業です。色を使って、ボーンが強く影響する部分を示し、例えば、腕を動かすときにどれくらいの範囲が一緒に動くかを調整できます。この方法で、キャラクターを自然に動かすことができるようになります。色で見やすく表示されるので、調整が簡単です。
ウェイトペイントの準備
ウェイトペイントをする前に、作業をしやすくするための準備をします。
ボーンの表示をBボーンに変更する
ボーンを選択し、「データ」タブにある、表示方法を「Bボーン」に変更。編集モードにし、ボーンを全選択。「Ctrl+Shit+Alt+S」を押しマウス操作で細くし、見やすくします。
Bボーンに変更
ボーンを細くする
※バージョン4.2の場合は「Ctrl+Shit+Alt+S」、
※古いバージョンの場合は「Ctrl+Alt+S」なので注意
モデルとボーンを関連付けする
「オブジェクトモード」でモデルを選択し、Shitを押しながらボーンを選択します。
右クリックで「親」→「空のグループで」を選択すると関連付けができます。
ウェイトペイントモードにする
「オブジェクトモード」にし、ボーンを選択し、Shitを押しながらモデルを選択します。
選択する順番が正しければウェイトペイントモードが選択できるようになります。
ボーン→モデルの順に選択
ウェイトペイントモードにする
選択する順番を間違えるとウェイトペイントモードは出てこないよ
ウェイトペイントを試してみる
ボーン毎に影響を与えたい部分をウェイトペイントで塗っていきます。
頭のボーンの場合、モデルの頭の部分を塗っていくといった感じです。
Altを押しながらボーンをクリックすると各ボーンを選択できます。
ボーンを選択
※バージョン4.2の場合は「Alt+クリック」
※古いバージョンの場合は「Ctrl+クリック」なので注意
ウェイトペイントオーバーレイの変更
・ウェイト0「アクティブ」塗っていない部分が黒くなる。
・ワイヤを表示は頂点がわかりやすくなる。
塗り漏らしやミスしている部分がわかりやすくなった
うーん塗りにくい!
塗りたくない部分も塗ってしまう
いい方法はないのか
頭を塗り終えた
ボーンを動かしてみる
ああああああああああ!!!
間違って塗ると関係ない部分も引っ張られてしまう。
※Rキー押した後にマウスのホイールを押したら前後に動くようになる
ポーズモードにしてみる
※動かしたポーズをリセットする場合は「Alt+R」
ウェイトペイントの早見表
- ボーンの表示をBボーンに変更し、編集モードでボーンを全選択→「Ctrl+Shit+Alt+S」で細くする。
- オブジェクトモードでモデルを選択し、Shitを押しながらボーンを選択、右クリック→ペアレント「親」→「空のグループで」を押し関連付けする
- オブジェクトモードで、ボーンを選択し、Shitを押しながらモデルを選択、ウェイトペイントモードへ
- 「Alt+クリック」で各ボーンを選択し、ウェイトを行っていく
- 「Rキー」でボーンを動かし正しくウェイトが塗れているか確認
もう少し上手くウェイトできるようになったらまた記事書きます