見出し画像

VRMをやってみた備忘録

こんにちは、未来の私。過去の私がこういうのを書いていなかったせいで三日ぐらい損したのでこれを書きます。今の私に感謝しなさい。

さて、まずVRMを触るに当たって必要な物は
・モデリング、ボーン、ウェイトペイント、テクスチャ、ブレンドシェイプ、トランスフォームの適用(ここ大事)が終わったモデルのFBX
・UniVRMのパッケージ
・UniVRMのパッケージに対応したバージョンのVRM
・やる気
です。がんばりなさい。

まずはVRMの公式ページを見に行ってVRMの最新版を取りに行きます。これを書いたときはVRM1.0が出たばかりで動作が不安定だったり公式が書いた解説からUIがかなり変わっててわかんなかったので0.XをDLしました。これを読んでるときは動作が安定してたり解説が更新されてたりするかもしれないので読んでみて。出来たら最新のやつでやって。できなかったら0.Xの一番新しいやつ使って。

DLしてきたらDLしてきたとこに書いてあった推奨環境のUnityバージョンでプロジェクトを作ります。多分プロジェクト組み上がるのに時間かかるからセットしたら風呂にでも入りなさい。

風呂上がったらAssets-Import packageからDLしてきたVRMのパッケージをインポートします。これもまた時間がかかるのでお茶でも沸かして待っていましょう。急いてもどうせ変わらないので。

インポートが終わったらようやくチクチク準備してたFBXの出番。FBXとテクスチャをUnityに突っ込みます。突っ込めたらHierarchyにモデルを置いて、まずはProjectのところからFBXのデータをクリックしてInspectorにFBXの情報を出します。

Model-Rig-Animation-MaterialsのうちのMaterialsの一番上をなんかよくわからんやつからStandardにして、LocationとTexturesの下にあるMaterialsを選択して、Materialsのフォルダーをエクスプローラー上に作ります。したらそこの下のOn Demand Remapって書いてあるところにテクスチャが入ってるマテリアルが生えてきます。あら便利。Applyを押して確定させて次の作業に移ってください。

そこからやることは、RigのAnimation typeをLegacyだかGenericだかからHumanoidにしてApplyを押す。するとAvatar Definitionの下にあるConfigureが点灯するのでボーンを正しく教えてあげる作業が始まります。だいたいはいい感じに当たってるんだけど、今やってるやつだと前髪が顎に当たってたり、イヤリングが目になってたり、中指の認識が第三関節じゃなくて手首の方に吸われてたりするので直してあげてください。

それから、モデルを作るときのデカい忠告です。VRMの規格の親指は手首と水平に伸びていて、前に向かって45度開いている状態がデフォとして定義されてるらしいです。人間のニュートラルな手の状態からしたらなんだそれですが、それが仕様らしいのでそれに合わせて手を作るように。昔の私はそれで確か五日くらい足止めされました。大変だね。

さて、正しいリグを教え終わったら今度はシェーダーを設定し直しです。HierarchyでもProjectでもいいけど、それぞれのマテリアルがあるのでそれをクリックしてInspectorに情報を出して、マテリアル名(Material)の下のShaderからStandardをMToonに変えていい感じに影の色味と裏表メッシュの表示設定、半透明設定などをしてください。Rendering typeが不透明か透明かの設定で、Cutoutは知りません。モデルが青くなります。Opaqueが不透明、Transparentが透明です。透明度はTextureのLit color/Alphaから透明度設定で変えればモノが薄くなります。いい感じに使って。上記の設定を頭の先から足の先までメッシュにやれば次のステップ。

ここで一旦設定していたモデルをVRMとして書き出します。は?顔動かんじゃんと思うかもしれませんがこれから設定します、安心なさい。
VRM0のExport VRMってのを選んで、作品名、バージョン、色んなライセンス、サムネの設定をしてVRMとして書き出してください。

VRMとして書き出したモデルをドラッグアンドドロップでProject内に入れ込んだら、まずはブレンドシェイプの設定をします。HierarchyかProjectのVRMモデルからAdd ComponentをクリックしてVRM Blend shape proxyを追加して、Blend Shape AvatarをVRMモデルにくっついてきたBlendshapeの...…これはなに?設定画面みたいなやつにしてください。

設定出来たら、ProjectのVRMにくっついてきたBlendShapes(Deafault Asset)のBlendshapeを開いて(これはさっきBlend shape proxyに設定したやつ)表情を当てていきます。地味だけどテンション上がる作業です。表情が付いて生きてる感じがするよね...…

ブレンドシェイプの設定が終わったら、Look at(目のコントロール)を設定します。今回はブレンドシェイプで目をコントロールするのでVRM Look at HeadとVRM Look at BlendShapeApplyerをAdd componentから選んで追加します。これは設定をいじらなくてもOK(多分)。他にボーンでコントロールするパターンとテクスチャでコントロールするパターンがありますが、それはやったことないのでそんときに研究してください。

他にスプリングボーンという揺れモノ設定があるらしいですが、今回はやってないので備忘録に書きません。これもそんときに研究してください。

さて、これで一通り設定が終わったはずです。いかがでしたか?(不安になる一言)過去の私はトランスフォームのフリーズとかトランスフォームの適用とかいう概念を知らなかったのでトラッキングソフトで動作確認したときに身体が圧縮されました。ちゃんとモデルの原点を一か所にしようね...…

そして未来の私ではないVRMの知識を探し求めてここに来られた方、なんとなく流れを解ってもらえましたでしょうか?これはVRC用ではないので視線の位置設定とかコントローラーで出せる表情差分の作り方は私はよくわかんないですが、それ以外はなんとな~くわかってもらえたら嬉しいです。

それでは~


この記事が気に入ったらサポートをしてみませんか?