経緯
何ヶ月もUnityを触っていないと操作の仕方を忘れ毎回調べるのが面倒。
自分のやり方を残すというということから記録として残す。
VrchatはVRゴーグル無しのデスクトップ仕様として書いていく。
BlenderでFBX出力
モデルとアーマチャーを選択した状態で、画面左上の「ファイル」⇒「エクスポート」⇒「FBX(.fbx)」をクリックする。
出力設定は画像の通りにした。設定後右下の「エクスポート」をクリックする。
Unityでの作業(VRM化)
プロジェクト作成
Unity Hubを起動する。
「3D」を選択して適当な名前でプロジェクトを作成する。
初期設定
プロジェクトが起動したら以下の2つを導入する。
・UniVRM-0.109.0_7aff
・VRChat-Avatars-SDK-3.2.0
「Assens」⇒「Import Package」⇒「Custom Package」をクリックして導入する。
モデル設定
モデルのfbxファイルとテクスチャフォルダを画面下の「Assets」にドラッグ&ドロップする。
画面左の「Hierarchy」にモデルをドラッグ&ドロップする。
次に画面右の「Select」をクリックする。
「Rig」タブをクリックしてAnimation Typeを「Humanoid」に選択する。
「Apply」をクリックして「Configuration」をクリックする。
ここでボーンがきちんと割り当てられているか確認する。
筆者の場合は「Chest」がNoneになってたのでここで追加した。
マテリアル設定
Unity上ではBlenderとの色味が違うので設定を変更する。
以下の画像を見るとわかるようにUnity上では暗い感じになっている。
モデルを選択して「Select」⇒「Materials」⇒locationを「Use Exteanal Materials(Legacy)」に変更し、Applyで実行する。
モデルを選択して「Inspector」内のマテリアルの編集ができるようになる。
標準はStandardになっているのをVRM/MToonにする。
メッシュの裏面が透ける場合は「Mode」⇒「Cull Mode」を「Back」にすることで防止できる。
「Texture」の色は白にしておく。
VRM出力
ここで一旦VRM出力する。
揺れ物の設定をしていきなりVRChat仕様にはできなかったので行う。
「VRM0」⇒「Export to VRM 0 x」をクリックする。
すると、title・version・Autorでエラーが表示されるから適当に入力する。
入力後は「Export」から保存先を選択して出力する。
Unityでの作業(VRChat仕様)
VRM読み込み
別プロジェクトを作成して、UniVRMとVRChat-Avatars-SDKをインストールする。
「Assents」にvrmファイルをドラッグ&ドロップする。
揺れ物設定
髪の毛や胸スカートなどの揺れ物の設定をしていく。
胸
胸の揺れ物を設定する。
「Amature」から「Bust_L」を選択して、画面右の「Add Component」をクリックする。
「VRC Phys Bone」を選択する。
設定は以下のようにした。もう片方も同様に設定する。
スカート
スカートなどの揺れ物は脚にコライダーを追加して衝突用物体を配置する。
「upper_leg.L」に「VRC Phys Bone Collider」を追加する。
脚に緑色の物体が追加されている。
次にスカートにボーンを追加する。
衝突用のコライダーは前述の脚を指定する。
Amature内のskartを選択して「Add Component」から「VRC Phys Bone」を選択する。
「Collision」⇒「Colliders」内のSizeを2、「Element」に脚を選択する。
他のスカートのボーンも設定すると以下のようになった。
髪の毛
髪の毛の場合は頭にコライダーを設置して頭に貫通しないように設定する。
「head」にコライダーを設置する。
髪の毛にボーンを設置する。
その他
胸のジャボにも設定する。
確認
画面中央の「▶」をクリックして「Scene」に切り替えて動作を確認する。
「Armature」を選択した状態で矢印上下左右に動かす。
シェイプキー登録
口の動きやまばたきの設定をする。
モデルを選択して画面右の「Add Component」から「VRM Blende Shape Proxy」を追加する。
「Blende Shape Avatar」に「BlendeShapesAvatar」を選択する。
「BlendeShapesAvatar」上でダブルクリックして詳細を設定する。
「A」を選択して「あ」の値を「100」に設定する。
他の項目も同様に設定する。
視点設定
VRChat上での目線の高さを調整する。
「Add Component」から「VRC Avatar Descriptor」を追加する。
「View」⇒「View Position」のY軸方向を目の位置に調整する。
灰色の丸のオブジェクトを両目の中央に設置する。
まばたき・目線移動
ここでは他者が近くに来た時に目が自動で動くを設定する。
「VRC Avatar Descriptor」⇒「Eye Look」から「Enabled」をクリックする。
「Eyes」⇒「Transforms」⇒「Left・Right Eye Bone」に「eye.L・R」を割り当てる。
次に目の移動量の範囲を設定をする。
「Rotation States」から上下右左の移動量を入力する。
確認は「Preview」をクリックすることで確認できる。
次にまばたきの設定をする。
「Eyelid Type」を「Blendeshapes」に選択する。
「Eyelid Mesh」にはモデルを選択する。
「Blendshapes States」のBlinkにまばたきを選択する。
モデルのチェック
VRChatにアップロードするモデルにエラーがないかチェックをする。
「VRChat SDK」⇒「Show Control Panel」をクリックする。
Vrchatにログインダイアログが出てくるから入力する。
「Bulider」を選択すると悪いところを表示してくれる。
「Auto Fix」をクリックすると自動で修正してくれる。
終わったら「Build & Test」をクリックする。
成功したら下記のようなダイアログが表示される。
最後に「Build & Publish for Windows」クリックする。
成功すると下記のようになる。
Avatar Nameに適当な文字を入力し、チェックボックスにチェックを入れて「Uplpad」をクリックする。
VRChatで確認
VRChatを起動する。
設定ウィンドウを起動して「Upload」って項目にあるか確認する。
「Change Into Avatar」をクリックする。
無事召喚できました。
動いて挙動を確認したら完成。
コメント