#動機・目的
VRoidで作ったモデルをVRChatで使おうとしたらポリゴン数が多くて使えなかった…よし、Blenderでポリゴン数を減らしてfbxに出力してUnityで読み込もう!ってした人いますよね。僕です。そうすると、テクスチャが全部剥がれててつけようにも名前がわからん無理!諦めた!ってなる人いますよね。僕です。
そんな人にちょっとだけ楽になる解決策を提示しようと思います。
最近知ったのですが、どうやらblendファイルを直接Unityにインポートできるらしいのです。今回はVRMをBlenderにインポートして、blendファイルをVRChatに持って行く方法をまとめました!
#メリット・デメリット
###メリット
- 勝手に追加されるマテリアル名と元のマテリアル名が一緒で間違えることがない
- UnityからBlenderを開くと、Blenderで編集したものがすぐに反映される(後述)
###デメリット
- VRM独自の設定がなくなる
- テクスチャをつける手間はかかる
###まとめると
変更せずにそのままVRChatでつかうなら、VRM Converter for VRChatが最強
Blenderでポリゴン数削減やその他色々行うならfbxにするより便利
#手順
##準備するもの
- vrmファイル
- Unity
(ver 5.6.3p1)(ver2017.4.15f1) - Blender
- VRChat SDK(VRCSDK)
- UniVRM
- VRM_IMPORTER
##環境準備
Unityで新しいプロジェクトを作ります。VRCSDKはUnity ver5.6.3p1しか対応してないので
新しく、Unity ver2017.4.15f1対応となりました!そのバージョンのUnityを使いましょう。ダウンロードはこちらからできます。ちなみに、このサイトではUnity Hub内からダウンロードできないバージョンもダウンロードできます!便利ですよ~
できたプロジェクトにUniVRMとVRCSDKをインポートしておきます。
次にBlenderでVRMを扱うためにBlenderにアドオンを追加します。
ここからのBlenderは日本語で扱います。日本語化の方法はこちらを参考に。
ダウンロードしたVRM_IMPOTERはzipファイルのまま扱います。
ファイル→ユーザー設定→アドオンを開きます。
ファイルからアドオンをインストールを押して、zipファイルのVRM_IMPOTERを選択します。
テスト中の中にあるVRM_IMPORTERをチェックします。
インポートでVRMが選択できるようになっていれば成功です。
##Blenderでの操作
###BlenderにVRMをインポート
VRM_IMPORTERによってインポートにvrmが追加されてるのでインポートしましょう。元からあるブロックは消しちゃってください。
###ポリゴン数削減
メインではないので割愛します。
このサイトがとてもわかりやすいです。
###[重要]モデルを回転
このまま保存してVRChatまで持って行くと、目の位置がおかしいことになります。(経験談)
原因は、UnityとBlenderの軸の向きが違うからです。
なので、Blender内でモデルを回転させましょう。
Unityに持って行った時にこの向きを向いていれば成功です。
こうなるように回転させましょう。自分はz軸で270°回転させると成功しました。
##Unityでの操作
###blendファイルとvrmファイルをインポート
両方assetsに入れるだけで大丈夫ですが、vrmファイルはそれ用のファイルを作った方がいいと思います。あとで不要になった時に削除しやすいので。
###boneの設定
blendファイルを入れてできたモデルを選択します。
まずはRigのAnimation TypeをHumanoidに変更します。
次にUpperChestのboneがついてるとエラーを吐かれるので、boneの設定をいじります。
configureを押して編集画面に移行します。
Chestの部分にJ_Bip_C_UpperChestを入れて、UpperChestはNoneにします。
できたらDoneを押してApplyしましょう。
###マテリアル名通りにテクスチャをつける
blendファイルをHierarchyに入れてから、マテリアルの設定をします。
マテリアルが勝手についてますので、同じ名前のものをVRMをインポートした時に生成したマテリアルに変えてください。めんどくさい…
###VRChat用の設定
ここからは普通のVRChat用設定と同じです。
このサイトがわかりやすいです。
設定をしてbuiltまでやっちゃいましょう。
###完成!
#Unity×Blender
メリットでも少し書きましたが、blendファイルを編集すると新たに読み込む必要もなく変更が反映されます。
ヒエラルキー内のモデルからOpenを押すと勝手にBlenderが立ち上がります。そこで変更を加えて保存すると、その変更がUnity上で反映されます。
髪だけ分割させて扱いたい!って思いついた時など、意外と便利なので利用してみてください!
#最後に
無料でここまで環境が整ってる世界すごいですよね!!!
みんなもVRChatという新たな世界にオリジナルアバターで参戦しましょう!