Vroidでモデルを作ってMMDで動かす
最近VRoid Studioが新しくなってるらしいので久々に触ってみました~
やることの手順
使用ソフト
・VRoid Studio 1.26.0
Steam版だと勝手にアップデートしてくれそうなのでSteam版にした。
・VRM2PmxConverter v0.5
(VRoidで作られた?)VRMモデルをPMXに変換してくれる。
・PMXEditor 0.2.7.3
・MikuMikuDance v932
やった手順
Vroid Studioでモデルを作る
VRoid Studioで良い感じにモデルを作る。
キャラメイク初心者なので試行錯誤しながらだったがなんとなく操作できた。
注意点のメモ
・操作の順序
各パーツごとにカスタマイズの値がセットされてるので、パーツを決めてから微調整する。
以下の順序じゃないとパーツを変えるたびに数値がデフォルトに戻ってしまうことが多い。
- 作りたい顔に似たパーツを各パーツ選ぶ
- 顔のパーツを調整する
・アクセサリーをつけたいとき
髪アクセサリーを作りたいときはつけたい位置に髪束をつくってテクスチャをいじるといい感じに一緒に揺れてくれるらしい。
・大きさ調整
目は若干大きくするとVRoidのデフォルトっぽさが抜ける気がする。
頭も若干大きくしてみた。
・表情
顔メニューの表情編集でそれぞれの表情がそれっぽくなるようにしておく。
MMDで使いそうなあいうえおと楽しい、悲しいくらいをチェックした。
今回は眉の動きや口の開き方を若干控えめにした。
・目の可動域
ルック>目の可動域
初期値で動かすと怖いくらい目が端に行ったので全体的に可動域を小さくした。
いろいろやってこんな感じのモデルができた。
VRM出力する
右上のアップロードっぽいボタンからVRMエクスポートを選択。
そのままエクスポート。
ポリゴン数がすごいが、どのくらい減らしたほうがいいのかわからないので一旦そのまま出力した。
45000ポリゴンくらいあるがMMDで動かす分にはそれほど負荷を感じなかった。
できたVRMファイルをモデルを管理しやすい場所に移す。
VRM2PmxConverterでVRM→PMX変換
このソフト、閉じるボタンがないので起動時オプションのWindowedにチェックを入れておくと閉じやすい。
VRM2PmxConverterを開いて先ほど出力した[Load VRM File]からVRMファイルをロード、[Convert to PMX]をクリックして変換。
終わったら出力先フォルダが開く。
すでに出力ファイルがある状態で変換すると失敗する(出力が変になる)ので出力後はフォルダごとどこかに移動させておく。
PMXEditorで調整
出力後のPMXファイルを開くと髪色が変になってたりするのでPMXEditorで調整する。
・髪色がおかしくなったのを修正
PmxView>F3の材質絞り込みで髪のテクスチャを特定し、
材質タブで髪のテクスチャのTex:の右の四角をクリック
テクスチャ画面が開くので[ファイル]>[テクスチャ読み込み]で3つに分かれていない髪のテクスチャを選択("_数字.png"のファイル名)。
変更を押してテクスチャを変更する。
また色が変になるが次の項目で直るので一旦気にしない。
・材質の材質色設定の修正
変換後は一般的ではない値になっている。
環境色は0.5くらいじゃないとMMDで光をあてたときに不自然になるらしい。
ハイライト(EyeHighlight等)以外の全ての材質について以下のように設定する。
拡散色:1, 1, 1 (変更なし)
反射色:0, 0, 0
環境色:0.5, 0.5, 0.5
文字を右クリックしベクトルコピーを使うと3つの値を一気にペーストできて便利。
またも色がグレーがかって変になる。
PMXを一度保存し、開きなおすと表示が正常になる。
とりあえずこれでPMXEditorでの調整はおわり。
MMDでモデルをロード
調整したPMXファイルをドラッグアンドドロップして、任意のモーションを読み込めば問題なく動きました。すごい。
Unityにもっていく時よりMMDのほうがあっさり動く気がするのでいいですね~
服が二重だと貫通するとか一部の衣装で衣装のフチが透明になったりするとか色々他にも調整が必要そうなところはありましたが、とりあえず動いたので満足です。
各ツールの制作者様には感謝です…
XR Handsでサンプルを動かす
XR HandsでVR
Quest2とPCでVR空間上でコントローラーでの簡単な操作とコントローラーなしでのハンドトラッキングの実装までをやってみた。
いろいろ四苦八苦してミニマムな感じに設定できたので自分用にメモしておく。
Open XRについて
調べた限り立ち位置としてはこんな感じっぽい。
UnityでQuest2を繋いでVRのゲームをつくるとき、だいたい以下のような選択肢があるらしい。
- OpenXR
VR/AR標準仕様らしい。- XR Interaction Toolkit
基本的な移動やコントローラー認識。 - XR Hands
ハンドトラッキング。
- XR Interaction Toolkit
- Oculus独自
Oculusの用意した開発キット。
なんとなく標準仕様に惹かれたのでOpen XRでの実装を目指した。
Open XRとOculus Integrationの情報が調べるときごっちゃになって難しかった。
環境
Unity 2022.3.5f1
Android Build Support, Windows Build Support (IL2CPP), 日本語言語パック
XR Interaction Toolkit: 2.4.3
XR Hands:1.2.1
手順
- プロジェクト作成:3D(コア)
- パッケージのインストール:
ウインドウ>パッケージマネージャー>Unityレジストリを開き、以下をインストール
・XR Interaction Kit
・XR Hands - サンプルプログラムのインポート:
XR Interaction Kitのタブのサンプルから以下をインポート
・Hands interaction Demo - XR Plug-in Management設定
編集>プロジェクト設定>XR Interaction Kit>XR Plug-in Management
今回はOpen XRにチェックを入れる。
いろいろエラーが出ると思うのでエラーマークをクリックした先でFix All。
Open XRの設定について一つエラーが残るのでEditを押すとOpenXRの設定画面へ。 - OpenXR設定:
Render Mode:Multi-Pass これを入れないと片目しか見えなかったりする
Interaction Profiles:今回はQuest2で使うのでOculus Touch Controller Profileを追加。+から追加できる。
OpenXR Feature Groups:Hand系3つにチェック
・Hand lnteraction poses
・Hand Tracking Subsystem
・Meta Hand Tracking Aim
動作確認
ここまで出来たら
Assets/Samples/XR Interaction Toolkit/2.4.3/Hands Interaction Demo/Runtime/HandsDemoScene.unity
を開いて動かしてみる。
うまくできていればOculus Linkした状態でPlayボタンを押すとサンプルのシーン内でコントローラーでの移動・ターン、ハンドトラッキングの指先やつまみ操作ができる。
なんか若干エラーは出てるがまぁ動くのでよしとする。
はじめてみました
ひさびさのブログ
さいきんTwitterが経営難で方針が変わったりしてSNSユーザーとしては激動な感じですー
そういった流れをきっかけに情報を後から見直しやすいブログもいいなぁ~と思って久々にブログを始めてみました。
原神などのゲーム、プログラミング、VTuberなどなど趣味のことについて書き残していこうと思ってます。
私は以前も時々ブログを書いていて中学生くらいから大学くらいまでFC2ブログとかはてなとかを転々としてたんですがいずれもいまは途絶えてます…
あと、iPadとペンを買ったあとにGoodNotesで手書きの日記みたいなのも書いていたことがありまして、しばらくの間は毎日書いてました。3か月くらい…
特に日記の最初の方はなんか意欲にあふれててミニイラストもつけたりしてました。
結局旅行で1日途絶えたのをきっかけにとまってしまったんですが日記をつけるのもなかなか気分転換になってよかった気がします。
(画像の大きさの変え方がよくわからない…)
今回もいつまで続くかはわかりませんが細く長く、気が向いたときに書いていこうと思います~
長らくTwitterしかしてなかったのでここまで書くのにも結構時間がかかったので記念すべき最初の記事はここまで~