見出し画像

【VRChat】Blender 4.3.0とUnityで非対応衣装を着せるための記事 (マヌカキプフェルの制作)

VRChatではアバターごとに体の形が違うため、衣装を売る際には「このアバターに対応した衣装です」という形でBooth等に売りに出されます。
自分の持っているアバターに対応している衣装であればUnityだけで簡単に着せることができるのですが、そうでない場合はサイズ調整を行って貫通等が無いようにする必要があります。

本記事では現時点(2024/12/01)での最新版Blenderである4.3.0を用いて、非対応衣装を着せる手順を説明しています。具体的にはマヌカの衣装をキプフェルに着せて、マヌカキプフェルを制作します。

目次


始める前の注意事項

最近では周辺ツールの発展により、Blenderを使用しなくても非対応衣装をある程度着せることができます。具体的には Modular Avatar の Scale Adjuster などを用いると、ボーンのサイズ調整で特定の部位のみのサイズを変更することができます。

また、タイトルにあるマヌカキプフェルを作りたいと思って来られた方は、ふーる雑貨店さんが以下のBooth配布物のおまけとしてキプフェル化Prefabを配布してくださっています。

2024/12/01 時点でマヌカを始めとする7アバターに対応していますので、そちらを利用すればUnityだけで簡単に着せることが可能です。こちらのPrefabは先述した Modular Avatar の Scale Adjuster を用いた対応を行っているようです。

以上を踏まえて、この記事は以下のような方にオススメできます。
・VRChat関連でBlenderを使えるようになりたい
・ポリゴンを詳細にいじって完成度の高い衣装対応をしたい
・Unityだけで対応を頑張ったが技術的な限界で上手くいかなかった

正直に言えば、わざわざ衣装をBlenderで対応させるのは覚えることが多くて面倒です。始める前にご自身の目標と合っているかどうか、他の方法はないかを事前に確認してください。

それでもなおBlenderを選ぶ方へ、一緒に勉強していきましょう。
よろしくお願いします。

0. 環境の確認

本記事では以下の環境で作業を行います。

・Blender 4.3.0
・Unity 2022.3.22f1
・(Unity) Modular Avatar 1.10.11
・(Unity) Avatar Optimizer 1.8.0 (素体のメッシュ削減に使用、素体を削る必要がないなら不要)
・(Unity) lilAvatarUtils 1.3.0 (Materialの一括置換に使用、手動の場合は不要)

特に Blender と Unity のバージョンが合っているかどうかを確認してください。バージョンが違う場合、ボタンの配置等が違う可能性があり、その場合は自力で同様の作業を行う方法を探す必要があります。

バージョン4以前のBlenderを使用する場合、そのバージョンに合わせた記事を既に有志の方が執筆して下さっていますので、そちらを利用するのが良いかと思われます。これらの記事には私も大いに助けられました。ありがとうございました。

Blender 2.93.13:

Blender 3.x:

1. Blender の設定とプラグインの追加

Blender を日本語で使いたい方はまず日本語化を行いましょう。以下の記事等を参考に実施してください。

また、シェイプキー (Unityにおけるブレンドシェイプ) を維持したままサイズを編集するために、以下のプラグインをダウンロードする必要があります。衣装に1つもブレンドシェイプが存在しない場合はこの作業は読み飛ばしても差し障りありません。

以下のURLにアクセスして SKkeeper の GitHub を開きます。

以下のような画面が表示されるので、zip ファイルをダウンロードします。zipファイルは解凍しないでください。Blenderへのプラグインの追加はzipファイルで行います。

v1.6 よりも最新版が出ている場合、Blenderのバージョンによってはそのバージョンを使用することが望ましい場合があります。

SKkeeper v1.6 のダウンロード

Blenderを開いて、画面左上の「編集」から「プリファレンス」を選択します。

Blenderの設定画面を開く

左の「アドオン」を押し、右上の下矢印から「ディスクからインストール」を選択します。

アドオンにおけるディスクからインストールを押す

その後、先ほどダウンロードした SKkeeper の zip ファイルを選択してインストールを行います。
正常にインストールされた場合、アドオン一覧に以下のようなSKkeeperの表示が追加されます。チェックボックスが入っており有効化されていることを確認してください。
また、念のためBlenderの再起動をすることをおすすめします。

アドオン一覧におけるSKkeeperの表示

2. アバター素体と衣装のデータを読み込む

Blenderでモデルデータを読み込むためにはモデルデータがなければなりません。基本的にBooth等で配布されているモデルデータはFBXという形式で配布されています。これをBlenderで読み込みます。

まずは Booth からダウンロードしてきたアバター素体や衣装のzipファイルの中に FBX ファイルがあるかどうか確認してみてください。無い場合はunitypackageをUnity上で展開して、それを利用する必要があります。前者は簡単なので、今回は後者の手順で進めます。

Unityプロジェクトが無い場合はVCCやALCOM等でUnityプロジェクトを作成します。既存のものを利用する場合でも、シェーダーやModular Avatarが導入されていることを確認してください。

アバター素体と衣装のunitypackageをインポートした後、そのFBXファイルがあるディレクトリを以下のように右クリックし、「Show in Explorer (エクスプローラーで表示)」を押します。

FBXのあるディレクトリをエクスプローラーで表示する

エクスプローラーではそのフォルダを選択した状態で開くため、そのフォルダをダブルクリックして開き、.fbx ファイルの場所を覚えておきます。

今回の例では Kipfel.fbx を確認する

ここからBlenderを起動します。最初に置いてあるカメラとキューブ、ライトはマウスで選択してDelキーを押して削除しましょう。

Blender起動後にキューブ等を消した画面

左上の「ファイル」から「インポート」にある「FBX」を押し、先ほど場所を確認した FBX ファイルを選択します。エクスプローラーからファイルパスをコピーしてくるのが早いと思います。

ファイル -> インポート -> FBX を選択
エクスプローラーからファイルパスを貼り付けし、fbxファイルを選択してインポートする

アバター素体および服の両方をインポートしてください。キプフェルとマヌカをインポートした場合は以下のようになっていると思います。

キプフェルとマヌカのFBXをインポートした場合の画面

右上にUnityにおけるヒエラルキーのような階層表示(Blenderではアウトライナー) があります。ここから衣装対応に関係のないオブジェクトを消しておきます。具体的にはアバターからデフォルトの衣装を消すのがメインになります。今回の例ではキプフェルの髪や服、マヌカの顔と体を消しておきます。

不要なオブジェクトを削除した状態

好みにもよりますが、編集中にテクスチャ表示しておいた方が見やすいため、ビューポートをマテリアルで表示する設定と、マテリアルのタブからテクスチャ設定を行います。設定したテクスチャを見れるようにするため、画面右上のビューポートの表示を「マテリアルプレビュー」に設定します。( マテリアル表示は重いため、パソコンのスペックに応じてこの設定は飛ばしても良いです。 )

ビューポートシェーディングをマテリアルプレビューにする

アウトライナー (ヒエラルキー) からテクスチャを変更したいオブジェクトを選択し、マテリアルタブを押してベースカラーの右にある黄色い丸を押します。オブジェクトごとに複数のマテリアルがある ( 画像の緑色枠 ) ことがあるため、複数ある場合はそれぞれについて以下の手順を行います。

マテリアルのタブからベースカラーを選択
画像テクスチャを選択

開くボタンが出てくるので「開く」を押し、テクスチャを割り当てます。割り当てるテクスチャファイルはオブジェクトごとに異なりますが、基本的にはマテリアル名と同じ png ファイルが割り当てられることが多いです。
今回の例における 「Manuka_costume」の場合は Unity で読み込んだアセット上の「./Assets/MANUKA/Texture/Manuka_costume.png」が選択するpngになります。分からない場合はUnity上でマテリアルのテクスチャを参照し、それを設定してください。

画像テクスチャを選択し、開くを押す

全てのテクスチャを設定すると以下のようになると思います。かなり見やすくなりました。次はサイズの変更を行っていきます。

テクスチャを設定し終えた画面

3. 衣装サイズの変更

衣装のアーマチュアを選択した状態で、画面左上からポーズモードを選択します。

ポーズモードへの変更

編集しやすくするためにボーンの表示/非表示を切り替えたい場合には、右上のアーマチュアにおける目のアイコンを押して無効化することで見えなくすることができます。素体のアーマチュアは非表示にしておいた方が見やすいと思います。Unityと違って子は独立して表示/非表示を切り替えることができます。

表示/非表示の切り替え

もしくは逆に全部表示したい場合、以下のチェックボックスでメッシュ越しでもボーンが見えるようにできます。

メッシュ越しのボーンを見えるようにする

ポーズモードに入ったらキーボードで「A」を押し、ボーンを全て選択します。

サイズを変更する前に、変更する際の基準点を設定します。今回は足元を基準としてスケール変更した方が都合が良いため「3Dカーソル」を選択しておきます。3Dカーソルはデフォルトで (0, 0, 0) に配置されており、これは基本的には素体における足元の座標になります。

トランスフォームピボットポイントを3Dカーソルに設定

この状態で大まかにサイズを変更します。ボーンを全て選択した状態で「S」を押すと、マウスでサイズ変更が行えます。サイズを合わせたらクリックで確定します。このとき、おすすめは素体の腕が衣装の腕に丁度合うように調整することです。

大まかにサイズを合わせる (腕の位置)

また、「G」を押すと位置を調整できます。調整中に X, Y, Z キーを押すことで、それぞれの軸でのみ動かせるようになります。今回の例の場合は若干服が後ろになっているため、「G, Y」キーを押して若干前に移動します。

大まかにサイズを設定すると以下のようになります。

腕の位置を合わせた状態

この状態だと髪の毛が顔のサイズに合っていなかったり、ズボンの位置が高い、ブーツのサイズが小さいなどの問題があるため、それらのボーンを個別に位置調整します。
このとき、サイズ変更の中心点をオブジェクトやボーンの中点にしたいため、上にある項目から設定を戻しておきます。

トランスフォームピボットポイントを中点に戻しておく

アウトライナーでHeadを選択することで、Headのボーンを選択できます。この状態で「S」を押してサイズ変更や位置調整を行います。

右上からHeadを選択することで Head のボーンのみを選択

Headの調整はもちろん、全体のバランスを見つつボーンのサイズをそれぞれ調整していきます。Hips等の子があるボーンのサイズを変更する場合、他のボーンも位置やサイズが変化してしまうため、全体のバランスが崩れないようにそれぞれ調整しながら進めます。

Hipsや足のボーンのサイズをある程度調整した結果が以下の通りです。

ボーンによるサイズ調整完了後

ブーツのサイズを変更するにあたって、ブーツの中の足はシェイプキー (ブレンドシェイプ) で無効化するため、Blender でも無効化しました。ちなみにUnityでは 0-100 ですが、Blenderでは 0-1 です。

シェイプキーで使用しない部分のメッシュをOFFにする

この状態でオブジェクトモードに戻ります。

オブジェクトモードに戻る

4. アーマチュアの適用

ボーンのサイズを変更した場合、それに紐づけられたメッシュのサイズも変更されています。この時、メッシュはあくまでボーンサイズの影響を受けて変化しているため、頂点の編集等に入ると元のサイズに戻ってしまいます。

これを防ぐために、現在のボーンによる影響をオブジェクトに適用した上で、再度ボーンにメッシュを紐づける必要があります。

アウトライナーで各衣装についてスパナのアイコンを押し、アーマチュアの下向き矢印から適用を選択します。

アーマチュアを適用する

このとき、以下のような「モディファイアーはシェイプキーのあるメッシュには適用できません」というエラーが表示されることがあります。この場合はインストールした SKkeeper プラグインによる適用を行います。

アーマチュアを適用できない場合のエラー

SKkeeperによる適用は、以下のようにアウトライナーで適用したいオブジェクトを選択した上で、「オブジェクト」における「Apply All Modifiers (Keep Shapekeys)」を押します。これによりシェイプキーがあるオブジェクトでもアーマチュアを適用できます。

SKkeeperによるシェイプキーがあるオブジェクトに対するモディファイアの適用

この作業を全てのオブジェクトに対して行うと、以下のようにすべてのオブジェクトからスパナが消えた状態になります。Armature の外に出てしまっているのは後から直せるため、出ていても出ていなくても問題ありません。

全てのオブジェクトでアーマチュアを適用した状態

これによりオブジェクトのサイズが現状のボーンのサイズに適用されましたが、アーマチュアとの連携が切れてしまったため、それを再度接続する必要があります。

以下のようにオブジェクトを選択し、「モディファイアーを追加」から「アーマチュア」を追加します。

アーマチュアモディファイアを追加

追加したアーマチュアのオブジェクトを、親の名前と同一にすることで適切なボーンと紐づけます。素体と衣装のどちらも armature 系の名前となっていることが多いため、間違えて素体のアーマチュアを選択しないように気を付けてください。

アーマチュアを再結合する

この作業を先ほどアーマチュアを適用した全オブジェクトに対して行います。適用すると、以下のようにサイズがおかしいことになりますが後の手順で解消するので問題ありません。

全てのオブジェクトにアーマチュアを作成した後の状態

このとき、Armatureの外部にまだオブジェクトが残っている場合は、外のオブジェクトを選択して内側にドラッグアンドドロップすることで内側に入れることができます。

オブジェクトをArmatureコレクションの中に入れる

アーマチュアを選択し、ポーズモードに入ります。その後、左上の「ポーズ」から「適用」の「レストポーズとして適用」を選択します。

ポーズモードに入る
レストポーズとして適用を選択する

これにより先ほど調整した状態にオブジェクトの位置が戻り、ボーンサイズの変更が完了できます。これにより先ほどポーズモードで見たような表示となります。メッシュのサイズ変更が完了したため、次はメッシュの頂点を変更しつつ貫通等を防止していきます。

現時点のBlender画面

5. メッシュの修正

頂点をいじる前の注意

ここで、服のメッシュをいじる前に、素体のブレンドシェイプで素体の一部を無効化することにより、貫通を防げないかを検討することをおすすめします。具体的には、今から例で挙げる肩の部分の貫通防止はブレンドシェイプで肩周辺を無効化することによっても回避できます。無駄な時間を溶かさないためにも、ブレンドシェイプによる対応も検討してみてください。

以上の注意を踏まえて、メッシュが貫通していたり不自然だったりする部分について、頂点を編集しながら修正していきます。今回は例として以下の肩の部分を修正してみます。

今回例として修正する肩の部分

修正にあたっては右上の方にあるビューポートシェーディングの変更やオブジェクトの表示/非表示を変更しながら進めると良いです。ビューポートシェーディングではワイヤーフレーム表示やソリッド表示なども利用でき、頂点編集の場合はこれらの方が編集しやすいことがあります。

ビューポートシェーディングの変更
オブジェクトの表示/非表示の変更

頂点を編集するにはオブジェクトを選択して以下のように編集モードに入ります。

オブジェクトを選択して編集モードに入る

その後、編集したい頂点を範囲選択等で大まかに選択します。このとき、移動する前に「プロポーショナル編集」を有効化します。有効化するには画面の上にある円形のマークを選択します。

移動させたい頂点を大まかに選択してプロポーショナル編集を有効化する

プロポーショナル編集を有効化すると、移動する頂点の周辺も同様に滑らかに移動してくれます。これにより形の崩壊をなるべく防ぎつつ頂点を移動することができます。

頂点は「G」を押して移動します。プロポーショナル編集では範囲を指定でき、これはマウスホイールで大小を変更できます。小さくする場合はマウスホイールを奥に回転してください。デフォルトの適用サイズは大きすぎるので、マウスを動かす前にホイールを奥に回して範囲を狭め、適切な範囲を指定してから移動します。
また、頂点を軸にそって移動したい場合は「G」を押してから「X, Y, Z」のキーを押すことで可能です。

頂点をZ軸にそって移動する工程

選択範囲を狭めつつ、メッシュが貫通しないように調整していきます。
あとはひたすら破綻が無いように頂点を動かしていくだけです。

メッシュの貫通が起こらないように頂点を移動して修正する

プロポーショナル編集を大きめの範囲で使ってると起きづらい問題ではあるのですが、以下のように頂点のズレによりテクスチャが歪むことがあります。マテリアルプレビューを利用して歪みがないか確認しつつ進めると良いでしょう。

頂点の歪みの修正

貫通を全て解決すると以下のようになります。どうしてもある程度は歪んでしまうため、どれくらい許容するかは編集にかける時間と相談しながら決めてください。

肩の貫通を修正した状態

この作業を全てのメッシュ貫通や違和感がなくなるまでやります。今回の例だとキプフェルには胸やお尻の凸が似合わないため、そこも平らにします。

また、服の位置を調整したことにより服の表面からリボンやアクセサリ等が離れてしまった場合は、「3.衣装サイズの変更」の工程をもう1度行い、リボンやアクセサリのボーンを正しい位置に修正する必要があります。このとき、アーマチュアのモディファイアの適用と再設定はその変更を加えたオブジェクトのみで構いません。その後、根本が遠い等の破綻が生じた場合はリボンやアクセサリの頂点を移動して適切な場所に修正してください。

この作業を満足するまで行います。私の環境におけるマヌカキプフェルだと最終的に以下のようになりました。

頂点の編集を終わらせた状態

6. FBXでエクスポートしUnityで読み込む

完成したデータをFBX形式でエクスポートし、Unityで取り込めるようにします。エクスポートには「ファイル」から「エクスポート」にある「FBX (.fbx)」を選択します。

FBXでエクスポートするボタン

エクスポートの設定では以下のように設定します。赤枠の部分が主にデフォルトから変更がある部分ですが、念のため全体を見て全て揃えることをオススメします。

エクスポート時の設定

Unityの画面に戻り、FBXのインポートを行います。作成したFBXを分かりやすい場所に配置するため、Assets等で右クリックし、「Create」から「Folder」を選んでフォルダを作成します。名前は何でもよいですが、「(Kaihen)」のように括弧を付けると一番上に表示されて便利です。

フォルダの作成

作成したフォルダにエクスプローラーからFBXをドラッグアンドドロップするとインポートされます。インポートされるとこのようにFBXがUnity上で読み込まれます。

Unity読み込まれた改変済みFBX

7. UnityでFBXを利用する

先ほどインポートしたFBXをアバター直下に配置します。

FBXをアバター直下に配置

Blenderから書き出したFBXには
・服 (今回はマヌカ) のアーマチュア
・服 (今回はマヌカ) のメッシュ
・素体 (今回はキプフェル) のアーマチュア
・素体 (今回はキプフェル) のメッシュ
が含まれています。このうち、下2つの素体関係のオブジェクトはBlenderで調整するために使用したため、Unity側では不要です。チェックボックスを外し、タグを Editor Only にしておきましょう。

FBXエクスポートしたオブジェクトについて
不要なオブジェクトのチェックを外して Editor Only に変更する

改変したFBXはマテリアルがデフォルトの物になっており、色合いがおかしかったり正常に表示されない等の問題が発生するため、マテリアルを修正する必要があります。それぞれのオブジェクトについて各マテリアルを手作業で設定しても良いのですが、今回のようにオブジェクト数が多いと面倒なため、ここでは lilAvatarUtils のマテリアル一括置換機能を使います。

「Window」から「_lil」を選択し「AvatarUtils」を選択します。

lilAvatarUtilsを開く

開いたら先ほどアバター直下に入れたFBXのオブジェクトをウィンドウに入れます。これによりその配下にあるテクスチャやマテリアルを見たり置換したりすることができるようになります。

lilAvatarUtilsで改変済みデータを読み込む

Materialsタブを選択し、Replaceの部分に置き換えるマテリアルを入れます。赤字になったら Apply を押すと置換されます。置換後はマテリアルが正しく適用され、シーンにおける表示も適切に変わっていると思います。

lilAvatarUtilsでマテリアルを置換する
マテリアル置換前(左)とマテリアル置換後(右)のシーンでの表示

Blender上でブレンドシェイプを適用することで頂点の改変をスキップした部分について、Unityでも同様にブレンドシェイプを適用して貫通をなくしておきます。

ブレンドシェイプを編集して貫通がないことを確認

また、服を追従させるために Modular Avatar での Setup Outfit を行います。この時、服のアーマチュアに対してMerge Armature コンポーネントが追加されていることを確認してください。アバター素体のアーマチュアに適用されている場合、服が追従しません。

MA Setup Outfit を実行する

アバター素体のアーマチュアに適用されている場合は、そのアーマチュアは使用しないので削除してしまって構いません。削除してから再度 Setup Outfit をすると、アーマチュアは服の物しかないため問題なく動作するはずです。

MA Merge Armatureが正しいボーン(服)に適用されていることを確認する

もしもメッシュが一部飛び出てしまっている場合、Avatar Optimizer の Remove Mesh by Box を素体に追加して、範囲指定でメッシュを削除します。

足の一部がはみ出ている状態
AAO Remove Mesh by Box を適切に設定した場合

概ねこれらの設定で服の破綻防止と追従等の設定が完了になります。一旦アップロードして見落としている貫通等が無いか確認しても良いでしょう。

8. PhysBone と PB Colliders の移植

FBXから読み込んだデータには PhysBone スクリプトが含まれていません。そのため服に揺れ物が設定されている場合、それらが全て揺れない状態となっています。

これを解決するためには PhysBone スクリプトを元のPrefabから移植してくる必要があります。温もりのある手作業でこれを行っても良いのですが、スクリプトが多いと面倒なため、今回は有志の方が作成した移行スクリプト (PhysCopy) を使用します。

上記BoothのURLからunitypackageをダウンロードし、プロジェクトに追加します。また、元の服のPrefabをヒエラルキーに追加しておきます。今回は服ではなくアバターなのでマヌカをヒエラルキーに追加しています。

ヒエラルキーにマヌカ(服のPrefab)を追加してPhysCopyを開く

PhysCopyのコピー元アバターの部分に服のPrefab、コピー先アバターの部分に今回作成したヒエラルキー上のFBXを設定し、オプションを以下のように設定した上でコピーの実行を行います。

PhysBoneによるコピー

場合によってはエラーが発生することがあります。今回もエラーが発生しましたが、これはBlenderでのFBX書き出しのタイミングでボーン名が変更されている (例えば Shoulder_L が Shoulder.L になっている) ことによるものです。これらはしょうがないので手作業でコンポーネントのコピーを行うか、宛先ボーン名をUnity上で変更して対応しましょう。

以下のボーンはコピーに失敗したか、参照コライダーの変更に失敗しました
  Armature/Hips/Spine/Chest/Shoulder_L/UpperArm_L/Manuka_shirt_root_L
  Armature/Hips/Spine/Chest/Shoulder_R/UpperArm_R/Manuka_shirt_root_R
  Armature/Hips/UpperLeg_L/LowerLeg_L/Manuka_shoes_ribbon_L
  Armature/Hips/UpperLeg_L/Manuka_pants_ribbon_L
  Armature/Hips/UpperLeg_R/LowerLeg_R/Manuka_shoes_ribbon_R
  Armature/Hips/UpperLeg_R/Manuka_pants_ribbon_R

PhysBoneのコピーとペーストを手作業で行う場合は以下のように行います。

PhysBoneのコピーとペースト

ここで注意なのが、「Root Transform」「Ignore Transforms」「Colliders」の3か所は、宛先のArmatureやPhysBoneを指定する場所であり、PhysBoneをコピーした場合この部分も完全にコピーされるため、参照先が後から消すPrefab宛になっています。

今回作成したFBX宛のアーマチュアやコライダーに対して宛先を変更しなければ、あとからPrefabを消した後にNoneになってしまい、期待通りの動作をしてくれません。PhysCopyを使った場合は適切に参照先が変更されますが、手作業の場合はされないため、忘れずに変更しておきましょう。

PBの手動コピーにおいて修正が必要な項目

PhysBoneとコライダーの移植が終わったら、コライダーのサイズと位置調整を行います。基本的に同じくらいのサイズの非対応衣装を着せている場合はこの手順は不要ですが、念のため確認しておくことをおすすめします。

コライダーは形、半径、長さ等のパラメータを使って当たり判定を制御していますが、大幅にサイズやメッシュへの変更を加えた場合、サイズが違いすぎたり位置がおかしかったりします。実際の例として、マヌカにおける腕のコライダーがキプフェルにおいてはズレてしまっています。

キプフェルに移植した PhysBone Collider がズレている例

コライダーを選択し、インスペクタから適切な値にします。その後、ヒエラルキー上の改変したFBXを押すことで、全体におけるコライダーの分布等を確認して違和感がないかを確かめます。

修正した PhysBone Collider の例
全体の確認

9. 確認とアップロード

Unity上でのPlayやオフラインテスト、アップロード等を行い、PhysBoneとコライダーが適切に動作するかを確認します。この時、場合によっては動いたときにPhysBoneが激しく振動するバグが起こることがあります。その場合はコライダーが干渉しているか、Armature のスケールが 0.01 等の極端に小さい値になっています。

前者の場合はコライダーの位置を調整するか、PhysBone の設定からコライダーを除去してください。後者の場合は Blender での対応が必要になります。

Blender上でアーマチュアを選択し、「オブジェクト」の「適用」から「スケール」を選択します。これによりアーマチュアのサイズが1として設定され、この状態でFBX書き出しを行うことによりPhysBoneの揺れが修正されます。

アーマチュアのスケールを1に設定する

FBXの更新はエクスプローラーで行ってください。Unity上で「Show in Explorer」を実行し、先に作成した「(Kaihen)」ディレクトリを開きます。エクスポートした .fbx ファイルがあるため、新しくエクスポートした FBX ファイルでそれを上書きします。

基本的にはUnity側でよしなに更新してくれるので、ヒエラルキー上のオブジェクトを再設定する必要はありません。ただし、アーマチュアのサイズが0.01から1になるので、その配下にあったコライダー等が100倍のサイズになっている可能性はあります。適宜確認しつつ修正を行ってください。

以上の手順で正常に動作すれば完了です。お疲れ様でした。

トラブルシューティング

範囲選択できない、カーソルが円になった

この状態は W キーを押すとなります。手癖で W 押す気持ちわかります。

マウスが円になって範囲選択できない状態

画面左にある以下のボタンを長押しするとこのようなポップアップが出てくるので、「ボックス選択」にカーソルを合わせた状態で離してください。

選択方法としてボックス選択を選ぶ

あとがき

こんなに長い記事を読んでくださってありがとうございます。
誤字や誤った情報、トラブルシューティングに追記して欲しい事象等がありましたら、遠慮なくX (旧Twitter) 等でご報告ください。

また、支援して下さる方はこの記事の有料部分をご購入いただければ励みになります。書いてあるのは感謝の文字だけです。

皆さんのVRChatライフが良いものになりますように。


ここから先は

80字

¥ 100

この記事が気に入ったらチップで応援してみませんか?