VR作業メモ

VRとかVRCとかアバター作成なんかの自分用の備忘録です

【備忘録】MeshBaker のVRchat用アバターへの適用方法

MeshBaker をVRChat用アバターへ適用出来るようになったので、忘れないようにポイントをメモ。最近、本当に物忘れが激しいのでヤバイのです。

 

MeshBakerをきちんと理解したわけではないので、間違いがある場合があります。
この文章はあくまで自分が作業を忘れちゃわないための物です。

※使い方間違っていたらご指摘お願いします。

 

 MeshBakerの基本的な使い方については、

bironist.hatenablog.com

 にわかりやすく解説されているので初めて MeshBakerを使われる方も参考になると思います。

ただ、こちらの記事はあくまでオブジェクトにMeshBakerを適用させるための物なので、この記事の内容のままではアバターへ適用できません。

 

MeshBakerをアバター適用させる解説記事は、

www.asset-sale.net

が参考になりますが、こちらの内容のままだと、統合したアバターをVRCにアップロードしても統合されたメッシュが表示できません。

メッシュが表示されない理由は、bironistさんの記事に答えが書いてあるのですが、VRChatアバターで使う場合は、メッシュをPrefab化する必要があるそうです。

 

なので、VRCharアバターへ適用させたい場合は、汗人柱さんの記事通り進めて、メッシュ統合の出力の部分だけbironistさんの記事のPrefab化の作業を行えばよい形になります。

 

作業の流れ

1.統合するオブジェクトを選定

2.テクスチャーとマテリアルを統合

3.メッシュの統合の設定および出力するPrefabの準備と出力先の指定

 

1と2の統合したいオブジェクトの選定とテクスチャーとマテリアルの統合作業については、bironistさん、汗人柱さんどちらの記事を参考にしてもかまいません。

3の作業については、bironistさんの記事の

統合したメッシュを保存するためのPrefabを作成する

の内容に従って統合したメッシュを保存するためのPrefabの準備を行います。

MeshBakerでメッシュを統合する

の内容に従って統合したものを作成したPrefabへ出力する設定を行います。

そしてアバターへ適用させる場合、は汗人柱さんの記事に書かれている以下の追加設定が必要になります。

 

Rendererを「Skinned Mesh Renderer」に変更する。

 

また、ブレンドシェイプを含む場合は

Include Blend Shapesにチェックを入れる必要があります。

 

Bakeボタンをクリックすると、Prefab及びHierarchyにある作成したオブジェクトの中に統合されたメッシュのオブジェクトが追加されます。

 

※上記の設定で統合すると統合メッシュだけでなくアバターのcloneも作成されます。

Hierarchy上の統合前のアバターは非表示にして、cloneと統合されたメッシュobjectを使って仕上げを行います。

cloneアバターの中の統合用にGameobjectにまとめたオブジェクトは非表示にします。

統合されたメッシュをcloneアバターの子として階層を移動させます。
統合されたメッシュのRoot Boneが指定されていないので、cloneアバターのHipsを指定します。

※統合されたメッシュにBodyなどを統合た場合は、統合されたメッシュ名をBodyします。(リップシンクや自動瞬きが動かなくなります)

 

Bodyを統合した場合、リップシンクのFace Meshの項目が外れてしまうので、統合して

名前をBodyにしたメッシュを指定します。

リップシンクの設定が外れていますが、そのままでOK

 

リップシンクの設定が空白になっていますが、これはブレンドシェイプを統合した際にブレンドシェイプ名をMeshBakerが変更してしまうからです。(変な数字が付きます)

ブレンドシェイプの名称変更を戻す作業が便利になるツールをHALBYさんが公開されている

halby.booth.pm

を使います。

※このツールはUniGLTFが入っていないと使えないので、環境にない場合は、UniGLTFも導入する必要があります。

 

使い方はツールを導入すると

HalbyAssetsというフォルダの中にRenameBlendShapes Inport Setteingsとうファイルが出来るのでこれを、Hierarchyのcloneの子に配置した統合済のBodyオブジェクトにドラック&ドロップします。

BodyをクリックしてInspectorを見るとRename Blend Shapes(Script)

が出来ているので、Regex欄にブレンドシェイプのお尻についてる数字をマイナスを頭に着けて記入します。(例:34132が付いていたら「-34132」と入力します。Rename!ボタンを押すとブレンドシェイプから余計な数字を削除してくれます。

ブレンドシェイプに余計な数字がなくなると、リップシンクの設定が自動的に登録されます。

ブレンドシェイプの名称を戻せたら、BodyのInspectorにあるRename Blend Shapes(Script)は削除しましょう。

※これが残っているままだとVRChatにアップロードできませんでした。