MRが楽しい

MRやVRについて学習したことを書き残す

HoloLens特化のホロ恋子モデルを作成する その26(Humanoid対応ボーンの作成)

本日はホロ恋子モデル2の作成枠です。
前回の記事でモデリングが完了したので、今回からリギングに入ります。
リギングはモデルを動かすためのモデルの構造(リグ)を作成する工程です。
f:id:bluebirdofoz:20190123092842j:plain

モデルを動かすためには、アーマチュアと呼ばれるモデルの骨格(ボーン)を埋め込み、骨格とモデルを関係付けるウェイト設定を行う必要があります。
今回はアーマチュアの設定です。

Humanoid対応ボーンの構成

今回のモデルは Unity 向けのモデルとなります。
Unity には人型モデルのリグを共通化する Humanoid リグがあり、今回はこの構造に合わせてボーンを設定していきます。
japan.unity3d.com
bluebirdofoz.hatenablog.com

利用するソフトによって、共通化されたリグの構造は異なる場合があります。
例えば MMD は Hips のボーンが Unity の Humanoid リグとは上下逆になっています。
このため、MMD のアニメーションは Unity の Humanoid リグと共通化できないといった事が起こります。
(固有リグとする Legacy 設定を利用すれば、共通化はできませんがモーションを持ち込むことは可能です)

Rigifyのヒューマノイドリグ

Blenderの人型の標準リグに Rigify というものがあり、これが Unity の Humanoid リグの構造に近しいものになっています。
docs.unity3d.com

デフォルトでは有効になっていないので以下の手順で、アドオンを有効化します。
メニューから ファイル -> ユーザー設定 を選択します。
f:id:bluebirdofoz:20190123092925j:plain

[アドオン]タブを開き、検索で Rigify を入力します。
Rigify アドオンが見つかるので、チェックを入力してアドオンを有効化します。
その後、[ユーザー設定の保存]を行います。
f:id:bluebirdofoz:20190123093123j:plain

変更後、[3Dビュー]のメニューから 追加 -> アーマチュア を開きます。
Human(Meta-Rig) が追加されていれば Rigify アドオンが有効化されています。
f:id:bluebirdofoz:20190123093153j:plain

レイヤー機能の利用

そのまま、[3Dビュー]のメニューから 追加 -> アーマチュア -> Human(Meta-Rig) を選択します。
すると、以下のアーマチュアオブジェクトが読み込まれます。
f:id:bluebirdofoz:20190123093206j:plain

このままだとメッシュとアーマチュアが重なってしまい、編集が難しい状態です。
メッシュとアーマチュアを簡単に切り分けるため、Blender のレイヤー機能を利用します。
アーマチュアオブジェクトを選択した状態で、Mキーを押します。
すると[レイヤー移動]のウィンドウが開きます。
f:id:bluebirdofoz:20190123093219j:plain

[3Dビュー]の右下にはレイヤーが表示されています。
黄色い丸が表示されている場所が現在選択中のオブジェクトが存在するレイヤーになります。
現在のアーマチュアオブジェクトは左上のレイヤーに配置されていることが分かります。
f:id:bluebirdofoz:20190123093231j:plain

[レイヤー移動]のウィンドウで左から2つ目の場所を選択します。
f:id:bluebirdofoz:20190123093321j:plain

するとアーマチュアオブジェクトが見えなくなり、メッシュオブジェクトのみが見えるようになりました。
これは移動先のレイヤーが非表示状態であるためです。
表示中のレイヤーは黒色で表示されており、現在は左上のレイヤーのみ表示状態であることが分かります。
アーマチュアオブジェクトを表示するため、表示レイヤーを変更してみます。
[3Dビュー]から左から2つ目のレイヤーをクリックします。
f:id:bluebirdofoz:20190123093334j:plain

表示レイヤーが切り替わり、メッシュオブジェクトが見えなくなり、アーマチュアオブジェクトが表示されました。
因みに複数のレイヤーを同時に表示する場合は、SHIFTキーを押しながら選択すると、複数選択が可能です。
f:id:bluebirdofoz:20190123093344j:plain

Humanoidリグの作成

アーマチュアオブジェクトはメッシュと同様に[編集モード]で編集が可能です。

ただし、ミラーモディファイアは利用できないため、編集の際には[X軸ミラー]機能を用いて片方の編集を両方に反映します。
[編集モード]でツールシェルフの[オプション]タブを開きます。
[X軸ミラー]の項目があるので、チェックを入れておきます。
f:id:bluebirdofoz:20190123093818j:plain

Rigify の人型リグと Humanoid リグは全く同じ形状という訳ではありません。
Unity に取り込んだ際のリグの関連付けで、この違いは吸収できますが、今回は作業の簡略化を優先します。
予め Humanoid リグと同じ形状にするため、修正を行います。

顔ボーンの削除

今回は表情をシェイプキーで作成する予定のため、顔のボーンは不要です。
face 以下のボーンを全て選択し、[Delキー]で削除します。
f:id:bluebirdofoz:20190123093830j:plain

不要なボーンの削除

Humanoid リグに不要なボーンを削除します。
・胸にある2つのボーン
f:id:bluebirdofoz:20190123093844j:plain

・腰にある2つのボーン
f:id:bluebirdofoz:20190123093855j:plain

・左右の踵にあるボーン
f:id:bluebirdofoz:20190123093928j:plain

・左右の掌にある4つボーン
f:id:bluebirdofoz:20190123093941j:plain

・頭部の最終ボーン
f:id:bluebirdofoz:20190123093959j:plain

これでHumanoidに対応したボーン構造が作成できました。
f:id:bluebirdofoz:20190123094014j:plain

次はボーンの位置をキャラクターに合わせていきます。
bluebirdofoz.hatenablog.com