vrmファイルをBlenderでちょこちょこ修正したんだけどvrmとしてexportしても、マテリアルが反映されず、ボーンの追加も、揺れ物設定も結局は、Unityを使う必要があるらしいので、Unityで修正作業をしていく。備忘録です。間違いがあるかもしれません。
vrmファイルをもらってBlenderで編集したのだが、マテリアルは剥がれるし、ボーン追加したけど、揺れも設定項目がわからない。
調べていくとUnityを使う必要があるらしいので
BlenderとUnityを使っていく。
モデルの改変、配布、商用等確認して利用してください。
今回は元々ちゃんと設定されているvrmモデルをBlenderで修正して、再度vrmキャラとして、使えるようにします。
結局のところvrm->fbx->vrm->vrmとなっています。
最後のvrm->vrmは一度vrmとしてエクスポートして、vrmをもう一度インポートする必要があります。
揺れ物、表情不要の場合は最後の再インポートは不要です。
Blenderでプラグイン等をインストールし、FBXでエクスポートします。
プラグインをインストールし、有効化にします。
インストール方法がわからない場合は、公式をご確認してください。
vrmをインポートできない場合pluginのバージョンが古いかもしれません。最新バージョンに上げてください。
モデルにもよりますが、vrmのテクスチャーデータがインポートされた時に画像ファイルとして生成されるようなので、まず、blenderを名前を付けて保存してください。その後vrmをインポートします。テクスチャー画像はblenderのプロジェクトフォルダーに生成されます。
なんだかんだとモデルを修正し、FBXとしてエクスポートします。
全てをエクスポートするでもいいけど、事故が多いので、エクスポートするメッシュとボーンの2種類を選択してエクスポートします。
copyとすることでテクスチャーもexportされるはずなのですが,できないものもあるので...そこはまぁ置いといて,FBXファイルのエクスポートします。次にUnityの設定です。
Unity側でもvrmファイルを扱うためにパッケージをインストールします。UniVRM
とりあえずLatestとなっているもののUniVRMをダウンロードすれば大丈夫です。
プロジェクトを作成後、先ほどダウンロードしたVRM-〇〇.unitypackageをインストールします。
ぽちぽちクリックしてインストールしていきます。
ColorSpaceをリニアに変えます。上でAccept Allを押すとリニアになっています。
リニアになっていない場合は変更してください。
最後にこのタブにvrmが表示されていればインストールされています。
Texture関係も同様にUnityに追加してください。
ドラックアンドドロップだけなので簡単です。
FBXでインポートしたモデルのマテリアルを抽出します。
1.FBXモデルを選択し、Materials->Extract Materialsをクリックします。
2.そのままフォルダの選択をクリック
3.同じフォルダに抽出されたマテリアルが出来上がります。
materialを選んで、Albedoに適切なテクスチャーを貼ります。
テクスチャーを貼り終えたらマテリアルのシェイダーを変更します。
ボーン、リグの設定をします。
モデルを選んで、リグの種類をHumanoidに設定適用します。
ここまで来たら一度vrmとしてエクスポートします。
先ほどエクスポートしたモデルをUnityで再度インポートします。 インポートしたら表情の設定、揺れ物設定をしていきます。
表情の設定はblendshapesというフォルダー内に色々入っているのでここで設定ができます。
今回は元々のvrmモデルがある前提なのでその値をそのままコピーしてきます。
オリジナルのモデルをインポートし、その中のBlendShapesの値をそのまま使います。
これはオリジナルのモデルが表情設定されている前提で行っています。
ちゃんと動くブレンドシェイプをVRM Blend Shape Proxy(script)に設定するだけです。顔のポリゴンが変わってしまっている場合はできない場合は手動で、表情を設定する必要があります。
オリジナルのBlendShapeを今回新しく作成した、haru-vrm1のVRM Blend Shape Proxy(Script)に設定します。
揺れ物はsecondaryというものを使います。
vrmを再インポートし、Sceneに追加するとHierarchyに自動で追加されています。
同じ揺れ具合で良い場合はルートボーンに複数追加し、
揺れ具合を別々に分けたい場合はsecondaryを複製すればできます。
こっちのようにするのが正解みたいです。
揺れ物のパラメーター調整は バーチャルキャスト公式wikiにあるので参照ください。
揺れの調整ができたら最後に
Playボタンを押して、モデルを選んでギズモードを動かせばテストができます。
VRMを修正するのにはBlender->Unityを介する必要があり、vrmをエクスポートと再度インポートし、揺れ物やモーフを調整した後に完成形をエクスポートする必要があることが分かった。
表情のモーフに関しては同モデルの場合使いまわしができることも確認ができた。
質問や、間違いがありましたら、お気軽にどうぞ
※お名前とコメントの内容を入力してください。
※全てこのブログ上に公表されます。
※許可なく管理者によって修正・削除する場合がございます。 詳しくはプライバシーポリシーを参照ください