====== VRMを作成する ======
キャラクターの3Dモデルを用意してVRMを作成する手順を紹介します。\\
詳細な手順を知りたい場合は[[https://vrm.dev/index.html|VRMのドキュメント]]をご覧ください。
VRMの出力には下記が必要になります。
* [[https://github.com/vrm-c/UniVRM/releases/latest|UniVRM]]のダウンロード
* [[https://unity3d.com/jp|Unity]]のインストール
* VRMに変換するHumanoidボーン入りのFBXファイル
このページは過去の情報となります。\\
特に **VRM1.0** の作成については**[[https://vrm.dev/univrm1/|こちら]]**をご確認ください。
===== UniVRMのダウンロード =====
[[https://github.com/vrm-c/UniVRM/releases/latest]]よりGitHUBのリリースページへ移動してください。\\
UniVRMのunitypackageを使用します。\\
==== ファイル名の説明 ====
UniVRMはUnitypackageと呼ばれる圧縮ファイルの状態で配布されています。\\
バージョンは小数点を含む数値で、数字が大きいほど新しいバージョンになります。
--> v0.87.0以降 (クリックで展開)#
**UniVRM-○○○.unitypackage**
VRMを作成するのに必須のunitypackageです。
**UniVRM-samples-○○○.unitypackage**
上記unitypackageの利用サンプルです。
**VRM-○.○○.○_○○○○.unitypackage**
VRM-1.0βのパッケージになります。
VRMを作成するのに必須ではありません。
<--
--> v0.81.0以降 (クリックで展開)#
v0.81.0以降は、**計2つのunitypackageが必要**になります。
{{ :vrm:image19.png?direct&600 |}}
**ファイルの説明**
**UniGLTF_VRMShaders-○.○○.○_○○○○.unitypackage**
VRMを作成するのに必須のunitypackageです。
プロジェクトにインポートする際は、必ずこの**UniGLTF_VRMShaders**パッケージからインポートしてください。
**UniVRM-○.○○.○_○○○○.unitypackage**
VRMを作成するのに必須のunitypackageです。
プロジェクトにインポートする際は、必ず**UniGLTF_VRMShaders**パッケージの**後に**インポートしてください。
**VRM-○.○○.○_○○○○.unitypackage**
VRM-1.0βのパッケージになります。
VRMを作成するのに必須では必須ではありません。
<--
--> v0.80.0以前 (クリックで展開)#
{{ :vrm:univrm02.png?direct&600 |}}
**ファイルの説明**
**UniVRM-○○○.unitypackage**
VRMを作成するのに必須のunitypackageです。
**UniVRM-samples-○○○.unitypackage**
上記unitypackageの利用サンプルです。
<--
===== Unityのプロジェクトを作成 =====
**[[unity/download|Unityをインストールする]]**を参考にUnityのインストールとプロジェクトの作成を行います。
プロジェクトを作成しUnityが起動できたら、色が正しく見えるように「Directional Light」のColorをホワイトに変更します。
{{:vrm:univrm06.png?direct&600|}}
ダウンロードした**UniVRM-○○○.unitypackage**を、Assetsの所にドラッグ&ドロップします
--> v0.87.0以前の場合(クリックで展開)#
**v0.87.0以前の場合**は、必ず
**UniGLTF_VRMShaders-○.○○.○_○○○○.unitypackage**
↓
**UniVRM-○.○○.○_○○○○.unitypackage**
の順番でImportしてください。
<--
{{:vrm:univrm07.png?direct&600|}}
するとインポートの確認画面が表示されますので、「Import」をクリックします。
{{:vrm:univrm08.png?direct&600|}}
Use recommended Linearという設定画面が表示された場合は、Accept Allを押してCloseしてください。\\
{{:vrm:univrm09.png?direct&600|}}
Unityのメニューに「VRM0」が追加されていれば、無事UniVRMのインポート完了です。
{{:vrm:vrm_unity01.png?direct&400|}}
===== FBXモデルの追加 =====
{{:vrm:univrm10.png?direct&600|}}
FBXモデルのインポート用フォルダを作成します。\\
Assetsフォルダを右クリックして、[Create]→[Folder]を選択すると、新しいフォルダを作成できます。\\
自分のわかりやすい名前で大丈夫ですが、今回は「Model」というフォルダ名で作成します。\\
「Model」フォルダにVRMに変換するFBX、及びテクスチャファイルをドラッグ&ドロップします。\\
今回は例として、[[https://3d.nicovideo.jp/alicia|アリシア・ソリッド]]のFBXをVRMに変換します。
{{:vrm:univrm11.png?direct&600|}}
UnityにFBXファイル一式をコピーできたらFBXファイルをHumanoidモデルとして設定します。
- 変換するFBXファイルを選択
- Inspector画面で[Rig]のタブを選択(Inspector画面が表示されていない場合は、メニューの[Window]→[General]→[Inspector]を選択してください)
- Animation Typeを「Humanoid」に設定して「Apply」ボタンをクリックします。
{{:vrm:univrm12.png?direct&600|}}
{{:vrm:univrm13.png?direct&600|}}
===== Humanoidボーンの設定 =====
FBXファイルをHumanoidモデルに設定したら、ボーンの確認をします。\\
「Configure...」ボタンをクリックします。\\
シーンを保存をするように聞かれる場合は、適当な名前をつけて保存してください。
{{:vrm:univrm14.png?direct&600|}}
画面が切り替わり、Humanoidボーンの設定画面になります。\\
正しいボーン設定として認識されていれば、Inspectorの人体パーツが全て緑色になります。\\
この場合は特に問題が無いので、Inspectorの「Done」ボタンをクリックします。
人体パーツが赤く表示された場合は、うまく認識できていませんので[[unity:trouble#Humanoidボーン設定が異常|トラブル対処法:Humanoidボーン設定が異常]]を参照してください。
{{:vrm:univrm15.png?direct&600|}}
===== マテリアルの設定 =====
Humanoidモデルに設定したFBXをシーンに設置します。\\
Projectフォルダ内のFBXファイルをSceneウィンドウにドラッグ&ドロップします。
{{:vrm:univrm16.png?direct&600|}}
胴体や目のオブジェクトを選択すると、マテリアルが割り当てられているのがわかります。\\
各マテリアルのShaderを、VRMファイルで認識できる**[[unity/shader/mtoonreference|「VRM/MToon」]]**または[[vci/overview/material|対応Shader]]に変更します。\\
MToonは影の色がデフォルトでピンク色に近い設定になっているので必要に応じてホワイト、またはグレーに設定します。
Unityのバージョンによっては、マテリアルが変更できない場合があります。\\
その場合は次項の[[unity:trouble#マテリアルが編集できない|トラブル対処法:マテリアルが編集できない]]を参照してください。
{{:vrm:univrm17.png?direct&600|}}
===== VRMの出力(1度目) =====
ここで1度目のVRMの出力を行います。\\
これを**正規化**といって、ボーンの構造やVRMの基礎構造を整形する手順になります。
モデルのルートオブジェクト(一番親になっているオブジェクト)を選択して、\\
メニューの[VRM0]→[Export UniVRM-○○○]をクリックします。
{{:vrm:univrm18.png?direct&600|}}
{{:vrm:univrm03.png?direct&400|}}
VRM Exporterというウィンドウが表示されるので、アセットに関する情報を入力して「Export」ボタンをクリックしてください。\\
入力項目について下記に説明します。
==== 情報(Information) ====
** *入力必須**
^項目^内容^
^Title*|モデル名*|
^Version*|モデルのバージョン*|
^Author*|制作者名*|
^Contact Information|連絡先|
^Reference|親作品がある場合のURL等|
^Thumbnail|サムネイル画像|
==== ライセンス情報(License) ====
^ 英語文 ^ 英語項目 ^^^
^ 日本語文 ^ 日本語項目 ^^^
^**A person who can perform with this avatar**|Only Author|Explictly Licensed Person|Everyone|
^アバターに人格を与えることの許可\\ (他の人がアバターで演じて良いか)|作者のみ|明確に許可された人限定|誰でも使用可|
**明確に許可された人限定**に設定した場合、バーチャルキャストでは**誰でも使用可**と同じ設定になります。
^ 英語文 ^ 英語項目 ^^
^ 日本語文 ^ 日本語項目 ^^
^**Violent acts using this avatar**|Disallow|Allow|
^暴力表現を演じて良いか|不許可|許可|
^**Sexuality acts using this avatar**|Disallow|Allow|
^性的表現を演じて良いか|不許可|許可|
^**For commercial use**|Disallow|Allow|
^商用利用の許諾|不許可|許可|
その他のライセンス条件(Other License Url) は、License TypeがOtherの時のみ設定できます。
他の設定については、[[https://vrm.dev/univrm/meta/univrm_meta.html|UniVRMのドキュメントページ]]を参照してください。
下記のエラーが表示されていた場合、FBXファイルがHumanoidモデルに設定されていないので、[[vrm:make#Humanoidボーンの設定|Humanoidボーンの設定]]を参考に設定を確認してください。\\
**エラー:Animator.avatar is not humanoid. Please change model's AnimationType to humanoid. Require**
==== 保存先の選択 ====
ファイルの保存先を聞かれますので、管理しやすいようにAssets内へ専用フォルダを作成します。\\
自分のわかりやすい名前で大丈夫ですが、今回は「VRMmeta」というフォルダ名で作成します。
もし出力中にエラーが起こった場合出力ができません。\\
よくあるエラーとしては、マテリアルやメッシュデータの割当が不足している可能性があります。\\
編集中に一部のオブジェクトを削除したりすると起こり得ますので、もう一度ここまでの手順を確認してください。
{{vrm:vrm_unity19.png?direct&400|}}
===== 表情・リップシンクの設定 =====
出力したフォルダ内にprefabファイルが自動的に作成されます。
prefabを選択しシーンに設置します。\\
InspectorからVRM Blend Shape Proxyコンポーネントを見つけ、「BlendShape (BlendShapeAvatar)」となっている部分をダブルクリックして設定画面を開きます。
{{:vrm:vrmblendshapeproxy.png?direct|}}
[[:vrm:setting:blendshap]] を参考にExpressionの設定を行います。
===== コライダーの作成 =====
バーチャルキャストでは、両手 (RightHand / LeftHand) へVRMSpringBoneColliderGroupを設定することで他のキャラクターの揺れものに干渉できるようになります。
[[:vrm:setting:spring]] の「当たり判定(コライダー)」を参考に、必要な部位にコライダーを設定します。
===== VRMの出力(2度目) =====
各種設定が完了したら、再度VRMの出力を行います。
prefabを選択して、メニューの[VRM0]→[Export UniVRM-○○○]をクリックし、正規化時とは別のフォルダへ出力します。こちらはAssetsフォルダ外への保存を推奨します。
バーチャルキャストで使用する場合は、このVRMファイルをTheSeedOnlineへアップロードします。