見出し画像

【VRMをもっと素敵に改造しよう#01】

『#01:VRMをいじるためのベースになるUnityプロジェクトを作ろう』
※この記事は2022年3月に作成しました

~序~

VRoidStudioで作成したキャラクターアバターはエクスポートしてVRMというフォーマットの3Dアバターファイルにできます
VRMはVRoidHubなどのサービスを利用して様々なゲームやアプリで使用できたり、ゲームやアプリに直接インポートしたりして作成したキャラクターアバターで遊べたりします
これからもプラットフォームやサービスや用途はどんどん増えていくと思います
VRoidStudioは正規版になりこれまでと比べより細部まで設定ができたり衣装の重ね着ができたりと表現が増えたりとしました
それでもVRoidStudioというエディターの範囲内のことしかできない
そこでこのVRMの改造や編集ができたらいいなと思いませんか?
例えばしっぽを付けたり胸元や腰にふわふわ揺れるおっきなリボンを付けたいとか
(※2022年3月の段階ではまだアクセサリーなどは少ない)
プロポーションやディフォルメの具合が自分好みではないのでもう少し盛り上げたいとか平らにしたいとか
エディターで作成したアバターだけど世界でたった1つの自分だけのVRMに改造することができる
でもUnityとかBlenderは難しそう?とか思っていたりすると思います
この記事はそれらをできる限りざっくりと必要な部分を抽出し、難しくないように画像を多めにして解説していこうというそんな記事です

~新規プロジェクトの作成~

なにはともあれまず始めにUnityのプロジェクトを準備します
Unityはゲームを作るのに使われているゲームエンジンです
ゲームを作るゲームエンジンなのでゲームに使用する画像や3Dオブジェクト素材(アセットと言われたりしている)はだいたい何でも扱えるのでVRMもUnityでセッティングやエディットできます
今回はUnityでVRMをインポートしたりエクスポートしたりできるプロジェクトを作るところからやりたいと思います
Unityのインストールからユーザー登録して使える様になるところまでとかのレクチャーが欲しいという要望があればまた別途作りたいと思います
【補足】
要望があったので作成しました

まずはUnityの下ごしらえをします
使用するUnityのバージョンなのですが私があれこれいろいろやってVRM改造で安定して使えてるバージョンが2019.4.31f1になります
このバージョンにUnityを使いたいので手に入れましょう
Unity Archiveのページを開きます

ページ内にある『Unity 2019.x』をクリックしてページを移動しますしたにスクロールしていき『2019.4.31f1』の右隣にある緑色の『Unity Hub』をクリックしてUnityHubを開きインストールしてください
ページを下にスクロールしていき『2019.4.31f1』の右隣にある緑色の『Unity Hub』をクリックしてUnityHubを開きインストールしてください

4BG以上あるのでインストールには時間がかかります

インストールが完了しました(´ω`)

インストールが出来ればUnityHubの右上の『新しいプロジェクトの作成』をクリックしてプロジェクトを作成します

バージョンはインストールした2019.4.31f1を選択

プロジェクトの種類はVRMを取り扱うので3Dコアを選択

プロジェクト名は『VRM_Builder』とでもしておきます

それではこれでプロジェクト作って始めていきましょう

プロジェクトを作って立ち上げるまでに少し時間がかかりますプロジェクトが構築されればご覧のようになります

~Unityざっくり説明~

今後Unityを使っていくためにもUnityをざっくり説明します
まずは下部のエクスプローラーみたいにフォルダのツリーを『Project』と呼びます
現在編集しているUnityプロジェクトに入っているアセット等の全体構成です
その右側が『Project』で選択しているフォルダの中身です

素材になるオブジェクトを入れておく倉庫であり冷蔵庫みたいに思って下さい

次に左側が『Hierarchy』といって下部のProjectからオブジェクトを置くところです

素材を加工したりするのでまな板とでも思って下さい

右側が『Inspector』Hierarchyに置かれたオブジェクトに当たり判定など付加要素を付けるところです

火を通したり味付けする調理器具とでも思って下さい

真ん中の『Scene』が左右で配置されたオブジェクトや付けられた状態を表示していてオブジェクトの位置を調整したりするところです

できあった料理を盛り付けるお皿やテーブルとでも思って下さい

ざっくりとですがUnityは料理を作って並べる台所といった感じのイメージです

~ざっくりアセットって何?~

ざっくり言えば素材だったりツールだったりデータだったりです
Unityはどんなゲームでも作ることがゲームエンジンです
ゲームを構成する素材は自分で作ったりフリーで使える素材を探してきたりしてUnityにインポートして使用します
素材をインポートできればゲームをどのような構成にして、どこを始まりの起点するのか、どのキャラクターオブジェクトがプレイヤーで、どのオブジェクトがエネミーで、空いてくオブジェクトを設定したり配置したり、目的地は何処にするのかなどを設定構成していったりするわけです
これがとても面倒なのですがゲームの基本設定とかキャラクターオブジェクトや背景や世界観、ゲームの種類なんかを纏めてくれていたりするのがアセット(資産、財産、資源)というわけです
アセットの中にはキラキラ光る剣のオブジェクトだけというのもあれば、ゲーム用のダメージや点数計算するプログラムとかいろいろあります
ゲームを作るのに必要なものがセットになっている大きなアセットもあれば背景のみや素材集やシェーダーや補助的プログラムという小さいアセットもあったりいろいろです
この記事ではUnityでVRMを取り扱えるようにするアセット『UniVRMExtensions』をざっくり解説しています

~UniVRMExtensionsのインポート~

VRMをインポートしてUnityでVRMを取り扱えるようにするアセットを使用します
UniVRMというアセットになるのですがこれを便利に使える様にしてあるアセット『UniVRMExtensions』というのがあるのでそれを使用します
BOOTHというマーケットサイトで100の人さんがぽけもりBOOTH支部にて配布してくれています

無料ダウンロードできるのでこちらをダウンロードします

「コレはありがたいすばらしいアセットだぁ」と思った方はブースト版を購入したりしてあげてください
ダウンロードしたzipファイルを解凍します
中に拡張子が『.UnityPackage』のファイルがあります
解凍したファイルをUnityにインポートします
インポートといっても下部のProjectのAssetというところに解凍されたフォルダからドラッグアンドドロップで大丈夫です

ドラッグアンドドロ ップしたらインポートする内容の確認のポップアップウィンドウが出てきます
『Import』ボタンを押せばインポートがはじまります

インポートの途中で『PackageManager』というのが立ち上がり『ReadMore』と『Cancel』のポップアップが出てきますどちらを押してもいいのですが『Cancel』だとインポートの再開がなんか遅かったりするので『ReadMore』を押せばすぐにインポートが再開されます

ブラウザでUnityのマニュアルページが開きますがそっ閉じして下さい…

途中でもう一度ポップアップウィンドウが開くのでウィンドウ下部の『Accept ALL』をクリックしてインポートを続けます

『Thank You』の文字が出ればインポート終了です

インポートが終わったら上部のメニューバーに『VRMo』という項目が追加されています

これでUnityでVRMを扱う下ごしらえができました


~VRMのインポート~

VRoidStudioでエクスポートする際の注意点

『VRMのエクスポート』で右の項目で『ポリゴンの削減』『透明メッシュを削除する』のチェックを外してからエクスポートして下さい
後で改造する際にツールがエラーを出したりするので必要になります

VRoidStudioからエクスポートの際バージョンの項目は空白でもエクスポート可能ですが、Unityで加工する際にこの項目が空白だとエラーになります
『バージョン』の項目には必ず自分が管理できるバージョン情報を入力するようにして下さい

ここから用意した自分のVRMをインポートするわけですが下ごしらえをもう少し
下部の『Project』に素材であるVRMなどのオブジェクトを入れておくためのフォルダーを作ります
右クリックでメニューを開いて『Create』から『Folder』を選択で新しいフォルダーが作られます


フォルダ名は何でもいいですがキャラクターアバターを入れていくことになるので『Avatar』とでもしておきます

続いてフォルダの中にもう一つフォルダーを作ります

新たに作ったフォルダ名は今回取り扱うアバター名にしておいてください

VRMはインポートしたらVRMを構成してる設定の毎にフォルダがいっぱいできるのでアバター毎にフォルダーは作っておく方が管理しやすくなるからです
同じキャラクターアバターでも衣装やバージョンでフォルダを作っていくみたいな感じがアバターが増えても管理しやすいので理想です
それではVRMのインポートです
下部『Project』キャラクター名のフォルダのを選択してフォルダーの中にドラッグアンドドロップ

処理をしているバーが出て…

インポートが出来たらフォルダー7つとTポーズのアバターオブジェクトが生成されます

今回取り扱うインポートして生成されたTポーズのアバターオブジェクトだけです
Tポーズのアバターオブジェクトを左側の『Hierarchy』にドラッグアンドドロップします

『Hierarchy』に配置されたオブジェクトはすぐに真ん中の『Scene』に反映して表示されます
濃いピンク色の球体が身体にくっついていたりしますがそれが設定されている当たり判定のコライダーというやつです

取り込んですぐのVRMにはちょっと問題があるのでその問題を修正をします
①左側の『Hierarchy』にあるアバター左の三角をクリックして展開し構成オブジェクトが開きます
②展開された構成オブジェクトの『Secondary』を選択します
③右側の『Inspector』に『VRM Spring Bone』という揺れ物設定が出てきます

設定の中の『Center』の右側の『Root』を選択してDeleteキーで削除して『None』にします

たくさんある『VRM Spring Bone』設定の『Root』部分をすべて削除して『None』にします


すべての『Root』を削除して『None』にできればコライダーがどういうことかというのを確認してみましょう
上部にある三角のプレイボタンを押してプレイモードに切り替えます

『Scene』のタブから『Game』のタブに切り替わりカメラアングルも後ろから見たものになるのでタブをクリックして『Scene』に戻します

左側のHierarchyで配置したアバターオブジェクトを選択して下さい

するとSceneの同アバターオブジェクトに赤青緑XYZの矢印が表示されます
この矢印のどれでも良いのでマウスで左クリックして掴んで振り回してみましょう

揺れ物が揺れるのが確認できます
わかりにくいかもですが揺れるところは濃いピンク色の球体には反発して入り込まないようになっています
VRoidStudioでエクスポートしたVRMには最初から髪の毛に対して頭胴体腕に辺り判定とスカートに対して太股に当たり判定が設定されています
もう一度上部にある三角のプレイボタンを押すとプレイモードを終了します


~VRMのエクスポート~

VRMをインポートしただけの状態ですがこれをちゃんとまたVRMでエクスポートできるか確認します
左側『Hierarchy』のアバターオブジェクトを選択して上部のメニューバー『VRMo』から『Export to VRM 0x』を選択します 

VRMのメタデータが表示されるウィンドウが開きます
何も表示されていない場合は左側『Hierarchy』から対象のキャラクターアバターオブジェクトをウィンドウの上部ExportRoot直下の『None』にドラッグアンドドロップして下さい

アバターの名称や人格権等のメタデータはVRoidStudioからエクスポートの時にも設定しますがUnityからエクスポートの時にも設定や変更が可能です
VRMの設定にエラーがない状態で必要な項目を満たしていればウィンドウ右下の『Export』のボタンが使用可能になります
エクスポートの前に『Version』の項目を必ず何か入力しないとエラーになります
自分が管理できるバージョンを何かしら入力しておきこれからエクスポートするVRMアバターはこれまでのVRMと区別するために、Unityを使って作業したので『u』と付けるなどして下さい

『Export』ボタンを押すとエクスポートするVRMの保存先を何処にするのかのエクスプローラーが開きます
バージョンと同様に区別するためにファイル名にも末尾に『u』を付けて区別します
ファイル名が入力できれば『保存』をクリックしてキャラクターアバターをVRMにエクスポートしましょう

エクスポートされたキャラクターアバターVRMを確認しましょう
私はVRMの確認にVワールドというPCソフトを使っています

これもBOOTHで配布されており無料で使うことが出来ます

ダウンロードしたzipファイルを解凍してexeを起動します

VワールドはVRMをゲーム的に動かせて表情等の機能を一通り確認できてモーションも多数あり表示の具合もいじれたりできるのでエクスポートしたVRMの確認には便利です

~了~

これでVRMをインポートとエクスポートができるUnityプロジェクトはできあがりました
今回作成したこのUnityプロジェクトだけでもアクセサリーオブジェクトを好きな位置に追加ができたり
マテリアルの設定変更で光らせたりマットキャップを設定してテカテカにできたりいろいろなことが可能になります
次回からはそれだけでは物足りないという人のために少しずつ段階をおいてですが深掘りしていきたいと思います。



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