3Dモデル作成メモ

 あくまで自分の思考整理や、後で自分が見返すための個人的メモなので、自分がわかるようにしか書いてません。特に専門用語は自分で勝手に名前を付けている場合があります。ご注意ください。
 ここで書いたやり方を使われる方がいらっしゃいましたら、ご自由にお使いください。むしろどんどん使って素材を作ってください。ただし、ここに記載した内容に伴い何らかの損害等が生じた場合でも、責任は負いかねます。

(各手順の前提となるソフトのバージョン)
○ MagicaVoxel:0.99.6.3
○ Blender:3.3

※ 参考:過去の3Dモデルに関する勉強内容


【目 次】
● ボクセルキャラの作り方・規格
● ボクセルキャラを3Dモデルキャラに変換する方法
  ※ 表情パーツ面取り要領追記
  ※ 各パーツのボーンを体のアーマチュア内に組み込む方法追記
● Blenderで複数モデルを処理する方法


【ボクセルキャラの規格・作り方】
● 現時点の規格
 ○ 解像度が低くてもいい場合(世界観等による)
   横24×縦32(「ちびキャラ」の要素が強くなるが縮小しても解像度が荒い)
 ○ MZで違和感ない解像度を確保する場合
   横48×縦64(「ちびキャラ」っぽさが若干消える。)

<参考データ>
● MagicaVoxel用256色カラーパレット

※ 拡大表示しているだけであり、本来は縦幅1ドットの画像

● 基準体(横24×縦32)の作り方
 作業をやりやすくするための準備をする。これは別にやらなくてもよい。
 MagicaVoxelで横24×縦32(奥行きは何でもよい)の空間を作る。
 正面図を書き込む。この時、腕は横に伸ばしておく。
 
 陰影による色の違いは、3Dモデル化後は不要となるので、光沢・影の部分は全てベースの色1色で作成する。
 (髪の筋など、強調したい場合は塗ることもあると思う。)
 輪郭の部分は、後で色を塗るか削除するので、わかりやすいように目立つ色で塗るとわかりやすい。
 側面図も同様に作成する。
正面図
2000素材の
トレース
側面図

 ワールドで側面図を90度回転させ、原点上で重ねる。この際、1ドットずつずらしておくと、後で作業空間を選択しやすくなる。
重ねた状態

 作業を開始する。正面図・側面図を見ながら積み上げていく。
 ここは地道にやるしかない。キャラグラには背面もあるので、それも見ながら作っていく。見えないところは想像で頑張る。
 なお、バランスを考慮して微調整する。完全に同じにならないこともある。
作業途中の状態
靴・つま先が
違う
首を1ボクセル
長くしているの
で、目の高さも
違う

 作成する際、「たなびくもの」でハチマキのように小さいものは、本体にくっつかないよう法線方向に立てておいた方がパーツ化しやすい
ハチマキを立てて
作成

作成したボクセル
キャラ

● パーツに分割
 ワールドにおいてコピペし、2つに増やす。
 (コピペすると重なった状態でペーストされるので、見た目には増えたかどうかわからない。移動させるとコピーされていることがわかる。)
 それぞれ余計なボクセルを消し、パーツ化する。
 削る際は、ワールドで重ねれば過不足をチェックできる。
 以上を必要な数のパーツがそろうまで繰り返す。
 作成する際、「たなびくもの」でハチマキのように小さいものは、努めてパーツ化した方が後で「Blenderでの動き具合の調整(ウェイトの調整)」の作業量が減る。
元のボクセル
キャラ
増やした状態
パーツ化した
状態
「頭」「体」
「コート下」に
パーツ化
「体」と「コー
ト下」を重ねて
チェック

 表情差分を別パーツにする場合は、本体と重なる部分を作る。重複分がない場合、Blenderで「滑らかにする処理」をした場合に境目ができてしまう。
 髪で境目が隠れる部分くらいまで作る。
 ボクセルの見た目のままにする場合は重なり部分は不要だが、重複しても見た目が変わらないので、どちらにも対応できるように重複部分を作っておくとよい。
重複部分がない
場合の表情パー
ツの状態


Blenderで処理をすると、目立つ境目ができてしまう。
重複部分を作っ
た場合の表情
パーツの状態


ツクールに取りこむため縮小すると見えなくなる。

● ボクセルキャラの2倍化(好みに応じて採用)
 MagicaVoxelでオブジェクトを編集中、右側にある「▼Tool」の「2X」を選択すると2倍の大きさになる。
 単純に各ボクセルが2×2になっているので、段差のある部分にボクセルを追加して滑らかにする。この時、目立つ色のボクセルを追加すると、作業し忘れた場所がないか確認しやすい。
 追加により滑らかにし終わったら、追加したボクセルに色を塗る。
 その後、不要なボクセルを消去して形を整える。
 微調整。解像度が増えているので、目の形を変えるなどもできる。
追加・削除前の
状態
段差に追加中の
場面
追加終わり
追加したボクセ
ルに着色
不要なボクセル
を消去中の場面
目の形を調整


完成:
2倍化された
パーツ

重ねた状態
※ この解像度になると、見栄えの良い曲線・球面を作るには若干センスがいる。
(顔の輪郭や頭などは、回数をこなして最適な形をパターン化しておく必要がある。)

● エクスポート
 ワールドの原点に各オブジェクトを重ねて配置する。
 画面右下の「>Exprot」を選び、表示されたファイル形式から「ply」を選択する。
 全てのオブジェクトが一括でエクスポートされ、保存先には「元のファイル名-0.ply」「元のファイル名-1.ply」「元のファイル名-2.ply」…といった形で保存される。


【ボクセルキャラを3Dモデルキャラに変換する方法】
※ 使用ファイルは「ply形式」

<全体の流れ>
● インポート及び色を付けた表示への変更
※ VRM形式変換のためのテクスチャ作成方法
● ポリゴンの一体化
● アーマチュア:ボーンの設定
● 各ボーンとオブジェクトの親子関係設定
● 各ボーンに連動するオブジェクトの移動量(ウェイト)設定

● インポート及び色を付けた表示への変更
 「ファイル」−「インポート」でインポート
 MagicaVoxelで作ったボクセルモデルをply形式でエクスポートした場合、色情報は「頂点カラー」と呼ばれる形で保存される。これをBlenderにインポートした場合、設定を変更しないと色がついた状態で表示できない
 右上にある「○が4つ並んだアイコン」のうち、右から3つめの「3Dビューのシェーディング:ソリッドモード」を選択
 右上にある「○が4つ並んだアイコン」の右端にある「v」を選択してオプションを開き、「カラー」の「属性」を選択
【レンダリングした際に色を付けて表示するようにする設定】
 MagicaVoxelから「ply形式」にエクスポートした場合、色情報が「頂点カラー」となっている。
これをレンダリングした際に色を付けて表示するには、次の設定が必要である。
 右上の「3Dビューのシェーディング」を一番右の「レンダープレビューを表示」にする。
 オブジェクトを選択(アーマチュアは選択しないので、全選択ではダメ。オブジェクトだけを選ぶ)
 画面右の縦並びアイコンのうち「オブジェクトデータプロパティ」アイコン(オブジェクトを選択した状態では「緑色の逆三角形」のアイコン)を選択する。
 「オブジェクトデータプロパティ」内の「カラー属性」を開き、そこに表示されている名前を記録する。
    例:Col
 画面右の縦並びアイコンのうち「マテリアルプロパティ」アイコン(「オレンジ色の○」のアイコン)を選択し、「新規」を選択する。
 「サーフェス」を開き、「ベースカラー」の左にある黄色い●を選択してウィンドウを表示する。
 表示されたウィンドウの左側の「入力」欄にある「属性」を選択する。
 「ベースカラー」の下に名前を入力する欄が表示されるので、そこに先ほど「カラー属性」で記録した名前を入力する。

インポートして
色を付けた後

※ VRM形式変換のためのテクスチャ作成方法
【全般】
 3Dモデルを使うにあたって、VRMという普及した形式に出力できるが、その際、専用のボーンを埋め込む以外にも、テクスチャ(ポリゴンの上に描画する模様を描いた画像ファイル)が必要となる。
 今回使用しているply形式では、MagicaVoxelから出力した際、テクスチャが含まれないため、Blender上で作成しなければならない。
 なお、上手くテクスチャを作成するためには、後述の「ポリゴンの一体化」の前に以下の処理によりテクスチャを作成しておく必要がある。

【事前設定】
 画面右の縦並びアイコンのうち、「レンダープロパティ」アイコン(上から3番目のアイコン)を選択する。
 「レンダーエンジン」を「Cycles」に変更する。これじゃないとテクスチャを作成できない。
(「デバイス」は自由に。グラフィックボードがあればGPUにする。)
 同じ「レンダープロパティ」内の下の方にある「ベイク」を開く。
 「ベイクタイプ」を「ディフューズ」に変更
 「影響」内のチェックは「カラー」のみチェック。デフォルトでは「直接照明」「間接照明」にチェックが入っているので、これを外す。
 各オブジェクトに「レンダリングした際に色を付けて表示するようにする設定」をする。
 画面上の横並びメニューのうち、「UV editing」を選択する。
 右側画面で、右上にある「○が4つ並んだアイコン」の右端にある「v」を選択してオプションを開き、「カラー」の「テクスチャ」を選択
 画面に表示されていない場合は、画面の幅を広げるか、メニューの上でマウスホイールを回すと左右に表示がズレるので便利。
 VRM形式に出力する場合、オブジェクトの名前とボーンの名前が同じだとエラーが出るので、名前がかぶらないようにしておく。(オブジェクトは末尾に「obj」をつける等)
【テクスチャの作成】
 作業の流れは、「オブジェクト毎に無地のテクスチャを作成」→「そのテクスチャに対して「ply形式のカラー情報でモデルを描画した結果」を書き込み」→「オブジェクトの表面をそのテクスチャに基づいて描画するよう設定」するという流れ。言葉で書くと何言ってるかよくわからないが、仕組みを説明すると面倒なのでここでは割愛する。
 右側画面でオブジェクトを選択し、左上のモード切替プルダウンメニューで「編集モード」に変更
 頂点が全て選択された状態にし、左上メニューの「UV」−「UV展開」
 左側画面で左上メニューの「新規」を選択し、出てくるダイアログにテクスチャの名前を設定して「OK」を押す。これでこのオブジェクトに対応させるテクスチャ(無地)ができる。
 左側画面の一番左上にあるアイコンを選択し、「シェーダーエディター」に切り替える。
 左上メニューの「追加」−「テクスチャ」−「画像テクスチャ」を選択するとマウスポインタのところに「画像テクスチャ」と表示された箱(これが「ノード」)が表示されるので、画面の適当なところをクリックして貼り付け。「カラー属性」の上くらいがいい。
 「画像テクスチャの箱(ノード)」左にあるアイコンを選択するとプルダウンメニューが出てくるので、表示されるリストの中から先ほど設定したテクスチャの名前を選択する。
 右側画面に移り、画面右の縦並びアイコンのうち、「レンダープロパティ」アイコン(上から3番目のアイコン)を選択する。
 同じ「レンダープロパティ」内の下の方にある「ベイク」の中にある「ベイク」を選択すると、描画した結果が指定したテクスチャに書き込まれる。右側画面で色がつくはず。
 左側画面の「画像テクスチャの箱(ノード)」の右辺にある「カラー」の丸をドラッグするとヒモが出てくるので、これを「プリンシブルBSDFの箱(ノード)」の左辺にある「ベースカラー」の丸までつなげる。これで「オブジェクトの表面をそのテクスチャに基づいて描画するよう設定」できる。
 左側画面の一番左上にあるアイコンを選択し、「UVエディター」に切り替える。
 左側画面で左上メニューのテクスチャの名前が表示されている欄の左に「×」があるので、これを選択する。
 ここまで来たら右側画面で「ポリゴンの一体化」(後述)をやってもよい。
【超重要】
 各オブジェクトのテクスチャ作成が終わったら、「Blenderを終了させてデータを保存」する。
 ここまでの手順でテクスチャ自体は作成されているが、「ctrl+S」ではテクスチャデータが保存されない。(理由は不明。仮のデータ扱いになっていて、固定されない感じ。)
 そのため、テクスチャに影響する関する別の処理(ウェイトの調整とか)を行うと、作成したテクスチャのデータが消えて黒一色に戻ってしまう。
 Blenderを終了させるときに「Save as * modified image(s)」とテクスチャを保存するか聞いてくるので、チェックを入れた状態で終了させ保存することが必要。
 一度この方法で保存すれば、後はウェイトの調整とかしても黒一色になったりしない。

緑の丸
「UV」の位置

赤の丸
「新規」の位置
シェーダー
エディターと
画像テクスチャ
選択場所
画像テクスチャ
ノードの設定
ノードの接続
Blender終了で
保存


● ポリゴンの一体化
 インポート直後はそれぞれのポリゴンが独立して存在していることから、これをまとめて1つのオブジェクトにする。
 オブジェクトを選択し、左上のモード切替プルダウンメニューで「編集モード」に変更
 頂点が全て選択された状態にし、左上メニューの「メッシュ」−「クリーンアップ」−「距離でマージ」
 選択を解除してしまった場合は、「A」キーで全選択できる。範囲指定で選択すると、裏側の頂点が選択できないので注意。
 左下にマージする距離を調整できる場所(「>距離でマージ」のウィンドウ)があるが、数値はデフォルトの0.0001mでよい。
距離でマージで
一体化

● アーマチュア:ボーンの設定
 各パーツのアーマチュア(ボーンの集合体)を設定する。
 全体の流れは次のとおり
 メインとなる体のボーンを配置する。
 付属するパーツのボーンを配置する。
2−1 パターン1(肩当等):
「パーツが親に合わせて移動・回転」、「パーツ自体が移動・回転」、「パーツの形は変形しない」場合
2−2 パターン2(髪、マント、スカート等):
「パーツが親に合わせて移動・回転」、「パーツ自体が移動・回転」、「パーツの形は変形する」場合
 パーツのボーンの「親」となるボーンを設定する。
 表情パーツのように「パーツが親に合わせて移動・回転」するだけのものは、ボーンを配置しなくてもよい。(細部後述)

 メインとなる体のボーンを配置する。
 オブジェクトを選択し、左上のモード切替プルダウンメニューで「オブジェクトモード」に変更
 左上メニューの「追加」−「アーマチュア」を選択する。これでボーンが追加され、「ボーン1個からなるアーマチュア」ができる。
 追加されたボーンはオブジェクトに隠れてしまうため、最前面に表示するように設定を変える。
 画面右の縦並びアイコンのうち、「オブジェクトデータプロパティ」アイコン(緑色の人型アイコン)を選択する。
 「ビューポート表示」内に「最前面」のチェックがあるので、これにチェックを入れる。
 ボーンを編集・追加する。
 ボーンを選択し、左上のモード切替プルダウンメニューで「編集モード」に変更(これを切り替えないとオブジェクトが一緒に移動したり拡大縮小されたりする。)
 移動・拡大縮小して設置する。ボーンの端末から新たなボーンを生やしたい場合は、端末の丸部分を選択したのち、左上メニューの「アーマチュア」−「押し出し」を選択すると新たなボーンが生える。
 (メニューから選ぶとマウスとの位置関係がズレるので、選択した状態で「E」キーを押すとやりやすい。)
 ボーンを追加した時のデフォルト名は「Bone」だが、これは逐次変えておいた方がよい

※ 左右対称なボーンを作りたい場合
 対象にしたいボーンの名前の末尾に「.L」を付ける。
 画面右上の「シーンコレクション」のツリーのうち、「アーマチュア」を開いていき、対象とするボーンを選択する。(「Bone.001」等の名前がついている)
 画面右の縦並びアイコンのうち、「ボーンプロパティ」アイコン(緑色の骨型アイコン)を選択する。
 名前欄を選択し、最後に「.L」をつける。(ボーンを右側に生やしていたら「.R」)
 一通り設定したならば、左上のモード切替プルダウンメニューで「編集モード」に変更
 名前を変えたボーンを選択し、左上メニューの「アーマチュア」−「対称化」を選択すると、反対側に追加される。(全部一緒でも可能なので、全選択してから行うと早い)
体のボーンの
作成

 付属するパーツのボーンを配置する。
 ハチマキ等の各種パーツのボーンは、何も選択していない状態で左上メニューの「追加」−「単一ボーン」を選ぶと、独立したボーンが追加されるので、これを該当する位置に配置する。
2−1 パターン1(肩当等):
「パーツが親に合わせて移動・回転」、「パーツ自体が移動・回転」、「パーツの形は変形しない」場合
 「パーツが親に合わせて移動・回転」、「パーツ自体が移動・回転」、「パーツの形は変形しない」場合とは以下のとおり
 体の基準となるボーン(「親」という。)が動いた際、パーツが親との相対的な位置関係を維持したまま動く。
 親の動きとは別に、パーツ自体を移動・回転できる。
 親の動きと連動したり、パーツ自体が動いたたりした時、パーツの形自体は変化しない。
 このパターンの場合、パーツに対し1つのボーンを配置する。
 追加したボーンは本体につながっていなくてもよい。(以前の内容からの修正)
 (動きを連動させる関連付け(親子関係の設定)は後述)
肩当のボーンの
作成

2−2 パターン2(髪、マント、スカート等):
「パーツが親に合わせて移動・回転」、「パーツ自体が移動・回転」、「パーツの形は変形する」場合
 「パーツが親に合わせて移動・回転」、「パーツ自体が移動・回転」、「パーツの形は変形する」場合とは以下のとおり
 体の基準となるボーン(「親」という。)が動いた際、パーツが親との相対的な位置関係を維持したまま動く。
 親の動きとは別に、パーツ自体を移動・回転できる。
 パーツに設置したボーンの動きに合わせ、パーツの形が変化する。
 このパターンの場合、パーツに対し複数のボーンを配置する。
 体のボーンと同じように、動かす部分にボーンを配置する。これをここでは「パーツ変形ボーン」と呼ぶ。
 体のボーンと親子関係を設定する際に使うボーンを配置する。これをここでは「パーツ接続ボーン」と呼ぶ。
 「パーツ接続ボーン」は「あればいい」ので、目立たないよう小さくすると邪魔にならない。
 「パーツ接続ボーン」の根の部分(ヘッド)がパーツオブジェクトの中に入り込むと、後で移動量(ウェイト)を調整する際、パーツ接続ボーンの動きに応じて変形するようになってしまうことが多いため、根の部分が入り込まないようにするのが良い
 厳密な法則は未確認。
 パーツ接続ボーンは、後述する移動量(ウェイト)の設定を行った後で、移動させ近づけることがができるので、ここでは多めに離して配置するとよい。
ハチマキのボーンの
作成

 緑の丸はパーツ接続ボーン
 水色の丸はパーツ変形ボーン
ハチマキ変形の
イメージ


 パーツのボーンの「親」となるボーンを設定する。
 アーマチュア内にあるつながっていないボーンについては、親となるボーンの動きに合わせて、子のボーンが連動して動くようにできる。
これを親子関係の設定(ペアレントの設定)という。
 【パーツがパターン1(肩当等)の場合】
 アーマチュアを選び、左上のモード切替プルダウンメニューで「編集モード」に変更する。
 左上のモード切替プルダウンメニューで「編集モード」に変更
 子となる「パーツ変形ボーン」を1つ選択し、次に画面右の縦並びアイコンのうち、「ボーンプロパティ」アイコン(緑色の骨型アイコン)を選択する。
 「関係」をクリックして開く。
 「ペアレント」の下にあるチェックボックスについて、「ローカル位置」と「回転を継承」にチェックがあり、「接続」のチェックがない状態に設定する。
(表示が薄暗くなっている状態でもチェックボックスの編集はできる。)
 「ペアレント」を選択すると、存在する全てのボーンのリストが表示されるので、「親」にするボーンを選ぶ。
 複数のボーンを一括して設定することはできないので、一つ一つ設定する。
 複数のボーンがつながっている場合、根本のパーツ変形ボーンとパーツ接続ボーンに親子関係の設定をすれば、全て連動して動く。
緑の丸が
設定の場所

肩当のボーンの親を肩のボーンに設定
(肩のボーンが動くと、肩当も連動して動くように設定)
 【パーツがパターン2(髪、マント、スカート等)の場合】
 パーツ変形ボーンの親をパーツ接続ボーンに設定する。パーツ接続ボーンが複数つながっている場合は、根本の基準となるボーンのみ設定すればよい。
 パーツ接続ボーンの親を設定する。

(参考) アーマチュア同士の親子関係の設定
 パーツのボーンを独立したアーマチュアとし、体の親となるボーンの動きに合わせて、子であるパーツのアーマチュアが連動して動くようにする。
 移動量(ウェイト)の設定をする際、他のパーツの設定と干渉しなくなるため、早くかつ簡単に作成できるので便利
 ただし、アニメーションでモデルを使おうとする場合、アーマチュア単位で設定を行うことから、切り替えて作業する手間が増えるので、使わない方が望ましい。
 配布モデルのVer.3以降のものは、これが理由でアーマチュアを一体化している。
 左上のモード切替プルダウンメニューで「オブジェクトモード」に変更
 「子のアーマチュア」を選択し、次に「Shift」キーを押しながら「親の『アーマチュア』」を選択する
  (最後に選択したものが「親」になるので、この順番でやる。)
 左上のモード切替プルダウンメニューで「ポーズモード」に切り替える。
 「Shift」キーを押しながら「親にしたい『個別のボーン』」を選択する。
 左上メニューの「ポーズ」−「ペアレント」−「ボーン」を選択する。
アーマチュア同士
の親子関係設定

● 各ボーンとオブジェクトの親子関係設定
パーツが相対的な位置だけ保てばいい場合(表情パーツ等)
 表情パーツのように、相対的な位置を保てばいい場合に使う
 左上のモード切替プルダウンメニューで「オブジェクトモード」に変更
 「オブジェクト」を選択し、次に「Shift」キーを押しながら「アーマチュア」を選択する
 順番に意味があるので、この順番でやる。
 アーマチュア自体を選択することに意味があるので、どのボーンをクリックするかは気にしなくていい。
 なお、アーマチュアをパーツごとに分割している場合は、対応するパーツのアーマチュアを選択する。
 左上のモード切替プルダウンメニューで「ポーズモード」に切り替える。
 「Shift」キーを押しながら「親にしたい『個別のボーン』」を選択する。
 左上メニューの「ポーズ」−「ペアレント」−「ボーン」を選択する。
ボーンと
表情パーツの
親子関係設定

パーツがパターン1・パターン2場合の親子関係設定
 オブジェクトがアーマチュアの動きに合わせて動くように、それぞれを関連付ける。
 表情パーツのように、相対的な位置を保てばいい場合には使わない
(正確には使ってもいいが、意味がないので、邪魔にならないよう使わない。)
 次に行う「移動量(ウェイト)の設定」で作業の手間が増えないようにするため、ボーンとオブジェクトを離れたところに移動させてから設定すると非常に楽になる。
 なお、パーツのボーンを独立したアーマチュアにしている場合は、わざわざ離さなくてもよい。
 【ボーンとオブジェクトの移動】
 左上のモード切替プルダウンメニューで「オブジェクトモード」に変更
 パーツのオブジェクトを移動させる。
 この時、切りのいい数値を入力して移動させると、あとで元の位置に戻しやすい。
 アーマチュアを選択し、左上のモード切替プルダウンメニューで「編集トモード」に変更
 パーツの接続ボーン、変形ボーンをオブジェクトと同じ位置に移動させる。
 数値入力で移動させればやりやすい。
ボーンと
オブジェクト
の移動後

緑の丸は移動量を数値入力できるところ

 【親子関係の設定】
 左上のモード切替プルダウンメニューで「オブジェクトモード」に変更
 「オブジェクト」を選択し、次に「Shift」キーを押しながら「アーマチュア」を選択する
 順番に意味があるので、この順番でやる。
 アーマチュア自体を選択することに意味があるので、どのボーンをクリックするかは気にしなくていい。
 なお、アーマチュアをパーツごとに分割している場合は、対応するパーツのアーマチュアを選択する。
 左上メニューの「オブジェクト」−「ペアレント」−「自動のウェイトで」を選択する
 これを行うことで、ボーンの近くのオブジェクトが関連付けられ、ボーンの動きに合わせて回転や変形するようになる。(微調整は後で行う。)
 この時、パーツ同士の位置が近いと、付近にあるオブジェクトも影響を受けて動くようになってしまう。
 なお、パーツのボーンを独立したアーマチュアにしている場合は、他のパーツに影響を及ぼすことはない。
 1つのアーマチュアに対し、複数のオブジェクトを子に設定できるので、各パーツのオブジェクトをそれぞれ子に設定する。

(参考) ボーンのグループ化
 アーマチュアを一体化している場合、各パーツのボーンが重なってしまいグチャグチャになるが、パーツ単位でグルーピングすることで、グループごとに色を変えたり非表示にしたりしやすくなる
ただし、「オブジェクトモード」や「編集モード」では色が変わらず、「ポーズモード」や「ウェイトペイントモード」でしか変わらないので、若干中途半端感はある。
 左上のモード切替プルダウンメニューで「ポーズモード」に変更
 画面右の縦並びアイコンのうち、「オブジェクトデータプロパティ」アイコン(緑色の人型アイコン)を選択する。
 「ボーングループ」を選択して開き、右側の「+」を押すと新たにグループが追加される。
 追加されたグループをダブルクリックすると、名前を変更できる
 パーツに対応するボーンを選択する。「Shift」キーを押しながら一つ一つ選択するか、範囲選択で選択できる。
 「ボーングループ」内にある作成したグループを選択し、「割り当て」をクリックすると、選択していたボーンがグループに登録される。
(後から追加もできる。)
 「ボーングループ」内にある作成したグループを選択し、「色セット」をクリックすると、そのグループのボーンに色を付けることができる
(先に述べたとおり、編集モードやオブジェクトモードでは色が表示されない。)
 「ボーングループ」内にある作成したグループを選択し、「選択」をクリックすると、グループのボーンが全て選択される。右上のツリーからでは選択できず、ここからしか選択できない。(未実装らしい)
ボーングループ
の設定例

● 各ボーンに連動するオブジェクトの移動量(ウェイト)設定
 これまでの設定だけでもポーズモードでボーンを動かすとオブジェクトは動くが、移動量(ウェイト)の設定を行わないと、動かしたくないところが動いたりゆがんだりするので、これを解消するために微調整を行う。
 左上のモード切替プルダウンメニューで「オブジェクトモード」に変更
 「アーマチュア」を選択し、次に「Shift」キーを押しながら「オブジェクト」を選択する。(親子関係の設定の時と順番が逆となる。)
 この状態になると左上のモード切替プルダウンメニューで「ウェイトペイント」を選択できるので、これに切り替える。
 右上にある「○が4つ並んだアイコン」のうち、一番左の「3Dビューのシェーディング:ワイヤフレームド」を選択すると、ボクセルの境目が見えるようになるので作業しやすい。
 「Ctrl」キーを押しながらアーマチュアを選択すると、そのアーマチュアを動かしたときに連動して動く部分が赤〜青の色で表示される。
 「赤」が完全に連動して動く部分。左上の「ウェイト」の数値は1.000が該当
 「青」がまったく連動しない部分。左上の「ウェイト」の数値は0.000が該当
 途中のつながっている部分は、「ウェイト」の設定値に応じて伸び縮みする。
 画面左の縦列のアイコン群のうち、一番上の「ドロー」(筆のマーク)を選択すると、色を塗ることで設定できるようになる。
 左上の横列メニューのうち、「ウェイト」の数値を設定したのち、マウス色を塗るように撫でれば設定できる。
 まずは「ウェイト0」の場所を見やすくする。
 右上にある「○が4つ並んだアイコン」の左側にある「ビューポートオーバーレイ」を選択
 下の方にある「ウェイト0」の設定を「アクティブ」に変更
 これでウェイト0の部分が黒く表示され、判別しやすくなる。
 1回撫でただけで設定した数値にしたい場合は、デフォルト設定から変更が必要である。
 「ウェイトペイント」において「ドロー」を選択し、色を塗れる状態の時、左上の横列メニューのうち、「減衰」となっているところを選択する。
 表示されたウィンドウの上にある欄(デフォルトは「カスタム」となっている部分)を選択し、「一定」を選択する。
 これで1回撫でるだけでウェイトが設定値になるので、非常に楽になる。
 色塗りの時、「頂点」が含まれた場合に色が変わるため、頂点と頂点の間だけ塗っていても何も変化がないので注意が必要である。
 ボクセルキャラの場合、内側にも頂点があるので、変な変形をする場合は内側も確認する。
 子に設定しているそれぞれのオブジェクトに対し設定を行う。
ウェイトペイン
トの外観
ウェイト0を
見やすく設定
一発塗りの
設定

パーツがパターン1(肩当等)場合のウェイト設定
 パターン1は変形しないので、確認のみ。
 初めから全部真っ赤になっているはずだが、そうでない場合は全部真っ赤にする。
 動かしてみて、近くのパーツが連動して動かないことも確認しておく。
肩当のウェイト

パーツがパターン2(髪、マント、スカート等)場合のウェイト設定
 パーツ変形ボーンが動いた場合は回転や変形するが、パーツ接続ボーンが動いた場合は、もとの形を維持したまま位置だけが連動して変わる状態に設定する。
 まずパーツ接続ボーンからウェイトを調整する。パーツ接続ボーンを動かした際、パーツが変形せず、相対位置を保ったまま移動しているか確認する。
 パーツが変形してしまう場合は、親子関係を解除し、パーツ接続ボーンを更に遠くに離して再度設定する。
 左上のモード切替プルダウンメニューで「オブジェクトモード」に変更する。
 親子関係を解除したいパーツを選択する。
 左上メニューの「オブジェクト」−「ペアレント」−「親子関係をクリア」を選択と解除できる。
 パーツ接続ボーンを遠くに離し、再度親子関係を設定する。
 どうしても改善できない場合は、その点の部分を1(赤)にする。
 次にパーツ変形ボーンのウェイトを調整する。基本的には初期の自動設定で問題ないが、関節等で微調整したい場合や、複数のボーンがあるため動かしたくないところまで動いてしまう場合は調整する。
 対称にあるアーマチュアの色も同じに塗りたい場合は、「ミラー」操作の設定をして色を塗ればよい。
 中央の3Dビューと画面右上の「ツリー」の間の辺にある「<」を選択して「サイドバー」を表示する。「N」キーでもよい。
    (なお、閉じるボタンは見当たらないので、「N」キーを押して閉じるしかない?)
 「ツール」タブ中、「対称」−「ミラー」を選択する。通常はX軸だが、キャラの向きによってはY軸を選択する。
 この状態で片方のアーマチュアのウェイトを調整すると、反対側も同じ調整がされる。
 オブジェクトの原点に対して対象になるので、作業空間の座標軸上にある必要はない。
 キャラの形が左右非対称の場合は個別に調整する必要がある。
 【「他のパーツに接着する面」がある場合】
 パーツ変形ボーンでその部分は、ウェイトをゼロにする。そうしないと、パーツが変形した際、他のパーツとの間に隙間ができてしまう
 パーツの中に複数のボーンを埋め込んでいる場合は、全てのボーンにおいてウェイトがゼロになるよう調整する。
 パーツ変形ボーンの設定が終わったならば、パーツ接続ボーンを再度調整する。
 接着面のウェイトをゼロにしたため、パーツ接続ボーンを動かしても連動して動かなくなっているので、連動して動くするようにする。
 パーツ接続ボーンを動かしてみて、元の位置から動かない点の部分を1(赤)にする。
 パーツ全部を1(赤)にすると、パーツ接続ボーンを移動させた場合にオブジェクトが歪む場合があるので、やらない。
ハチマキの
ウェイト

緑の丸は接着面
パーツ接続
ボーンの
接着面

移動させていたパーツの位置を戻す。
 離していたパーツのボーンとオブジェクトを移動させ、元の位置に戻す。
 移動させてもウェイトの設定は変わらないので、互いに不必要な干渉がない状態で近づけることができる。
 この時、パーツ接続ボーンは元のパーツのオブジェクト中に埋め込んでも影響はないので、なるべくポーズをとる時に邪魔にならない場所に置くとよい。
完成


【以下、参考】
● 表情パーツの面取り方法
 ※ 表情パーツVer.2(2022.10.29版)の場合の処理要領
 ○ 輪郭の角ばった感じを消すため、表情パーツだけは面取りをする。
 ○ 左右対称の処理をするため、ミラー機能をONにする。
  ・ 中央の3Dビューと画面右上の「ツリー」の間の辺にある「<」を選択して「サイドバー」を表示する。「N」キーでもよい。
    (なお、閉じるボタンは見当たらないので、「N」キーを押して閉じるしかない?)
  ・ 「ツール」タブ中、「対称」−「ミラー」を選択する。通常はX軸だが、キャラの向きによってはY軸を選択する。
  ※ 右上の「XYZ」とあるアイコンのうち、「X」を選択してもよい
表情パーツ
Ver.2
2022.10.29


 ○ 「アゴ」の部分にある頂点をすべて選択する
 ○ 選択した頂点を移動させる。
  ・ 表示された「矢印」のどれかをドラッグして移動すると、左下に「移動」ウィンドウが出て数値で処理できる。
  ・ 数値を入力し、アゴがなめらかになるよう頂点を移動させる。
    (数値:X 0m, Y 0.05m, Z 0.05m)
    ※ 数値は「左側」の頂点を動かす場合の値
アゴ
選択部分

移動量入力
画面左下


 ○ 「目の横」の部分にある頂点のうち、眉の上から下へ5つ分を選択する
 ○ 選択した頂点を移動させる。
   (数値:X 0.05m, Y −0.05m, Z 0m)
目の横
選択部分

移動量入力
画面左下


 ○ 「横アゴ」の部分にある頂点のうち、前から3つ分を選択する
 ○ 選択した頂点を移動させる。
   (数値:X −0.05m, Y 0m, Z 0.05m)
横アゴ
選択部分

移動量入力
画面左下


 ○ 「横アゴ」の部分にある頂点のうち、一番後ろのものを選択する
 ○ 選択した頂点を移動させる。
   (数値:X −0.1m, Y 0m, Z 0.1m)
横アゴ
一番後ろ
選択部分

移動量入力
画面左下


● 後からオブジェクトを差し替える方法
 ○ オブジェクトを後から修正した場合に差し替える方法がある。
 ○ 修正したボクセルファイルをインポートする。この時、「頂点をマージ」することを忘れがちなので注意する。
 ○ 「オブジェクトモード」にする。
 ○ 「変更する元のオブジェクト」を選択する。
 ○ 「Shift」キーを押しながら、「新しく作成したオブジェクト」を選択する。
 ○ 左上メニューの「オブジェクト」−「データのリンク/転送」−「オブジェクトデータのリンク」を選択する。
 ※ この方法で差し替えると、オブジェクトとアーマチュアの親子関係やウェイトの設定が初期化されてしまうので注意する。
新しく作成した
オブジェクト

 本体の袖の色を変更する。
差し替えの実行

● 表面のスムーズ化処理
 ○ 表面を滑らかにしたい場合、「頂点をスムーズに」と「スムーズシェード」の処理を行う。
 ○ 横24×縦32の「明らかなボクセルキャラ」を使いたい場合は、処理しなくてもよい。

 ○「頂点をスムーズに」を適用
  ・ ポリゴンの頂点の位置そのものを調整して表面を滑らかにする処理である。
  ・ オブジェクトを選択したのち、「編集モード」に変更する。
  ・ 頂点をすべて選択する。(「A」キーで全選択できる。)
  ・ 左上メニューの「頂点」−「頂点をスムーズに」を選択する。
  ・ 左下の数値設定ウィンドウで処理の度合いを変更できるが、デフォルトの0.5、1でよい。
処理なし「頂点をスムーズに」処理後

 ○「スムーズシェード」を適用
  ・ 頂点の位置を変えず、描画する見た目だけなめらかにする処理である。
  ・ 光の反射方向が角で変わるとき、その変化量を一気に変えるのではなく、徐々に変えるようにして見た目をなめらかにする。
  ・ 「オブジェクトモード」で対象となるオブジェクトを選択する。
  ・ 左上にあるメニューから「オブジェクト」−「スムーズシェート」を選択する。
処理なし「スムーズシェード」を適用

● レンダリングと画像データの保存
 ○ 背景を透明化(アルファチャンネル化)する。
  ・ 画面右の縦並びアイコンのうち、「レンダープロパティ」アイコン(上から3番目のアイコン)を選択する。
  ・ 「フィルム」の中の「透過」にチェックを入れる
 ○ MagicaVoxelから「ply形式」にエクスポートした場合、色情報が「頂点カラー」となっている。
  これをレンダリングした際に色を付けて表示するには、次の設定が必要である。
  ・ 右上の「3Dビューのシェーディング」を一番右の「レンダープレビューを表示」にする。
  ・ オブジェクトを選択(アーマチュアは選択しないので、全選択ではダメ。オブジェクトだけを選ぶ)
  ・ 画面右の縦並びアイコンのうち「オブジェクトデータプロパティ」アイコン(オブジェクトを選択した状態では「緑色の逆三角形」のアイコン)を選択する。
  ・ 「オブジェクトデータプロパティ」内の「カラー属性」を開き、そこに表示されている名前を記録する。
    例:Col
  ・ 画面右の縦並びアイコンのうち「マテリアルプロパティ」アイコン(「オレンジ色の○」のアイコン)を選択し、「新規」を選択する。
  ・ 「サーフェス」を開き、「ベースカラー」の左にある黄色い●を選択してウィンドウを表示する。
  ・ 表示されたウィンドウの左側の「入力」欄にある「属性」を選択する。
  ・ 「ベースカラー」の下に名前を入力する欄が表示されるので、そこに先ほど「カラー属性」で記録した名前を入力する。
 ○ メニューバーの「レンダー」−「画像をレンダリング」でカメラから取った画像がレンダリングされる
 ○ レンダーウィンドウのメニューバーにある「画像」に「名前を付けて保存」から保存する。
保存した画像例


【Blenderで複数モデルを処理する方法】
● レンダリングと画像データの保存
 ○ Blenderで複数のキャラを表示して編集できるようにする方法である。
 ○ 「ファイル」−「アペンド」を選択する。
 ○ ファイル選択の画面が出るので、読み込みたい「*.blender」ファイルを選択する。
 ○ フォルダ一覧が表示されるので、「object」を選択する。
 ○ ファイル一覧が表示されるので、読み込みたい「アーマチュア」と「オブジェクト」を選択する。
  (表示される名前は、元のファイルの編集中につけた名前となる。)
複数キャラを
インポートした結果


【作成結果】

何かに立ち向かう二人の図
(主人公1−1の体格が大きすぎたので、量産時に調整が必要)


戻る