【VRChat】くろちゃん(分霊)モデル アイトラ化計画!!(Blender+Unity)

スポンサーリンク




こんにちは~!!
ケーキです♪

今回の記事ではバリバリBlenderとUnityを触っていきますよ!!
とは言ってもなるべく手順通りいやれば誰でもできるような感じにはしていきます(頑張ります。。。)

タイトルの通りなのですが、【All_Alone_Connect】Projectにより制作されました”くろちゃん(分霊)モデル”に
VRChat内で使用できるアイトラッキング機能を追加改変をしていこうと思います!!

本記事では割と画像多め手作業多めで、他に簡単な方法(CATSを用いたもの)もあるかもしれませんが、Blenderの触り心地も含め一緒にやっていきましょう。

くろちゃん(分霊)モデルとは

くろちゃん(分霊)モデルとは、
【All_Alone_Connect】Project くろちゃんのおじさん様により制作され、2018年6月30日よりニコニ立体で配布が開始されました和風けもみみ狐娘モデルのことです。

なんとこんなハイクオリティで可愛い狐娘が無料で配布ですって、、、
いったいどうなっているのじゃぁ・・・

配布場所は以下のリンク先になります。
ニコニ立体 – 【All_Alone_Connect】第0弾☆くろちゃん(分霊) –

使用される場合は利用規約をよく読み正しく使用させていただきましょう。

アイトラッキング(Eye tracking)とは

通称アイトラと言われております。
この機能はアバターにある目に対応したボーンとシェイプキーを用意することで、VRChat内で瞳を動かして相手を追視する機能のことである。(瞳の挙動は制御不能、ほぼ勝手に見まくる)

上で書いたボーンは目の挙動域、シェイプキーは瞬きなどの役割を果たしている。
後ほどBlenderにて各種設定をしていきます。

~Blender作業編~

ではここからはBlenderを使ったモデル改変作業を進めていきます。
なるべく細かく進めていきますので飛ばすと分からなくなる可能性もあるので、ゆっくりやっていきましょう。

まだBlenderをインストールしてないよ!!という方は、以下の記事を読みながらインストールをおすすめします。
【Blender】モデラーへの第一歩!! Blenderインストール~初期設定

立ち上げ~モデルインポート

ますは必要なものを上げます。
先ほどご紹介させていただきましたくろちゃん(分霊)モデルをダウンロード・解凍した中に入っている.blendファイル(こちらBlenderのモデル情報が入っているもの)

こちらをBlenderで開いて作業を進めていきます。

では早速Benderを立ち上げていきましょう。

①Infoエディター内から「ファイル」→「開く」を選択(ショートカットキー”Ctrl+O”)
②くろちゃん(分霊).blederファイルを選択(私はドキュメントにblendファイルだけをコピーし移動しました。)
③「blenderファイルを開く」を押す

以下のような画面になれば読み込み完了です。

読み込めましたら一度新しい名前のblendファイルを保存をしておきましょう。
④Infoエディター内から「ファイル」→「名前をつけて保存…」を選択(ショートカットキー”Shift+Ctrl+S”)
⑤分かりやすい名前をつけましょう(私は末尾に”Eyetra”とつけました)
⑥「blenderファイルを別名で保存」を押す

以降はなるべくこまめに上書き保存(ショートカットキー”Ctrl+S”)をしましょう。

顔のメッシュ(オブジェクト)結合

アイトラを利用する際には、モデルの顔のメッシュに目のメッシュが入っていないと動作しません。
くろちゃん(分霊)モデルも場合、顔と目のメッシュが分離しているため結合する必要があります。

ここでの作業は、アイトラを利用する際に必要な目のメッシュを顔のメッシュに結合をします。

①Blender上のアウトライナー(赤枠)から”Bip_kuro_Ctrl”のツリーを展開
②ツリーの中から”Face_Mesh”を左クリックで選択
③同じくツリーの中から”Face_Eye_Mesh”をShift+左クリックで選択

上記を行い両方が選択されていることを確認したら
④3Dビュー内の「オブジェクト」→「結合」を選択(ショートカットキー”Ctrl+J”)

⑤結合してできたメッシュの名前を「Body」に変更

ボーンの調整(ロール値)

(これはやってもやらなくてもOKですが、やった方がUnityにインポートした後の作業が楽になります。)

Blenderではモデルの読み込みの際にボーンの位置や軸方向がズレる場合があります。
今回、くろちゃん(分霊)モデルでも多少の軸方向がズレていたので調整しておきます。

まず始めにボーンを見やすくするための設定をします。
①アウトライナーから”Bip_kuro”を選択
②3Dビューの下にあるモードを”オブジェクトモード”にする
③3Dビューの下にある「オブジェクト」→「適用」→「回転と拡縮」を選択
④出てきた”オブジェクトのトランスフォームの適用”の3つともにチェックを入れる

⑤アウトライナーから”Bip_kuro”を選択(右側に骨マークがついてるやつ)
⑥プロパティエディタ内の”データ”を選択(人型マークのやつ)
⑦少し下にスクロールし、”八面体”を選択、”レントゲン”にチェックを入れる

⑧アウトライナーで”Bip_kuro”を選択した状態で3Dビューの下にあるモードを”編集モード”にする
⑨3Dビュー上のモデルに付いているボーンを全選択(ショートカットキー”A”)
⑩3Dビュー内でショートカットキー”Alt+R”を押し、ボーンのロール値を0にする

ロール値変更前と変更後のボーン軸向き比較画像

またHead(頭)のボーンが若干傾いているのもあるのでそこを修正します。
⑪”Head”のボーンを右クリックで選択
⑫トランスフォーム内”テール”の”X”,”Y”の数値を”ヘッド”の”X”,”Y”と同じにする

ボーンの追加

アイトラで使用するためのボーンを追加します。

ボーンを追加するための設定をします。
①アウトライナーから”Bip_kuro”を選択(右側に骨マークがついてるやつ)
②3Dビューの下にあるモードを”編集モード”にする
③ツールシェルフ内「オプション」→「X軸ミラー」にチェックを入れる

④マウスの中(ホイール)クリックで見る角度を変え、”Head”ボーンのテール側を選択する
⑤テンキーもしくは数字キーを押しモデルを正面を向かせる(私の場合は数時キー”3″)
⑥”Shift+E”で新たなボーンを作成、テキトーな位置で左クリック(X軸ミラーONのため左右に作成される)

⑦アウトライナーの”Bip_kuro”のツリー構造を広げていき、”Head”内にあるBip_Head_L(R)の名前を変える
 Bip_Head_L → LeftEye , Bip_Head_R → RightEye

⑧LeftEye(or RightEye)のボーンを選択
⑨プロパティエディタから”ボーン”を選択
⑩下にスクロールし、”接続”のチェックを外す

⑪両方の目のボーンを動かす(位置は大体眼球の根本部分、ボーン位置と数値をご参照ください)

ウェイトペイント

先ほど作成した目のボーンのウェイトペイントをしていきます。
これをすることでボーンの動きに対して瞳が動くようになります。

①アウトライナーから”Bip_kuro”を選択(右側に骨マークがついてるやつ)
②3Dビューの下にあるモードを”ポーズモード”にする

③アウトライナーから”Body”を選択する
④3Dビューの下にあるモードを”ウェイトペイント”にする
⑤3Dビュー内で”Z(ゼット)”を押し、メッシュの表示を変える

⑥目のボーンを選択します(左右どちらでもよい)
⑦3Dビュー下の”ペイントマスク用の面選択モード”を選択
⑧モデルの頬あたりにマウスカーソルを持っていきショートカットキー”L”を押す
⑨ショートカットキー”H”を押し、選択されている面を非表示にする(再表示したい場合は”Alt+H”)

⑩”L”で面選択、”H”で非表示を使い、瞳とハイライト以外を非表示にする
⑪最初に選んだボーン側の瞳・ハイライトを”L”で面選択する
⑫ツールシェルフ内のブラシ”ウェイト”を1.0にし、⑪で選択した面を左クリックで塗っていく
⑬終わったら反対側のボーンを選択し同じ容量でペイントしていく

ウェイト合成

くろちゃん(分霊)のボーン構成ではChest(胸)のボーンが二つあります”Bip_Chest”と”Bip_Upper_Chest”
アイトラ用のボーン構成上、Upper_Chest側はいらないので削除する必要があります。
ですが、ただ削除するとボーンに乗っているウェイトも消えてしまいますので、Upper_Chest側のウェイトをChest側に結合(合成)する作業を行います。

①アウトライナーから”Bode_Mesh_001″を選択する
②3Dビューの下にあるモードを”オブジェクトモード”にする
③プロパティエディタから”モディファイア”(レンチマーク)を選択し、”追加”を押す

④”追加”を押し、出てきたリストから”頂点ウェイト合成”を選択する
⑤プロパティエディタに出てきたモディファイアに設定をしていく
 頂点グループA”Bip_Upper_Chest” , 頂点グループB”Bip_Chest” , ミックスモード”追加” , ミックスセット”全て”
⑥上記設定ができたら”適用”を押す

ボーン削除

ここではウェイト合成でいらなくなった”Bip_Chest”の削除と、”Bip_Upper_Chest”の位置調整を行います。

①アウトライナーから”Bip_kuro(骨)”を選択する
②3Dビューの下にあるモードを”編集モード”にする
③3Dビュー内の”Bip_Chest”を選択
④プロパティシェルフ内の”ヘッド”の数値をメモする(後で使います)
⑤ショートカットキー”X”を押し”ボーンの削除”で”Bip_Chest”を削除する

⑥3Dビュー内の”Bip_Upper_Chest”を選択する
⑦プロパティシェルフ内の”ヘッド”に先ほどメモした数値を入れる

ボーン名称変更

アイトラにするにあたり、目のボーンまでの名前を揃えないといけません。
くろちゃん(分霊)モデルは、ボーン名称の前に”Bip_”がありますがそれを削除変更すればいいです。

①アウトライナーの”Bip_kuro(骨)”のツリーを開き名称を変更していく
 変更していく箇所は以下の通り

これでアイトラで使用する最低限のボーンは完成です。

シェイプキーの修正

アイトラでは瞬きのためのシェイプキーを用意する必要があります。
また、くろちゃん(分霊)モデルはBlender読み込み時にシェイプキーの順番がおかしくなることがあるので、後々見やすくするために修正をかけます。

まずはシェイプキーの修正から進めていきます。

①アウトライナーから”Body”を選択する
②プロパティエディタから”データ”を選択する
③シェイプキーから移動修正したいものを選択する
④上下ボタンを押しシェイプキーを移動する
※シェイプキーにある”Basis”は一番上に置くこと

シェイプキーおすすめ順番

シェイプキーで頂点変更情報が入ってないものはUnity上にインポートした際に消去されてしまう。
くろちゃん(分霊)モデルには”VRC.v_sil”がそれにあたるため、Unityで消去されない対策をします。
⑤”VRC.v_sil”を選択し、右の数値を1にする
⑥3Dビューの下にあるモードを”編集モード”にする
⑦3Dビュー内で”Z(ゼット)”を押しワイヤーフレームモードにする

⑧3Dビュー内でホイールスクロールをして拡大、舌の中の頂点を選択する
⑨トランスフォーム内の頂点”Z”の数値を少しだけ上げる

⑩3Dビューの下にあるモードを”オブジェクトモード”にする
⑪3Dビューの下にあるモ陰影処理を”マテリアル”にする
⑫”VRC.v_sil”を選択し、右の数値を0にする

シェイプキーの追加

ここではアイトラに必要なまばたきのシェイプキーを作成していきます。

①シェイプキーの中の”Eye_CloseB_L”を選択し、右の数値を1にする
②シェイプキー横の▼マークを押し、”新シェイプをミックスから作成”を選択する
③新しくできたシェイプキーの名前を”vrc.blink_left”に変更する

④シェイプキーの中の”Eye_CloseB_L”を選択し、右の数値を1にする
⑤シェイプキー横の▼マークを押し、”新シェイプをミックスから作成”を選択する
⑥新しくできたシェイプキーの名前を”vrc.blink_left”に変更する
⑦シェイプキーの中の”Eye_CloseB_L”を選択し、右の数値を0にする

反対の右側も”Eye_CloseB_R”を使用し”vrc.blink_right”,”vrc_lowerlid_right”を作成しましょう。

●vrc.blink_left
●vrc.blink_right
●vrc.lowerlid_left
●vrc.lowerlid_right
上記の4つが揃ったらシェイプキーを”Basis”の下に移動しましょう。

モデル階層の変更

ここではアイトラを使用するためのモデル階層の変更を行います。

①アウトライナー内の”Armature”をドラッグ&ドロップする
②アウトライナー内の”Bip_kuro_Ctrl”は削除してよい

上記の変更をすると3Dビュー内のアバターの大きさが変わるので修正していきましょう。
③アウトライナー内の”Armature”を選択する
④トランスフォーム内の数値を画像のようにする

モデルのエクスポート

最後にモデルのエクスポートをしていきましょう。

①アウトライナー内のメッシュ類をクリックしていき全選択
②メッシュ類の後にボーンを選択(Shift+左クリック)

③Infoバー内「ファイル」→「エクスポート」→「FBX」を選択
④エクスポート内のタブ設定を画像を参考に設定しましょう

⑤設定が終わったらモデル名を決め”FBXをエクスポート”を押す

お疲れ様でした!!Blendetの作業はこれで終了です!

後はUnityへ移行します。

~Unity作業編~

モデルのインポート

Unityのプロジェクト作成・必要コンポーネント(SDKなど)の導入は済ませておいてください。
(今回は割愛させていただきます。)

ではモデルのインポートを進めていきます。
①BlenderでエクスポートしたFBX(モデルファイル)をUnityの任意のフォルダにドラッグ&ドロップする(私の場合Model_Kuro)

②Project内で右クリック「Create」→「Folder」でマテリアル用フォルダを作成する
③モデルを選択し、右側Inspector内の”Material”→”Extract Materials…”を選択
④出てきたウィンドウで、先ほど作成した”Materials”フォルダを選択し、”フォルダーの選択”を押す

モデルのリグ設定

ここではインポートしたモデルのリグ設定を進めていきます。

①インポートしたモデルを選択、右側Inspector内の”Rig”を選択する
②”Rig”内の設定をしていく
 Animation Typeを”Humanoid” → 一番下の”Apply”を押す → “Configure…”を押す

③Inspector内に新たに出現したウィンドウにて、対応したボーンが各種入っているかの確認する
④Head内にある”Jaw”はNoneにする、また両目のボーンも正しい位置に入っていることを確認する

⑤設定が終わったら”Done”を押す(後出てくるウィンドウではApplyを押す)

モデルのマテリアル

まだ真っ白(テクスチャが設定されていない)くろちゃん(分霊)モデルに色をつけていきます。
改変したテクスチャがあればそちらを使用してもらっても構いません。

①先ほど作成したマテリアルフォルダを開き、そこにくろちゃん(分霊)モデルを解凍したとき同梱していたテクスチャ4枚をドラッグ&ドロップする

②マテリアルを選択し、右側のInspectorの”Albedo”にテクスチャをドラッグ&ドロップ(対応表は画像ごらんください)
また、シェーダーによっては設定方法は異なる場合がございます。

③モデルを選択し、Hierarchyにドラッグ&ドロップする

Hierarchyのくろちゃん(分霊)モデルの”Face_Hoho_Mesh”は非表示にしておいた方がよいかも

アップロード設定

これが最後の設定です。

①Hierarch内のくろちゃん(分霊)モデルを選択し、Inspector内から”Add Component”を押す

②検索欄に”vrc”と入力
③出てきた中の”VRC_Avatar Descripter”を選択

④視点球の位置を調節する

⑤Default Animation Setを”Male”→”Female”に変更する
⑥Lip Syncを”Default”→”Viseme Blened Shaoe”に変更する
⑦Face MeshにHierarchyの”Body”を入れる
⑧Lip Syncに対応したシェイプキーを入れる

アップロード・確認

大変お疲れ様でした!!
実際にアップロードしてアバターを確認してみましょう!!

静止画じゃ分かりずらいですが、ちゃんと瞳が動いております!!!
リップシンクもちゃんと動いているので導入成功です♪♪
(つらく長い道のりでした・・・)

最後に

とてつもない長い内容に対して最後まで読んでいただきありがとうございます。

このアイトラの方法ですが、ボーン構成とシェイプキーをしっかりすれば他アバターでも使用できると思います。

きっともっと簡単な設定方法もあったはず・・・(CATSとかCATSとかCATSとか・・・)
まぁ、でもこれでBlenderの触り方は少しは身に付いたでしょう(前向き)

とりあえず今回はここまで!
ではでは次の記事で~

ありがとうございました~♪♪

スポンサーリンク