FC2ブログ
ヽ|∵|ゝ(Fantom) の 開発blog? ホーム »2018年08月
2018年08月の記事一覧

【VRMLiveViewer】VRM(VRoid)をライブステージで踊らせるアプリを作ってみた  


 VRM には Unity で動的にモデルをインポートできる「UniVRM」というオープンソースが公開されているので、そのサンプルビューワと「ユニティちゃんライブステージ!」「ミライ小町」プロジェクト(オープンソース)を組み合わせて、VRMVRoid)を動的に読み込んでダンスさせるアプリを作ってみた。一応、音楽も BVH/VMDモーションファイルも動的に読み込めるので、やろうと思えば自由な曲でダンスもできるかも知れない。

 アプリは当初、プラグイン利用の実験も兼ねて、Android で作っていたのだが、よく考えたら VRMVRoid)自体の利用が PC 中心(主に VRChat や バーチャルキャスト)であろうと考えて、急遽 PC でも見れるように Windows版 もビルドしてみた(Mac は持ってないので、iPhone版も作れない。すまぬ…)。

 VRM は「VRoid Hub」や「ニコニ立体」「BOOTH」などでダウンロードしたり、「VRoid Studio」「VRoid Mobile」「セシル変身アプリ」などで自分で作ったモデルでも、踊らせてみるだけなら十分可能なので、色々試して遊んで貰えると嬉しい(※スクショや動画などご自由にどうぞ。また、ハッシュタグ「#VRMLiveViewer」はどなたか付けてくれたので、私も便乗させて貰ってます。感謝!)。


複数VRMのロードに対応!VMD/BVH/Presetを同時に使えるよ!
VMDモーション/表情モーフ/カメラモーションも対応!
今度はたくさんのVRMで踊りまくれ(笑)!

(※v1.x, β版からそのまま移行可能です)

VRM Live Viewer ver.2.3.1
× VRoid Hub    






◆アップデート(修正) 情報◆
2.3.1・モーション(ボーン)に 表情モーションを追加したとき、再生フレーム数の比較ができてなかった不具合をFix
シーン保存時にVRoidHubのキャラのサムネイルキャッシュを更新するように修正
2.3音量(ミュート)の設定機能を追加(※ソフトウェア音量=ハードウェア音量を最大とし、0%[-80dB]~50%[-6dB]~100%[0dB]の音量)
VMDカメラの設定に、ワールド座標Y(縦軸)での位置を制限できる [Y 上限],[Y 下限] のパラメータを追加
2.2・(PC)試験実装として、リアルタイムでカメラ映像を他アプリで利用できる(仮想カメラ等)「カメラ映像の出力」機能を追加
※この機能は「UnityCapture」プラグインを利用するため、フォルダにインストールするための bat と、新たに「ReadMe_カメラ映像出力機能とインストールについて.txt」が添付されています。利用前にご一読下さい。
2.1複数キャラの配置を同時に変更できる「配置の移動と回転」を追加
・設定パネルの調整パラメータ名のローカライズ化(日本語,英語のみ)(→アプリコンフィグで設定可)
VMDカメラの設定に、注視点からの距離に一定値を加算できる[距離 加算]パラメータを追加
モーションの再生設定3Dオブジェクトの配置パネルに[復帰](パネルを開いたときの値に戻す)ボタンを追加
・アプリ起動時のオプションやサムネイルキャッシュのクリア等が行える「アプリコンフィグ/メンテナンス」を追加(→各種設定から)
ゲームパッドの有効・無効化の切り替えをアプリコンフィグに追加
・VMDのボーンモーションの長さと表情モーションの長さが異なるとき、長い方に合わせるように修正
・シーンロードでプリセットの空(Skybox)が反映されてなかった不具合をFix
2.0複数VRMのロードに対応(左サイドパネルの[-]:置き換え[従来と同じ]/[+]:追加ロードの切り替えができる)
ロードされたVRMの切り替え(調整対象の選択)やアンロードができる「キャラクターリスト」パネルを追加(左サイドパネルにボタンも追加)
・(PC)ショートカットに [F1]:置き換え/追加ロード切り替え([-/+]),[Ctrl+Tab]:リストの次のキャラへ,[Shift+Tab]:リストの前のキャラへ,[Q]:キャラリストを開くを追加 (※その他、一部のショートカットが変更されてます→ヘルプの[基本操作]で確認できます)
シーンロードオプションに各キャラのロード方法と、配置オプション(位置と回転だけを適用する[置き換えのみ])を追加
Viewerカメラに視野角の設定を追加
・[Breaking Changes] 音楽リスト上でのシャッフル/連続再生モードを廃止
1.34VMDモーションにボーン補正パネルを追加し、補正のon/offと手動/自動入力できるように変更
VMDモーション(ボーン)の補間計算を改修(よりスムーズになり、また導入初期からあった、不自然な動き(どうでもいい!等)の不具合がFix。
VMDモーション(ボーン)によっては、途中から再生したとき、足が不自然になることがあった不具合をFix。
※v1.34でVMD再生のExperimental(試験実装)が完了します。MMDxVRMモデルの仕様違いから発生する問題は、今後のバージョンで調整機能等で対応していきます(そのほとんどがモデルの「ボーンの長さ,有無,構造(位置),初期角度」の違いが原因で、VMD再生自体は単純な「位置,回転,補間」の計算でしかないため)。
1.33VMDカメラモーションに縦方向の回転調整(ScalePitch)を追加
VMDカメラモーションの補間計算を改修(よりスムーズになったため、手ぶれモーション等も再現できる)
VMDカメラモーションの回転計算を改修(180度超の回転データに対応したため、瞬間的なRoll回転等も再現できる)
VMDカメラモーションの設定パネルに復帰ボタン(Revert)を追加
・(PC)「オマケ」フォルダにデモに使ったカメラモーションを追加
1.32VMDカメラモーションに再生開始時間(秒)の設定(Start)を追加
VMDモーフバインド用に、パーフェクトシンク系のブレンドシェイプから左右対のものを自動生成して利用できるように変更
VMDモーフバインド用に、「あいうえお」単一のブレンドシェイプを自動生成するように変更(Mth_A~Oとなる。VRM標準のA~Oと同じときは生成しない)
VMDモーフ設定データのインポート/エクスポート機能を追加
VMDカメラ設定データのインポート/エクスポート機能を追加
・オマケフォルダに「360度回転_上-下_螺旋移動.vmd」「360度回転_下-上_螺旋移動.vmd」「360度回転_上半身_-45.vmd」(キャラを眺めるだけのカメラモーション)を添付
1.31・既にロードされているVMDモーション(ボーン)に、表情のみのVMDを後から追加 or 入れ替えできる機能を追加
VMDモーフの"カメラ目線","コッチミンナ"等を [Look At Me](視線をカメラへ向ける) のモーションとして利用できるように機能追加
・(PC)「オマケ」フォルダに、360度回転してキャラを眺めるだけのカメラモーション(vmd)を添付
・BVHモーション→VMDカメラの順にロードすると、サイドパネルのタイトルがvmdのファイル名になってしまう不具合を修正
1.30キャラクター照明(キャラのみを照らす特殊なライト)を追加
環境光の設定に拡散反射光(Ambient)の調整を追加
ライト設定パネルにも[Revert](復帰)ボタンを追加
床の平面バリエーションに「紺」「灰」(色)を追加
VMDモーフの検出精度をアップ(どっと式,めんぼう式,Sour式,YYB式,Tac式,ゴロペコ式の自動バインドが可)
1.29内部ライブラリを更新UniVRM 0.66(MToon 3.5) にアップデート
・VMDカメラ停止中でも設定パネルの値が反映されるように変更
VMDモーフのバインド設定でパネルを開いたときの状態に戻す[Revert]ボタンを追加
・(PC)設定パネルの数値入力ボックスの一定値の増減([↑][↓]キー)を主に ±0.05 → ±0.01 に変更(パラメタによる)
・ヘルプが大きくなってきたので、ページ分割し、各項目にWebページ参照ボタンを追加
1.28VMDの表情モーフ(ブレンドシェイプ)の再生に対応
ブレンドシェイプのバインド設定をプリセットと別に、VMDモーフ用に新たに追加(自動で切り替え)
ブレンドシェイプのバインド設定を開くアイコンをサイドパネルにも追加
VMDカメラ設定に、オリジナル値にリセットするボタンを追加
・VMDモーションでの親指のボーン数を2→3個へ変更(MMDでいう親指0に対応)
音楽の開始タイミングをマイナス方向(途中から再生となる)にも設定できるように変更 (プラス方向は今まで通り、遅延して再生)
・シーンからカメラモーション(VMDカメラ)をロードしたとき、ループ再生と速度(Speed)が反映されてなかった不具合を修正
・VMDモーション→VRMモデルの順にロードすると、モーションが動かない不具合を修正
1.27VMDカメラモーションの再生に対応(設定パネルも追加)
・サイドパネルにカメラ設定(VMDカメラモーションがロードされているときは、VMDカメラ設定)を開くボタンを追加
・サイドパネルのモーション設定ボタンのアイコンをレンチから人型に変更
・サイドパネルに音楽の開始タイミング設定(Music Start Timing)を開くボタンを追加
モデルプロパティ(Model Property)にテクスチャサイズ[最大]の情報を追加
モデルプロパティ(Model Property)にNEOKET(アバター制限ページ)のリンクボタンを追加
・パネルがロックされているとき、パネル上にマウスがある場合はホイールが効かないように変更
・GLTFのzipアーカイブを、zipのままロードする機能を追加(※Experimental:ものによっては、テクスチャが上手く読み込めない不具合があります)
>>1.26 以前の情報はこちらに掲載してます
→ バグ報告は Twitter などでお気軽にどうぞ!(超助かります👍)

その他、細かい変更点などは「補足説明」「バージョンによる差異について」にあります。








(Google Drive を利用)


Android 5.0以上 (※6.0以上推奨)
※「提供元不明アプリのインストール」許可が必要です。



>>アクシアVRM(縞パンver.)は、Google Drive からもDLできます。


 簡単な操作説明やヘルプはアプリにも入れてあるが(ボタンを押すと出る)、使い方や既知の不具合なども一緒に、マニュアル代わりにここにも載せておこう。今後のオープンソースプロジェクトのバージョンアップやバグフィックスなどによっても修正は入るとは思うが、現在までの状態を確認するのにも良いかも知れない。


■アプリのダウンロード

■操作説明
 ●基本操作(キー・マウス[PC] / タッチ[Android])
 ●キーボードでのカメラの操作(PC)
 ●ゲームパッドでのカメラ操作
 ●カメラ切り替え/速度リストのキー操作(PC)
 ●ショートカット (PC)

■サイドパネル
 ●ファイルの読み込み
 ●モーション
 ●ブレンドシェイプ
 ●背景(ステージ)
 ●音楽
 ●その他
 ●モデル情報

■ファイル関連(ファイル / シーン / 音楽)
 ●各種ファイルを開く (Open File)
 ●VRM フォルダーブラウザ(VRM Folder Browser)
 ●VRM のファイル移動(VRM File Move)
 ●キャラクターリスト (Character List)
 ●シーンの読み込み/保存(Scene Load/Save)
 ●シーンの削除(Scene Delete)
 ●音楽の選択 (Music Select)
 ●リストから音楽を削除 (Remove Songs)
 ●音楽の開始タイミング設定(Music Start Timing)
 ●音量の設定(Music Volume)

■各種設定/ツール
 ●オプション設定等
 ●マイク感度の設定 (Mic Sensitive)
 ●エフェクト切り替え (Effect Select)
 ●ライトの設定 (Light Settings)
 ●モーションの再生設定 (BVH/VMD/Preset Play Settings)
 ●VMDモーション補正 (VMD Motion Adjustment)
 ●配置の移動と回転 (Move and Rotate Placement)
 ●3Dオブジェクトの配置 (3D Object Transform)
 ●床のサイズ変更 (User Object Size)
 ●360度画像/動画の設定 (360deg Image/Video Settings)
 ●2D(背景)画像/動画の設定 (2D Image/Video Settings)
 ●Viewerカメラの設定 (Viewer Camera Settings)
 ●VMDカメラの設定 (VMD Camera Settings)
 ●カメラ速度リスト (Camera Speed List)
 ●カメラ切り替え (Camera Switching)
 ●カメラ映像の出力 (Camera Video Output)
 ●ゲームパッドの設定 (GamePad Settings)
 ●プリセットブレンドシェイプのバインド設定 (BlendShape Binding)
 ●VMDモーフのバインド設定 (VMD Morph Binding)
 ●モデルプロパティ (Model Property)

 ●画面の設定 (Screen Settings)
 ●FPS モニター (FPS Monitor)
 ●再生情報モニター (Play Monitor)
 ●ログビュー (Log View)
 ●アプリコンフィグ / メンテナンス (App Configuration/ Maintenance)

■背景を変える
 ●背景の3Dモデルを読み込んでみる
 ●360度, スカイドーム(全天球)画像読み込んでみる
 ●エフェクト(パーティクル)を入れてみる

■試験的に実装している機能 (Experimental)
 ●ショートカット的なもの
 ●ブレンドシェイプのキー操作

■プリセットモーションと表情(VRM のブレンドシェイプ)の対応について
■VMD表情モーフとVRMのブレンドシェイプの対応について

■VRoid Hub 連携
 ●VRoid Hub について(連携方法)
 ●VRoid Mobile で作ったキャラを使う
 ●フィルタの使い方
 ●グループの使い方
 ●グループ編集

■各種素材について/入手方法
 ●VRM(3Dキャラクター)の入手方法
 ●VRMファイルを作ってみたい
 ●GLB(3Dモデル)の入手方法
  ●GLBで背景モデルを自作する
  ●GLBで床を自作する
 ●GLTF(3Dモデル)の入手方法
  ●背景GLTFの設定リスト(使用例)
 ●360度, スカイドーム(全天球)画像の入手方法
  ●日本列島360 紹介
  ●++skies; 紹介
 ●動画素材(背景用)の入手方法
 ●BVH(モーションファイル)の入手方法
  ●使用できる BVH を作る(変換する)
 ●VMD(モーションファイル)の入手方法
  ●VMDモーション
  ●VMDカメラモーション

■バージョンによる差異について
 ●Android の試用版 (Trial) ダウンロード
 ●過去バージョンのダウンロード

■補足説明
■既知の問題(不具合など)
■更新履歴
■利用したオープンソースプロジェクト・素材など
■オマケ?

(※) VRoid Studio 0.14 / VRoid Mobile 1.15 / Windows10(x64) / Galaxy S7 Edge (Android 7.0/8.0) で確認
(※) 内部ライブラリ・SDKバージョン: Unity 2019.4 / UniVRM 0.66 (MToon 3.5) / VRoid SDK 0.0.21
(※) スクリーンショット/仕様はリリース当時のバージョンのものなので、現在のバージョンとは異なってる場合があります。



■操作説明

●基本操作(タッチ[Android] / キー・マウス[PC])

(Android 版)
[ドラッグ] カメラ回転
[ピンチ] カメラ遠近
[指2本 or 3本でドラッグ] カメラの視点移動 (※3本の場合、先に中指と薬指を画面に置き、人指し指でドラッグすると細かい操作がしやすい)
[画面端でスワイプ] サイドパネルの開閉
[バックキー] アプリ終了(3秒以内に2回押しで終了)

(PC 版)
●マウス
[ドラッグ] カメラの回転
[ホイール] カメラの遠近
[右/中ボタンでドラッグ] カメラの視点移動
[画面端でスワイプ] サイドパネルの開閉
[進むボタン] ダイアログ等でのOKに相当するボタン押下(※削除/上書きなどの操作は除く。ボタンによります)
[戻るボタン] パネルを閉じる, キャンセルに相当するボタン押下(※ボタンによります)

●キーボード
[←][→][↑][↓] カメラの視点移動
[Ctrl]+[←][→][↑][↓] カメラの回転
Viewerカメラの設定で[Ctrl]ボタン動作を反転可
[+][-](テンキー) カメラのズームイン/アウト
[Tab] サイドパネルの開閉
[Space] 音楽の再生/停止
[Enter] ダイアログ等でのOKに相当するボタン押下(※削除/上書きなどの操作は除く。ボタンによります)
[Esc] パネルを閉じる, キャンセル(※ボタンによります)/アプリ終了(3秒以内に2回押しで終了)

[Z][C][S][X] カメラの視点移動 第2キー
[Ctrl]+[Z][C][S][X] カメラの回転 第2キー
Viewerカメラの設定で[Ctrl]ボタン動作を反転可
[A][D] カメラのズームイン/アウト 第2キー

●ゲームパッドでのカメラ操作
[左右スティック] カメラの視点移動
[D-pad] スティックの複製またはカメラ切替、ブレンドシェイプのセット(8方向)等 (*1)
[X/西]ボタン カメラのズームイン (*2)
[B/東]ボタン カメラのズームアウト (*2)
[Y/北]ボタン カメラ切替のホーム (*2)
[A/南]ボタン カメラ速度リスト#0 (*2)
[Start]ボタン 音楽の再生/停止 (*2)
[Back]ボタン パネルを閉じる/戻る (*2)
[左ショルダー] カメラ速度 -0.05単位 (*2)
[右ショルダー] カメラ速度 +0.05単位 (*2)
[左トリガー] カメラ速度リスト押下中#2 (*2) (*3)
[右トリガー] カメラ速度リスト押下中#2 (*2) (*3)
※機器によってはボタンの名称が異なることがあります。
(*1) ゲームパッドの設定(GamePad Settings)で選択可
(*2) ゲームパッドの設定(GamePad Settings)で変更可
(*3) 要: カメラ速度リスト(Camera Speed List)で #1, #2 を追加
 右スティックの動作は Viewerカメラの設定 の設定(左スティック)の逆になります。


[v1.23 以前の設定方法] ※機器によっては、アプリ起動時の [Configuration] の [Input] 設定で、右スティックを使える場合があります。その場合は、水平方向は[HorizontalStickR]、垂直方向は[VerticalStickR]をダブルクリックし、利用する方向にスティックを倒せば登録されます(HorizontalStickR は右, VerticalStickR は上など)。

※Unityの仕様変更により、v1.24 以降ではダイアログが削除されました

Logicool Rumble Gamepad F510 での設定例
(※開発のテストにも使っている機器なので、デフォルトのままでも可)


●カメラ切り替え/速度リストのキー操作(PC 版のみ)
(テンキー)
[0]~[9] カメラ位置の移動
[Alt]+[0]~[9] カメラ位置の保存
[.] (ピリオド) カメラをホーム位置へ移動 (起動時のカメラ位置)
[*] (アスタリスク) カメラを中央位置へ移動 (ステージの中央に寄せ、真正面or背面に移動)
[/] (スラッシュ) カメラを反転位置へ移動 (ステージの中央に対して、回転とX軸[真横]の値を反転した位置)
[左Shift]+[移動・回転] 速度リスト押下中#1
[右Shift]+[移動・回転] 速度リスト押下中#2
[Ctrl]+[/](テンキー) 速度リスト#0
[Ctrl]+[PgUp] 速度リスト前&適用
[Ctrl]+[PgDn] 速度リスト次&適用
[F9] カメラ速度 -0.05 単位
[F10] カメラ速度 +0.05 単位
※v1.4 以前のブレンドシェイプのキー操作は [Ctrl]押下 または [CapsLock]オンにすることで利用できます。

※カメラの移動速度,リストは「Viewerカメラの設定(Viewer Camera Settings)」で変更できます(シーンごとに保存・読み込みもできます)。

●その他のキー操作(PC 版のみ)
設定パネルの数値入力ボックスで、[↑][↓]キーで一定値の増減可(※増減値は入力項目によって異なります)

※暫定的ではありますが、「ショートカット」もあります(※機能追加・変更などで、大幅に変わる場合があります)



■サイドパネル

●ファイルの読み込み [左サイドパネル]

[ファイル読込] 対応している素材のローカルファイルをアプリにロードします。

※アプリによってはダウンロードしたファイルは専用フォルダに保存されることがあります(Chromeなどデフォルトの場合)。仮想フォルダやクラウドストレージでも同じようにそのアプリ専用アクセスになることがあります(※Android の場合「ダウンロード」フォルダが内部・外部ストレージ両方の仮想ダウンロードフォルダとなっているため、ファイルの情報が取得できない→直接フォルダアクセス("/storage/emulated/0/Download"等)した場合は読み込める)。その場合他のアプリからはアクセスできないことがあるので、別のフォルダに移動して読み込んでみて下さい。
※Android11(API30)ではストレージの制限権限などのシステムが大幅に変更されたため、ファイルアクセスが上手く行かないかも知れません(持ってないので、未検証)。なるべく内部ストレージで汎用的なフォルダ(OSが用意してるフォルダは無視される可能性がある)などで試して下さい。
(参考) Android 11で画像やデータが消えた、アクセスできない、の原因はアクセス権限の変更、対処法アリ

●Android の場合
スマホの場合、端末(内部ストレージ)または、SDカード(外部ストレージ)から開いた方が良い。
※仮想フォルダや仮想ドライブ(クラウドストレージ)は、OS標準アプリや専用アプリでしか開けない場合がある(無視される)。


VRoid Hub に接続し、直接キャラクターをロードできます(※連携設定が必要です)。
※スマホで利用する場合は、モデルのサイズが大きい場合もあるので、なるべくWIFIを使って下さい。

各種類ごとにファイルを開きます(PC版 / Android 8.0 以上のみ)。
シーンの読み込み/保存を開きます。
VRM フォルダブラウザ (VRM Folder Browser) を開きます。

[-] のとき、VRMを置き換えでロード (従来と同じ) / [+] のとき、VRMを追加でロードします。
キャラクターリスト (Character List) を開きます。
※VRMをロードできる数に制限はありませんが、ハードウェア(メモリ)のキャパシティを超えた場合、アプリが落ちたり、フリーズしたりすることがあります。特にAndroid等モバイル端末で、複数ロードでフリーズする際には、軽量化したモデルを使ったり、他の常駐アプリ等を落とす、画面解像度を低くするなど、メモリを確保して利用して下さい。


●モーション [右サイドパネル]

[BVH] or [VMD] 最後に読み込んだ BVH または VMD を再生します。デフォルトではテスト用の「test.bvh」が使われます。

VMDファイルの場合、既にモーション(ボーン)がロードされている時、表情のみのVMDを後から追加、または入れ替えできます(v1.31 以降)(※表情のみ → ボーン(モーション) の順にロードすると、単にモーションの変更となります)
※表情のみのVMDとあっても、ボーンが含まれているファイルもあります(人ボーンとして必要なボーンを満たしてない場合は無視されます。[例:目のボーンのみ等])。どの種類のデータとして認識できたかは、「ログビュー」で確認できます(ロードされた vmd ファイルの後に "Motion":ボーン, "Face":表情, "Camera":カメラ のように括弧内に表示されます)
・再生の長さはモーション(ボーン)の長さとなるため、追加した表情の再生も、モーション(ボーン)の長さまでとなります。

※v1.33 以前のVMD再生は試験実装(Experimental)です。不具合が出る可能性もあります。なるべく v1.34 以降のバージョンを利用して下さい
また、このVMD再生はシュミレート的なものであり、完全な再現ができるものではありません。意図しない動作や不自然な関節の動きなどが出る場合があります(特に足や指など。また、つま先IKには対応してません)。MMD x VRMモデルの仕様違いから発生する問題は、今後のバージョンで調整機能等で対応していきます(そのほとんどが元データのMMDモデルとVRMモデルの「ボーンの長さ,有無,構造(位置),初期角度」の違いが原因で、VMD再生自体は単純に対応するボーンの「位置,回転,補間」の計算でしかないため)。
現在わかっている不具合など

※VMD, その他素材利用の注意事項など → 「各種素材について」も合わせてご覧下さい
* VMD and other material usage precautions → See also "About various materials"

BVH or VMD(モーション)をアプリにロードします。ただし、BVH は「Y-up 右手座標系」(OpenGL系、Maya, Daz3D など)の座標系になります。「Z-up 右手座標系」(3ds Max など)の場合は、見た目がおかしくなります。[>>3Dツールごとの座標系など]
  BVH or VMDモーションの再生設定(BVH / VMD Play Settings)を開きます。
※処理落ちなどでモーションが遅れた場合は、再度クリックすると再計算されます(Sync Start がオンのとき)。

※表情はVRM 自身が持つブレンドシェイプ設定の定義が反映されるため、モデルによって異なる場合があります。また「VRoid」や「セシル変身アプリ」はデフォルトの場合、一定のパターンで動的にブレンドシェイプが割り当てられます。詳しくは「プリセットモーションと表情(VRM のブレンドシェイプ)の対応について」を参照して下さい。

カメラ設定を開く
オレンジのときはViewer(従来)カメラモードで、青のときはVMDカメラモーションがロードされている状態になります。設定パネルの[モード]で切り替えできます。

[T-Pose] Tポーズに固定します。

[ドロップダウン] プリセット曲のモーション
├ [CRS] プリセット曲(Unite In The Sky)のモーションを再生します。ユニティちゃんライブステージ -Candy Rock Star- のダンスです。
 余談ですが「CRS」(Candy Rock Star の略)はユニティちゃんのライブステージでの衣装の名前ですが、
 「CRS」という略記はプロジェクト名などにも使われているため、関連するものにはよく利用されます(むしろ慣例のようになってます)。
└ [Mirai] ミライ(Mirai) / ミライ小町 のモーションを再生します。
※処理落ちなどでモーションが遅れた場合は、再度クリックすると再計算されます(Sync Start がオンのとき)。
※タイミングによっては位置や回転が少しずれてしまうことがあります。その場合は再度クリックして修正して下さい

プリセット曲とブレンドシェイプの連動のオン・オフを切り替えます。
 緑のときは連動状態(オン)で、モーション変更でプリセット曲とブレンドシェイプが連動して再生されます。
 グレーのときはオフでモーションの選択だけになります。
 クリックしてオンにしたときにも適用されます。
※複数のキャラがロードされているときには、モーションの変更だけになります。


●ブレンドシェイプ [右サイドパネル]

(リップシンク)
┌ [None / Key] なし / キーボードで口パク操作できます(PC版のみ)。
├ [Preset / Auto] プリセット曲(Unite In The Sky または Mirai)が再生されているときは該当曲のリップシンクが再生されます。
 また、再生している VMD にリップシンクデータが入っている場合は、VMDでの口パクをします。それ以外のときは"あいうえお"の口パクをします。
├ [Mic LipSync] マイクから音声を認識して口パクします。
└ [Audio LipSync] 再生中の音源(音楽)から音声を認識して口パクします。楽器音なども混ざるため、正確さには欠ける事はご了承下さい(かなり曲[ボーカル]にも依存します)。マイク入力の調整をすれば、少しだけましになります(笑) [※ストリーミング再生でのリアルタイムな認識のため、毎回必ず同じ認識になるとは限りません]。
※複数キャラのとき、[Mic LipSync] と [Audio LipSync] は同時に使えません。最後に選択された方に統一されます。
※[Preset / Auto] 以外のとき、ブレンドシェイプのキー操作もできます。

マイク感度設定を開きます。
ブレンドシェイプのバインド設定を開きます (プリセット または VMD モーション用のバインド設定が開きます)。
[Auto Blink] 目パチをします。
※「Mirai」モーションにはブレンドシェイプ(表情)も含まれているので、効きません。またVMDに表情データが入っているときにも無効となります(v1.28 以降)。
[Look At Me] 目でカメラを追います(※目のボーンが入ってるモデルのみ。T-Pose だとわかり易い)。
※「Mirai」モーションにはブレンドシェイプ(表情)も含まれているので、タイミングによっては効きません


●背景(ステージ) [右サイドパネル]

(ドロップダウン) 背景を変更します。

[プリセット背景の変更] 何も無い(Plane)、ユニティちゃんステージ(CRS Stage)、浮遊(Floating)、ミライステージ(Mirai Stage)、クリスタルステージ(Crystal Stage)が選択できます。これら背景は 3Dモデル(gltf/glb)360度(全天球)画像/動画などをロードすることで内容を入れ替えることもできます。ドロップダウンを切り替えると内容はリセットされます(背景のベースとなります)

[床の変更] 主に透明な床のようなものを変更できます。360度(全天球)画像/動画を読み込んだときなどに良いかも知れません。プリセットの Plane の床と同じものも入っていますが、こちらはサイズの変更ができます(Plane では背景となっていてサイズは固定されてます)。3Dモデル(gltf/glb)とは排他的で、モデルを読み込んだときは「(床なし/3D)」(=床なし、または3Dモデル)に、逆に床を切り替えると、モデルは消去されます(どちらか1方のみ表示可)。

[空の変更] 主に空の画像を変更します。360度(全天球)画像/動画とは排他的で、360度画像/動画を読み込んだときには「(空なし/360)」(=空なし、または360度画像/動画)に、逆に空を切り替えると、360度画像/動画は消去されます(どちらか1方のみ表示可)。

360度(全天球)画像(jpg, png, bmp)/動画(mp4)、または 3D背景モデル(gltf/glb)を読み込みます。
3Dモデル(gltf/glb)がロードされているとき、オブジェクトのサイズや回転、位置などが編集できます。
を使用しているとき、サイズを変更できます(元のサイズが1)。床のサイズは各床ごとに保持されます。
360度画像/動画がロードされてるとき、全天球を回転/サイズ変更ができます。
2D画像/動画がロードされてるとき、サイズ変更ができます。

エフェクトの切り替えを開きます。




●音楽 [右サイドパネル]

[Start] (= Sync Start) オンになっているとき、音楽再生ボタンを押すとモーションを最初から再生します。また音楽に合わせてモーションの再生位置を同期します。
[Stop] (= Sync Stop) オンになっているとき、音楽停止ボタンを押すとモーションを停止し、最初のフレームに戻します。音楽なしでモーションを再開したいときは、モーションの[BVH / VMD]または[CRS](トグルボタン)をもう一度押すと再開できます(CRSの口パクのみはCRS楽曲再生で再開されます)。

音楽を再生します。
音楽を停止します。
音楽の選択 (Music Select)を開きます。再生する曲・再生方法などを選択できます。
音楽の開始タイミング設定を開きます。
音量の設定を開きます。 (※右クリックでミュート切替可)


●その他 [左サイドパネル or 各パネル]

オプション設定を開きます。パネルの不透明度、マイク感度、3Dオブジェクトの配置などの各設定へ移動できます。
「操作説明/ヘルプ」が出ます。
パネルなどを閉じます。
パネルの表示をロックできます。グレー状態のときは通常の状態で、パネル外をクリックするとパネルが閉じられます。青のときはロック状態で、パネル外でカメラを操作できます。
※ただし、パネルの切り替え、モデルロードなどアプリの作業中は閉じられます。


●モデル情報 [左サイドパネル]

 モデルに設定されている各項目(メタデータ)が表示されます。内容によってブラウザやメーラーなどを起動できるアイコンが横に表示されます。
 また VRoid Hub からロードされた場合、情報が追加表示されることもあります(その場合、[*VRoid Hub] が付きます)
※VRoidHubモデルの場合、詳細画面(利用条件)に表示されるライセンスは「追加ライセンス」となるため、サイドパネル上では各種類の「その他の条件」のリンクから確認できます。また特定のキャラクターライセンスなど(例:ユニティちゃんライセンス)も「その他の条件」に設定されていることもあります。

ブラウザでWebページを開きます
Googleで検索します(ブラウザ)
メーラーを起動します

 内容の検出は "http://" または "https://" の場合、URLと認識されます。VRoid Hub モデルの場合、タイトル・作者のページが開きます。
 また連絡先では、Twitter アカウントの場合(@fantom_1x または Twitter: fantom_1x など)はツイッターのURLを開きます。メールアドレスの場合はメーラーが起動します。
 その他の語句はGoogle検索となります。



■ファイル関連(ファイル / シーン / 音楽)

●各種ファイルを開く (Open File) [から]

 各種類ごとにファイルを開きます。これは [ファイル読込] がファイル種類を問わずに共通でフォルダを開くことに対し、種類ごとに最後にアクセスしたフォルダを記憶しておけるものです。ただし、フォルダの記憶はPC版とAndroid 8.0以上のみの機能になります(Android 7.0以前ではどのボタンでも共通になります[=OSが対応してないため])。
VRM フォルダブラウザ (VRM Folder Browser) を開きます。

※アプリによってはファイルが専用フォルダにダウンロードされることがあります(Chromeなどデフォルトの場合)。仮想フォルダやクラウド(仮想)ストレージでも同じようにそのアプリ専用アクセスになることがあります(※Android の場合「ダウンロード」フォルダが内部・外部ストレージ両方の仮想ダウンロードフォルダとなっているため、ファルダ内の情報が取得できない→直接フォルダアクセス("/storage/emulated/0/Download"等)した場合は読み込める)。その場合他のアプリからはアクセスできないことがあるので、別のフォルダに移動して読み込んでみて下さい。>> [ファイル読込] と同様



●VRM フォルダーブラウザ(VRM Folder Browser)

 開いたフォルダからVRMファイルを検出し、サムネイルの一覧を作成します。サムネイルをクリックすることにより、VRMをロードできます([ファイル読込]でVRMを読み込むのと同じになります)。サムネイルは縮小してキャッシュされ、2回目以降の表示はキャッシュが使われます。キャッシュは元VRMのファイル名と更新日付に依存します。VRMにサムネイルが設定されてない場合は、白い画像になります。

 一度開いたフォルダはドロップダウンに登録され、ドロップダウンから選択でもフォルダを移動できます。登録されているフォルダパスは、存在しないか、VRMファイルが1つも見つからなかったときに、自動的にドロップダウンから削除されます(※次回起動時に削除)。

フォルダを開きます。
VRM ファイル移動 (VRM File Move) を開きます。(※現在、Android には実装されてません)


●VRM のファイル移動(VRM File Move)(※現在、Android では利用できません)

 VRM Folder Browserで開いているフォルダの VRMファイルを「移動先」フォルダへ移動します。
チェックして、[移動]ボタンでファイルを移動できます。

[移動先を開く] ファイル移動の実行後、移動先のフォルダを VRM File Browser で開きます。

フォルダを開きます。
VRM フォルダブラウザ (VRM Folder Browser) を開きます。


●ファイルのドラッグ&ドロップができます(※PC版のみ)

 ドロップされたファイルは順次ロードされます。同種類のファイルではあまり意味がありませんが、例えばキャラクター(vrm)&モーション(bvh/vmd)&背景モデル(gltf/glb)&音楽(wav)を同時にドロップすると順次ロードされていきます。


●キャラクターリスト (Character List) [から]

 現在ロードされているVRMをリスト化します。
選択されたキャラクターの情報がサイドパネルに表示され、設定の変更等ができるようになります。

※(PC) パネルを閉じているとき、[Ctrl + Tab] で次のキャラへ / [Shift + Tab] で前のキャラへ移動できます。
※同じキャラを複数ロードしたときには (同じファイル名 or 同じ VRoidHub の ID) 通し番号 ([#1~n:常にロード順に番号増加]) が付きます(サムネイルの右上にも表示されます)。

現在ロードされてるVRMを削除(アンロード)します。
VRMの並び順を変更します。


●シーンの読み込み/保存 (Scene Load/Save) [から]

 現在の各種データ(キャラクター, モーション, 背景モデル, 空, エフェクト, 音楽, ブレンドシェイプ, マイク感度など)の設定を1つの「シーン」という単位で保存/読み込みを行います。

 各確認ダイアログには付加機能があり、[読み込み]では各種類ごとでのロードすることができます。

[読み込み] 選択したシーンをロードします。
 確認ダイアログでは読み込む種類を選択できます。ステージ(背景ベース)以外は現在の状態に追加となります。
 例えば「キャラクター(VRM)」のみチェックを外して、背景のみを現在と入れ替える、なんてこともできます。
 "Plane"ステージの床は初期状態では「ステージオブジェクト」の一部です。ロードオプションは「床」ではなく「ステージ」の方になります(手動で床を変更した場合、「床」がロードオプションになります)。
※VRoid Hubのキャラクターをロードするには予めログインしておく必要があります(VRoid Hub からロードした場合は、デフォルトではタイトルに "(VRoid Hub)" が付いています)。
※VRoid Hubのキャラクターはリアルタイムにダウンロードされるため、なるべく高速な回線/WIFI等を使って下さい。通信状態により、繋がらない場合もあります。


[名前変更] 選択したシーンの名前を変更できます。
 設定内容は変更されません。

[新規保存] 現在の状態をシーンとして保存します。
 確認ダイアログでは名前を自由に付けられます。[自動生成]は"曲名 / キャラクター in 背景"になります。

[上書き保存] 選択したシーンに現在の状態を上書きします。また名前の変更も同時にできます。
 確認ダイアログでは名前を変更できます。[上書き保存]では名前と設定が保存されます。
 [名前変更]ボタンは名前だけの変更になります。設定は保存されません。
 デフォルトでは選択したシーンの名前になります。[自動生成]ボタンを押すと、現在の曲名、キャラクター、背景などから自動で生成します。

[自動保存] オートセーブされているシーンをロードできます。
 シーンやファイルの読み込み、背景ベース変更、アプリの終了時など大きな変更がある前に自動バックアップとして保存されています。ただし、あくまでも変更前の状態だけなので、履歴を遡るようなことはできません。
 これも [読み込み] と同じように確認ダイアログが表示され、種類を選択して一部のみを読み込むこともできます。

シーンの削除(Scene Delete)へ移動します。
データをファイル(.json)から読み込みます。
データをファイル(.json)に保存します。

シーンのデータにはサムネイルや素材自体は含まれません。ファイルの絶対パスとアプリでの設定値のみが記録されています。従ってファイルを移動したときなどは「ファイルが見つかりません」等のメッセージがでます。その場合は元のパスに素材ファイルを置くか、一度読み込んでから保存し直せば利用できます(※PC 版と Android 版で互換性はありますが、パスが変わってしまうので注意して下さい)。
※サムネイルはロード時や「VRMフォルダブラウザ(VRM Folder Browser)」等を使ったときに生成(キャッシュ)されます。ただし、VRoidHub のモデルを利用してる場合、VRoidHub にログインしておく必要があります(ログインしてからロード画面等に行けば、自動生成されます)。
※シーンデータはバージョンが低い→高いものは自動変換されますが、バージョンが高い→低いものでは利用できない場合があるので注意して下さい (作成したバージョンより低いバージョンで読み込むと、一部データを損失する場合があります)。

●シーンの読み込み
 ロードは順次読み込みとなり、現在の状態に追加/置き換えで読み込まれます([ファイル読込]で1つ1つ読み込むのと同じ動作になります)。
 ただし、背景モデル(gltf/glb/プリセット背景/床など)や空(360度画像or動画/プリセット空)などは排他的となります(最後に読み込まれたものが表示されます)。
 また、ステージ(Plane / CRS Stage / Floating など)は背景のベースとなり、読み込むとプリセット背景の初期状態にリセットされます。

※ver.1.1以前は360度画像をプリセット背景に適用できません。1.2以降で保存したデータを1.1以前で読み込んだ場合、見た目が変わることがあります。なるべく保存したバージョン以降のアプリで読み込んで下さい。

 キャラクター(VRM)のロードに関しては、現在の状態に追加、または置き換えることが選択できます。

[全てクリアしてロード] 現在の全てのVRMを削除(アンロード)してから、選択されたキャラを追加でロードします。
[追加ロード] 現在の状態のままキャラを追加でロードします。
[選択で置き換え] 現在選択されている(サイドパネルに表示されている)キャラと、シーンデータ内の選択されたキャラを置き換え(1つのみ) でロードします。
[並び順で置き換え] キャラクターリストと同じ順にシーンデータ内のキャラと置き換えでロードします (※チェックを外したものは単に無視されます)。

※キャラ名をクリックすると、行単位でのオン/オフとなります。各素材のオン/オフはチェックボックスでします (「置き換え」のときのみ。「追加」のときは、キャラがロードされない場合、モーション等もロードできません)。


●シーンの削除 (Scene Delete) [から]

 保存されているシーンを削除します。削除されたデータは元に戻せません。
 [削除]ボタンで実行されます。
シーンの読み込み/保存(Scene Load/Save)へ移動します。


●音楽の選択 (Music Select) [から]

リストに曲を追加します。対応するファイルの種類は「wav」「mp3」「ogg」です。
「リストから削除(Remove Songs)」へ移動します。
曲の再生モードを切り替えます。「1曲停止」は曲が終わると停止、「1曲ループ」はループ再生します(シームレスループ曲に向いています)。
※v2.0 で曲のシャッフルと連続再生は廃止されました。
再生ボタンを押してから遅延して開始する時間を設定します(秒)。設定は曲のファイル名ごとに記憶されます。BVH / VMD モーションなどにタイミングを合わせたいときなどに使います。


●リストから音楽を削除 (Remove Songs) [から]

リストから選択されたファイルを削除します。ファイル自体は削除しません。
[削除]ボタンを押すと実行されます。


●音楽の開始タイミング設定 (Music Start Timing) [から]

 再生ボタンを押してから、音楽の再生を開始する時間を設定します(秒)。BVH / VMD モーションなどにタイミングを合わせたいときなどに使います。
 +(プラス)方向は遅延して再生(例えば +2.0 なら 2秒後に再生開始)、-(マイナス)方向は途中からの再生(例えば -0.3 なら 0.3秒の位置から再生開始)となります。
※特に素材をロードした直後には、処理の負荷などにより、わずかにずれることがあります(その場合、音楽の停止ボタンを押してから、再生し直してみて下さい)。
設定は曲のファイル名ごとに記憶されます。
※プリセット曲は設定できません。
(Sync)Start がオンになっているとき、音楽に合わせてモーションの同期を行います。停止しているとき(白黒アイコン時)は最初から再生します。

♪私の時間 (※音楽はfullを使用)
モーション:@hino [ニコ動] / 振付:@足太ぺんた [ニコ動] / 楽曲:@くちばしP [piapro]
♪XYZの魔法
モーション:@hino / 振付:@足太ぺんた /楽曲:@Nia

キャラ:イトッポイド mode:stage / @イトッポイド
衣装:海のワンピース / @カティア
背景動画:@音街ウナ公式 [nc164400] [nc229803]


●音量の設定 (Music Volume) [サイドパネルの から]

 ソフトウェア音量を設定します。単位は%で、最大100で現在のハードウェア音量に相等し、50で半分(-6dB)、0でミュート(-80dB)となります。

ミュートの切替



■各種設定/ツール

●オプション設定等 (Settings / Tools) [から]

 各設定パネルを開きます。PC版の場合は、一部ショートカットを試験的に定義しています(ショートカットは変更される可能性があります)。

[パネル位置のリセット] 全パネルの位置をリセットします。各パネルは上部(タイトル文字の上あたり)をドラッグすると移動できます。


●マイク感度の設定 (Mic Sensitive) [ or から]

[入力レベル] (Level) マイクまたは音源(音楽)からの入力値がリアルタイムで表示されます (0~1)。バーが赤いときは認識されない音量で、緑で認識されます。それらは以下の「Threshold」の値で分別されます。
※「Mic LipSync」「Audio LipSync」のとき測定可能です。
※ハードウェア(PC等の録音[マイク]レベル)の設定にも依存します。音源入力のときはハードウェア音量には依存しませんが、音楽ファイル自体の音量には依存します。
[しきい値] (Threshold) このレベルより下の場合、認識しません。主に雑音のカットに使います。
[増幅率] (Gain) 元のレベルを定数倍します。元の入力レベルが小さすぎたり大き過ぎたりする場合など調整するのに使用します。

※スマートフォンの場合はマイクとスピーカーが一体となっているので、購入時付属の「マイク付きイヤホン」またはヘッドホン等を利用すると声を認識しやすくなります(「しきい値 (Threshold)」を調整すれば、ある程度は音楽付きでも認識できます)。



●エフェクト切り替え (Effect Select) [orから]

 エフェクト(パーティクル)を選択できます。背景(ベース)を切り替えるとリセットされます。

[放出量] (Emission) 効果量を調整できます。1が基準量です。0.5で半分、2.0で2倍のパーティクルが生成されます。
※パーティクルの量が多くなるほど、重くなることがあるので注意して下さい。




●ライトの設定 (Light Settings) [から]

 ライト(光源)の方向・輝度・影の濃さ等を設定できます。ステージを切り替えるとデフォルトにリセットされます。

●光源タブ
[環境光] 背景を含めた全体の照明。大雑把には太陽光に相当します。背景オブジェクトに影を落とすのはこの光源になります。
[キャラクター] キャラクター専用の照明。背景オブジェクトには影を落としません。
[キャラ照明使用] オンでキャラクター照明が使用可能になります。
[独立した光源] キャラクター照明を、環境光の影響を受けない独立した光源にします。
※背景オブジェクトにキャラクターの影を落としたいときは、オフする必要があります。
※照明効果はとても負荷が高いので、利用しない場合は「キャラ照明使用」をオフにして下さい(「独立した光源」がオンで、環境光とそっくり同じ設定だと、見た目が変わらない場合があります → 環境光だけにした方が負荷が低い)。

[横回転] (Yaw) 光源を水平(横)方向に回転
[縦回転] (Pitch) 光源を垂直(縦)方向に回転
[光の強さ] (Intensity) 輝度の強弱 (1が基準値)
[影の濃さ] (Shadow) 影の強弱 (1が基準値)
[拡散反射光] (Ambient) ワールドの拡散光の強弱 (1が基準値)
※影の有無は背景素材のシェーダにも依ります(例えば、Unlit系シェーダに影は付きません)。
※拡散反射光 (Ambient) は正確には照明ではなく、ワールド全体の反射光のため、各照明とは別に影響を及ぼします。

(カラーピッカー/パレット)
 光源の色を設定できます。デフォルトは太陽光の色(#FFF4D6)です。ピッカーで作った色はパレットに保存して置けます。

パレットに現在の色を追加
クリックした色をパレットから削除 オン/オフ
※オン(赤)のときは削除、オフ(白)のときは色の適用(通常の動作)になります。
パレットをクリア (全て削除)
※アプリ起動時にパレットが空の場合は、自動的にデフォルト光源色(#FFF4D6)が1つだけ追加されます。

[デフォルト光源] (Reset to Default) デフォルトの設定にリセット(太陽光の色[#FFF4D6]と光源の方向[回転])

設定値をファイル(.json)から読み込みます。
設定値をファイル(.json)に保存します。
※カラーパレットのインポートでは、同色が既に登録されている場合、無視されます(※詳細はログビュー(Log View)で見ることができます。)。




●モーションの再生設定 (BVH/VMD/Preset Play Settings) [orから]

 ロードされているBVH / VMD / Preset モーションのループ再生/速度/回転/位置を変更できます。

[ループ再生] (Loop) オンでループ再生します。オフでは1回再生で停止します。(※Preset は利用不可)
[再生速度] (Speed) 再生の速度を変更できます(元の速度は1)。例えば、BVH で 30fpsのデータを再生すると早送りのように見えるので(BVH では 60fps が基準)、その場合は、0.5 にするとちょうど良い感じに見えます(※VMD は 30fps が基準のため、60fps のデータを再生するには 2 にすると良い)。
[回転] (Rotation) 向きの回転をします(-180~180度)。
[X 位置] (Position X) ワールド座標X方向(横)に移動します。
[Y 位置] (Position Y) ワールド座標Y方向(縦)に移動します。
[Z 位置] (Position Z) ワールド座標Z方向(奥)に移動します。
※位置(Position)はスライダーの範囲より大きい値または小さい値をテキストボックスに入力できます。
※設定値は"ファイル名"(拡張子を含む)で保存されます。
※"01.vmd", "test.bvh" など、重複しやすい名前だと、設定が上書きされてしまうので注意して下さい
※フレーム情報は内部処理での単位であり、元データのフレーム位置・数とは一致しない場合があります。

モーションを再生します。(Sync)Start がオンになっているときは音楽に同期し、停止しているとき(白黒アイコン時)は最初から再生します。
VMDモーション補正へ (※VMDモーションのみ)
設定値をファイル(.json)から読み込みます。(※ファイルのドラッグドロップでも可)
設定値をファイル(.json)に保存します。



●VMDモーション補正 (VMD Motion Adjustment) [orから]

 ロードされているVMDモーションのボーンの動きを補正できます。
 VMD データにおいての「ボーン位置」を定数倍するのと同等になります。「ボーン位置」のデータは「足の動き」への影響が大きいため、ほとんどの場合、足が不自然にならない程度に調整すると、全体バランスが良くなります。
 自動補正値は足の長さ(身長)を中心に計算されているため、極端な体型の場合(デフォルメ体型等)、自動では上手く行かないことがあります。逆に一般的な人型で 160~180cm くらいの身長なら、補正をオフにしても、あまり変化はありません(1 でオリジナル相等=補正なし)。[↑][↓]キー(PC) で±0.01 単位で調整することもできます。

[ボーン補正] 補正のオン/オフ
[比率] (Ratio) ボーンの動きの全体比(オリジナル相等は1)。1 で元のデータの動き相等で、1 より小さいとき動きが小さく、1 より大きいとき動きも大きくなります。
 しかしながら、モーションデータは元になったモデルの体型や身長に依存するため、1 であっても同じように見えるとは限りません(身体が小さいモデルのモーションを身体が大きいモデルに当てると動きは小さく見え、逆に身体が大きいモデルのモーションを身体が小さいモデルに当てると動きが大げさに見える傾向がある。つまり差分が大きいほど、違いが顕著になる)。あくまで目安として、少し動きが大げさと感じたら値を小さく、逆に少し動きが鈍いと感じたら値を大きくすると良い場合があります。
 特に足の動きが大きすぎると感じたら、1 より小さくすることで抑えられることもあります。

※補正をオフにした場合、キャラの身長によっては、動作が大き過ぎたり、小さ過ぎたりすることがあります(オフor 1 のときオリジナル相等)。
※自動補正値はバージョンによって異なる場合があります。
※設定値はキャラのファイル名(or VRoidHub の ID)とモーションのファイル名の組み合わせで内部保存されます。





●配置の移動と回転 (Move and Rotate Placement) [から]

 現在配置されているキャラクターを相対移動・回転します。
 入力値は移動・回転の量で、[+][-]ボタンによって加減算を実行します。
 移動量のプリセットの値はX,Y,Zのいずれかにカーソルを置いてからボタンを押すと入力されます。※[All 0]のみ、X,Y,Zを全て0にします。
 チェックをオンにしたキャラクターが実行の対象となります。




●3Dオブジェクトの配置 (3D Object Transform) [orから]
(※この機能は仕様・UI等が大幅に変更される可能性があります)

 「モデル読込」から読み込んだ ".gltf" または ".glb" のモデルデータ(GLTF: Sketchfab 等で配布されている形式)の配置・回転・サイズを変更/消去できます。読み込まれたモデルは背景オブジェクトとして扱われます。

[X 位置] (Position X) オブジェクトをワールド座標X方向(横)に移動します。
[Y 位置] (Position Y) オブジェクトをワールド座標Y方向(縦)に移動します。
[Z 位置] (Position Z) オブジェクトをワールド座標Z方向(奥)に移動します。
[回転] (Rotation) オブジェクト回転します(-180~180度)。
[拡大縮小] (Scale) オブジェクトのサイズを変更します(元サイズは1)

※回転以外はスライダーの範囲より大きい値または小さい値をテキストボックスに入力できます。
※設定値は".gltf"のとき"フォルダ/ファイル名"で(Sketchfab では "フォルダが名前/scene.gltf" となってるため。ファイルのあるフォルダのみ)、".glb"のとき"ファイル名"で内部保存されます。

現在ロードされているオブジェクトを消去します。
設定値をファイル(.json)から読み込みます。(※ファイルのドラッグドロップでも可)
設定値をファイル(.json)に保存します。

>>背景の設定方法



●床のサイズ変更 (Floor Size) [orから]

 プリセットの床(右サイドパネルの背景の床)を使用しているとき、サイズを変更できます。

[拡大縮小] (Scale) 床のサイズを変更します(元サイズは1)



●360度画像/動画の設定 (360deg Image/Video Settings) [orから]

 読み込まれた360度(全天球)画像/動画の回転・サイズを変更/消去ができます。

[モード] (Mode) "2D"にすると、2Dモードに切り替わります。
[回転] (Rotation) 360度(全天球)画像/動画を回転します(-180~180度)。
[拡大縮小] (Scale) 全天球のサイズを変更します(1が元のサイズ)。
(動画)
[ループ再生] (Loop) オンでループ再生します。オフでは1回再生で停止します。
[再生速度] (Speed) 再生の速度を変更できます(元の速度は1)。

※v1.24 で回転値(Rotation) を 0[度]で中央に位置するように+90[度]調整されました(v1.23以前のデータは自動的に修正されます)。アップグレードではそのまま使えますが、v1.23 以前にダウングレードする場合は自動的に修正できないので、手動で -90度して下さい(※通常、ダウングレードは一部のデータが損失される可能性があるので、推奨はされません)。
※設定値は"ファイル名"で保存されます。

動画を再生します。ループオフで停止しているとき(白黒アイコン時)などに使います。
現在ロードされている画像/動画をアンロードします。




●2D(背景)画像/動画の設定 (2D Image/Video Settings) [orから]

 読み込まれた2Dの(背景)画像/動画のサイズを画面にフィットすることができます。

[Mode] "360"にすると、360度モードに切り替わります。
[フィット] (Fit Size)
├ [幅] (Width) 画像/動画を画面の幅に合わせて伸縮します。
└ [高さ] (Height) 画像/動画を画面の高さに合わせて伸縮します。
(動画)
[ループ再生] (Loop) オンでループ再生します。オフでは1回再生で停止します。
[再生速度] (Speed) 再生の速度を変更できます(元の速度は1)。

※設定値は"ファイル名"で保存されます。

動画を再生します。ループオフで停止しているとき(白黒アイコン時)などに使います。
現在ロードされている画像/動画を消去します。


動画素材:@音街ウナ公式 [ニコニコモンズ]
キャラ:Winter Miku / @Mijuuri
衣装:海のワンピース / @カティア
♪好き!雪!本気マジック(インスト)
モーション:@hino [ニコ動]
振付:@足太ぺんた [ニコ動]
楽曲:@Mitchie M [ニコ動] [ニコニコモンズ] [Sound Cloud]



●Viewerカメラの設定 (Viewer Camera Settings) [ or から]

 カメラの動きなどを調整できます。ただし、速度が一定であっても、背景やモデルの負荷によって、体感速度が違う場合があります(※v1.24 以降では [グラフィックに影響されない速度] をオンにすることによって、一定速度にできます)。システムでは最後の値を記憶してますが、シーンごとにも保存できます。

[Mode] Viewer(従来)とVMDカメラモードの切替ができます。※VMDはカメラモーションがロードされているときのみ、有効となります。

キー / スティック動作 (PC) (Keyboard / Stick Action)
 キーボードまたはゲームパッドの通常状態の動作を選択できます。非選択側は装飾キー(Ctrl)またはゲームパッドAボタンで動作切り替えできます。
[1stキー] キーボード[←][→][↑][↓], 右[Ctrl] の動作
[2ndキー] キーボード[Z][C][S][X], 左[Ctrl] の動作
[ゲームパッド] ゲームパッド, 操作入れ替えの動作
(Lスティック) 左スティックの水平方向(X), 垂直方向(Y) の入力を反転する
(Rスティック) 右スティックの水平方向(X), 垂直方向(Y) の入力を反転する
※機器によって方向の正負が異なる場合、このオプションで反転します

[v1.23 以前の場合] ※右スティックの利用は機器によってデフォルトのアサインが異なるため、起動時の Configuration で設定する必要があります。
Logicool Rumble Gamepad F510 なら、開発のテストにも使っている機器なので、デフォルトのまま使えます。

移動・回転速度 / 視野角 (Speed / View Angle)
[速度](Speed) カメラの移動/回転速度を調整できます(1が基準の速度で、0.1~3倍)。マウス/キーボード/ゲームパッド共通です。
[グラフィックに影響されない速度] オンにするとグラフィックの描画速度に影響されずに、常に設定速度で移動できます。ただし、ハードウェアのスペックにより、描画が追いつかない場合、フレーム飛びのような状態になることがあります。
※ただし、遠近操作のみ、原点より近くでは遅く、遠くでは速く移動します。
[視野角](VAngle) カメラの視野角を調整できます。ちなみにUnityのデフォルトは60で、MMDは30が多いです。
カメラ速度リストへ
ゲームパッドの設定へ



●VMDカメラの設定 (VMD Camera Settings) [ or から]

 カメラモーションの再生速度やループ再生、カメラ自体の注視点の移動比率や平行移動、距離の移動比率、視野角変化率などを調整できます。
 簡単な理解では、元の値に、スケール(Scale) は掛け算(なので、元は 1)、位置(Position) は足し算(なので、元は 0) をすると考えると分かり易いです(実際にそのように演算します)。
※ほとんどの場合、データの元キャラの目線の高さ(身長)と、カメラまでの距離感の違いが問題となるため、縦方向の伸縮(Scale Y) と、距離の伸縮(Scale Distance)を調整するのが簡単です(または、縦の平行移動(Position Y)と、視野角の伸縮(Scale VAngle)でも近い効果になります)。
 例えば、カメラモーションのデータが 160cm のキャラを元に作ってある場合、180 cm のキャラに合わせるには、単純計算で:180 / 160 (自分のキャラの身長 / データの身長) = 1.125 (倍) を Scale Y で設定すると良いことになります(実際には、モデル固有の違いがあるので、スライダーで適当に当たりを付けて、微調整するのが簡単です ※[↑][↓]キーで ±0.01 増減もできます)。

 システムでは「FileName」ごとに最後の設定を記憶してますが、シーンごとにも保存できます。
※"カメラ.vmd"など、重複しやすいファイル名("カメラワーク", "カメラモーション", "camara", "camaramotion", "camara_motion" 等)の場合は、フォルダ名が先頭に追加される場合があります。ファイル名が重複してる場合、設定が上書きされるので注意して下さい(できれば "(曲名)_カメラ.vmd"のようにユニークな名前が良い)シーンとして保存した場合は、シーンごとに設定が保存されるため、同じ名前であっても構いません(ロードオプションで「カメラモーション」のみオンにして読み込めば、設定だけを適用できます)。

[モード] (Mode) Viewer(従来)とVMDカメラモードの切替ができます。
[ループ再生] (Loop) オンでループ再生します。オフでは1回再生で停止します(デフォルト)。
[開始時間] (Start) 再生を開始する時間(秒)を設定できます。正の値は遅延再生に、負の値はその秒数だけ飛ばして再生します (元のタイミングは 0)。
[再生速度] (Speed) 再生速度を変更できます (元の速度は1)。
[X 拡大縮小] (Scale X) 注視点のX(横)位置(移動)を定数倍します。左右の動きを調整できます。 (元と同等は 1)
[Y 拡大縮小] (Scale Y) 注視点のY(縦)位置(移動)を定数倍します。上下の動きを調整できます。特にキャラクターごとに目線(高さ)を合わせたいときに役に立ちます。 (元と同等は 1)
[Z 拡大縮小] (Scale Z) 注視点のZ(奥)位置(移動)を定数倍します。奥行きの動きを調整できます。 (元と同等は 1)
[縦回転 拡大縮小] (Scale Pitch) 注視点の縦方向の回転を定数倍します。ローアングルの角度を抑えたいとき等に使えます。(元と同等は 1)
[距離 拡大縮小] (Scale Distance) 注視点の距離(移動)を定数倍します。カメラまでの距離を調整できます。特にキャラクターが近すぎるときは、1 より大きくすることで、カメラとの距離をとることができます(※Unity ではキャラがアップで映されるとフレームレートが落ちる傾向があるので、少し離すのも良いかも知れません)。 (元と同等は 1)
[距離 加算] (Add Distance) 注視点との距離に一定値を加算します (元と同等は 0)。例えば 1.5 を設定した場合、1.5 (m) より近くには接近することが無くなります。
[視野角 拡大縮小] (Scale VAngle) 視野角(変化)を定数倍します。カメラに映す視界の角度を調整します。特に全体を多めに映したいときや、3D感を出したいとき等、1 より大きくすることで、カメラの映す範囲を広げることができます。ちなみに、MMD の視野角のデフォルトは 30 で、Unity のデフォルトは 60 のため、VMDカメラでは半分の遠近感となる場合が多いです(特に背景が平面的に見える傾向がある)。 (元と同等は 1。視野角 30 に相当する場合が多い)
[X 位置] (Position X) 注視点をX(横)方向へ平行移動します。 (元の位置は 0)
[Y 位置] (Position Y) 注視点をY(縦)方向へ平行移動します。 (元の位置は 0)
[Z 位置] (Position Z) 注視点をZ(奥)方向へ平行移動します。 (元の位置は 0)
[Y 上限] (Upper Y) ワールド座標Y(縦)の最大位置制限をします。 (オンで有効)
[Y 下限] (Lower Y) ワールド座標Y(縦)の最小位置制限をします。 (オンで有効)
カメラモーションを再生します。停止しているとき(白黒アイコン時)などに使います。
設定値をファイル(.json)から読み込みます。(※ファイルのドラッグドロップでも可)
設定値をファイル(.json)に保存します。
●VMDカメラの調整値 図解

>>クリックで拡大

※Scale は注視点の移動・距離・視野角等の割合 (1 がオリジナル相等で、0.5で半分、2で倍(掛け算)。
位置 (Position~) は注視点の平行移動 (足し算)。
視野角(View Angle)はカメラに映る矩形の範囲(大きくすると全体が映り、3D感が増す。
小さくすると映る範囲が狭くなり、平面的になる (3D感が無くなる))。
※VMDカメラは、注視点から自撮り棒を使って撮影するカメラと考えると、イメージしやすい
・キャラの身長に合わせるには Y拡大縮小 (Scale Y) を調整すると簡単
・カメラが床より下に行くなら、距離 拡大縮小 (Scale Distance) を縮めるか、
縦回転 拡大縮小 (Scale Pitch) で縦回転を抑えると良い
(または Y位置 (Position Y) で注視点を少し上にしておく等)。
自撮り棒を斜め下に向けたまましゃがんだら床に埋まると考えるとわかりやすい。




●カメラ速度リスト (Camera Speed List) [から]

カメラの速度を複数用意することができます。これら速度はリストでトグルボタンをクリックするか(Alt を押しながらクリックすると移動のみ)、ゲームパッドに割り当てて(#0~9まで)切り替えることができます。
※速度の入力ボックスで↑↓キーで±0.05単位で増減できます。

[Startに同期して#0へ] オンにすると、曲の開始と同時にリストの#0へ移動し、速度を適用します。
※要:サイドパネルの音楽の(Sync)Startがオン
※これら設定はシーンに保存されます。

現在の速度を選択中のアイテムにコピー
カメラの設定へ
ミニパッドを開く




●カメラ切り替え (Camera Switching) [から]

 現在のカメラの位置と回転を10個まで保存/移動することができます。番号[0]~[9]はキーボードに対応しており(PCのみ)、UIでは各番号への保存やカメラの移動、デフォルトやプリセット状態へのリセット、ホームポジション・反転位置・中央位置への移動などの機能が使えます。
 また主に移動(&保存[PC])のみのミニパッドも利用することができます。
 設定はシーンにも保存することができ、よく使う設定はデフォルトとして保存/復帰することができます。

(番号)
保存されてるカメラ位置(&回転)へ移動
 └ (PCのみ) テンキー[番号]
現在のカメラ位置(&回転)を番号へ保存
 └ (PCのみ) [Alt] + テンキー[番号]
デフォルト(未保存はプリセット)にリセット

(Default Set)
全ての番号をデフォルトとして保存
全ての番号をデフォルトにリセット
全てをプリセットにリセット

(移動機能)
中央へ移動し、回転を真正面/背面にする
 └ (PCのみ) テンキー[*] (アスタリスク)
現在の位置の回転とX座標を反転して移動
 └ (PCのみ) テンキー[/] (スラッシュ)
ホームポジション(起動時の位置)へ移動
 └ (PCのみ) テンキー[.] (ピリオド)
ミニパッドを開く

※(PCのみ) [CapsLock]はオフにして下さい。[CapsLock]は[Ctrl]代替キーとして、ブレンドシェイプのキー操作([None / Key]モード)に使われます。
>> ブレンドシェイプのキー操作
>> キーボードでのカメラの操作

ミニパッド
[番号] 保存されてるカメラ位置(&回転)へ移動
 └ (PCのみ) [Alt] + [番号]クリック 現在のカメラを番号へ保存
ホームポジション(起動時の位置)へ移動
カメラ切り替えのパネルを開く




●カメラ映像の出力 (Camera Video Output) [から] (※PC のみ)
※現在、この機能は試験実装です。

 カメラの映像を他のアプリケーションで利用できるように出力します。

[カメラ映像出力を使用する] オンで出力 ※この設定は記憶されません。アプリ起動毎にオンにする必要があります (アプリ終了時にオフになります)。
[映像タイムアウトまでの時間] ミリ秒単位で受信側のタイムアウトを指定します。この時間より長く映像が送信されなかった時、受信側はタイムアウトと認識します。

※UI, 音声は出力されません。
※この機能を利用するには、別途「UnityCapture」のインストールが必要です (詳しくは添付の「ReadMe_カメラ映像出力機能とインストールについて.txt」を参照して下さい)。

カメラモーション:Unite in the sky (VRM live viewer)のカメラ / @mochi
背景動画:@音街ウナ公式 [nc230321]

▼簡易的な OBS Studio でのセットアップ方法 [※OBS Studio 27.0.1(64bit) で確認]

1. 添付の「UnityCapture」フォルダごと、"C:\Program Files" など、英字のみのパス (日本語等が含まれてないパス) 以下に移動します。

2. 「Install.bat」を実行します。その際、必要なら右クリックメニューから「管理者として実行」します。



3. インストールが成功したら、OBS Studio を起ち上げ、ソースの[+] から「映像キャプチャデバイス」を追加し、「UnityCapture」など任意の名前を付けます。



4. 解像度を VRMLiveViewer の解像度に合わせます (VRMLiveViewer では「設定>画面の設定」で解像度を選択できます)。



5. VRMLiveViewer を起動し、「設定>カメラ映像の出力」で出力をオンにします。

6. OBS Studio 上で、ソースの UnityCapture を選択すれば、利用できます。

※音声は出力されないので、デスクトップ音声等を利用して下さい。
※UIは出力されません。必要なら「ゲームキャプチャ」でアプリごとキャプチャします(※この場合、UnityCapture は必要ありません)。

※上手く行かなかったときは、ググってみて下さい。OBS は有名なので、様々な情報が見つかると思います (添付の ReadMe~ にもいくつか注意点を書いておいたので、参考にして下さい)。



●ゲームパッドの設定 (GamePad Settings) [から]

 ゲームパッドの各ボタンの機能を設定できます(スティック設定は「カメラの設定」にあります)。
D-padのみ、スティックの複製、または8方向に複数の機能が割り当てられてます。

プリセットの設定にリセット
カメラの設定へ



●プリセットブレンドシェイプのバインド設定 (BlendShape Binding) [から]

 プリセットモーション再生中に使われるブレンドシェイプのバインド(割り当て)を一時的に変更、または無効化することができます。この設定はキーボード操作(PC)には適用されません。

 設定の反映はモーションデータ(CRS, Mirai)に依存するため、バインドによっては自動で無効化されることがあります。特にMiraiではブレンドシェイプが競合、またはバインドが重複している場合、優先度に従って、低い方が一部無効化される場合があります。
(優先順位: Blink>Joy>Sorrow)

>>プリセットモーションと表情(VRM のブレンドシェイプ)の対応について

※競合: 複数のブレンドシェイプで同じ対象を利用
(例) Blink で「eye_close」(100%)が定義されており、Sorrow でも「eye_close」(50%)が定義されている 等

※重複: バインド先が同じ
(例) Joy ⇒ Fun, Sorrow ⇒ Fun 等

※「Joy ⇒ Fun」はモーションデータで "Joy" が使われたとき、"Fun" のブレンドシェイプ設定が反映されるという意味

 また、Blink(目閉じ,まばたき)はモーションに含まれている箇所のみ [Disable] で無効化できます。完全にまばたきを止めるには右サイドパネルの [Auto Blink] もオフにする必要があります(CRSのとき)。

 利用されるブレンドシェイプ(名前)の検出はモデルの種類によって異なります。

VRoid, セシル: 一定パターンの名前から検出
その他, フルスクラッチ等: 口と認識できる名前を除いたものを利用
競合, 重複, 無効化しているとき(一部無視される)
※検出できなかった場合は、元の設定が使われます。

[T] T-Pose にして現在の設定を確認できます(左は元の設定、右は検出された設定=プリセットモーションに使われる表情)
[モーション再生] (Play Preset) プリセットモーションの再生に戻る
[自動バインド] (Default Bind) 自動検出の初期状態に戻す

※設定はモデルごと(ファイル名、またはVRoidHubのID)ごとにローカルに保存されます。VRMファイルに書き込まれることはありません。
※設定はシーンごとにも保存できます。読み込みはロードオプションで「ブレンドシェイプ」にチェックが付いていて、かつ同じモデルが対象の場合、適用されます。





●VMDモーフのバインド設定 (VMD Morph Binding)

 VMD再生中に使われる表情モーフ名をVRMのブレンドシェイプにバインド(割り当て)、または無効化することができます。この設定はキーボード操作(PC)には適用されません。

※VMD のリップシンク(口パク)データは表情モーフの一部なので、利用するにはサイドパネルのブレンドシェイプのモードを 「Preset/Auto」 にして下さい。

 設定の反映はVMDモーションデータに依存するため、バインドによってはブレンドシェイプが競合、またはバインドが重複している場合、一部無効化される場合があります(※マテリアルで表情が作られている場合、チェックはされません=意図した表情にならない可能性が高い)。アプリでは先に表示された方が優先で、後の方は無視されます。

※ここではモーフ(VMD)とブレンドシェイプ(VRM)の呼び名を別にしてますが、基本的には同じものと考えて良いです(MMDではモーフと呼ぶのが通例のため分けてるだけです。単純に「モーフ」と言えば MMD側、ブレンドシェイプと言えば VRM側の事と思って貰えればOK)。

>>VMD表情モーフとVRMのブレンドシェイプの対応について

自動生成されたブレンドシェイプ(VRoid, セシル変身, MakeAvatar のみ)
モデルが持っている個別のブレンドシェイプ
競合, 重複, 無効化しているとき(一部無視される可能性アリ)

※自動生成されたブレンドシェイプは、モデルが持っている個別のブレンドシェイプと同じになることもあります。また自動生成は一定の名前規則があり、"Eye_~" は目だけ、"Brw_~" は眉だけ、"Mth_~" は口だけのブレンドシェイプとなっています。また "ExcMth_~" (Excluding Mouth の略) は元の喜怒哀楽のブレンドシェイプから、口を取り除いたもので、主にフルスクラッチモデルで生成されます(口はリップシンクと競合しやすいため、他のパーツ[眉、目 等]と分別して扱われます)。
※競合や重複が出ていても、問題なく使えることもあります。再生してみて違和感無ければ、そのまま使っても構いません。

⇒ の左はVMDの表情モーフ名、右は利用できるVRMのブレンドシェイプ名となります。
モーフ名の先頭に付いている "(眉)" 等は、検出された大まかな分類で、"(眉) 上" の場合は、眉が上の方へ行くモーフになります(※MMD標準に準拠してない場合、目であったり、口であったりする場合もあります)。これら分類は本来のMMDのものとは違う場合があります(例えば、あにまさ式では「瞳小」は (その他) だが、Tda式では (目) に分類されている。アプリではキーワードとして "目" や "瞳" が入っていれば、(目) と分類される)。
表情が合わない、または特定のモーフだけ無効にしたいときは [Disable] に設定すれば、再生されなくなります。ちなみに [Disable] と [None] は「利用しない」という意味では同じで、[Disable] はデフォルト(自動検出)が有り、[None] は未検出(候補が無い)ときの表示となります(※名前での検出なので、特にフルスクラッチの場合は、ドロップダウンで探せば、合うものが見つかることがあります)。

[T] T-Pose にして現在の設定を確認できます
[モーション再生] (Play Motion) VMDモーションの再生に戻る
[自動バインド] (Default Bind) 自動検出の初期状態に戻す
[復帰] (Revert) パネルを開いたときの状態に戻す

※表情モーフは作られたMMDモデルの依存性が高く、またVRMモデルも同じブレンドシェイプを持っていることは稀です。あくまで名前から推測して、自動的に割り当てているだけなので、オリジナルと同じにはならないことをご了承下さい(例えば、VRoid では「じと目」に相当するものは無いため、[Eye_Angry]=怒りの目 が代わりに割り当てられます。候補が無いものは [None] になります)。
 また、自分で [じと目] クリップを作って割り当てる方法もあります(モデルを自作している場合)。例えば、VRoid なら、"~EYE_Angry" を 100% + "EYE_Sorrow" を 50% ぐらいでクリップを作れば、じと目っぽくなります(ただし、元がたれ目かツリ目かで % は異なります。そのため通常 100% で丁度良いクリップ以外、互換性に乏しくなります)。

[競合を無視] オンにすると、利用中のブレンドシェイプ同士の競合検出をしません。競合しているパーツ等が同時に使われた場合、意図しない表情になることがあります(混ざってしまう)。オフのときには競合検出をして、どちらか一方(先に再生された方)が優先して使われます(混ざりにくい)。
※ただし、どちらの設定であっても、例えば目同士、口同士など、同じパーツを複数当てると、混ざりあって、表情がおかしくなることがあります。その場合は各ブレンドシェイプを [Disable] にして、どれか1つを使う等の対処をして下さい。


シーンに保存したバインドを「ブレンドシェイプ」オプションをオンにしてロードすれば、バインドのみ適用もできますが、同じモデルでないと反映されません。また、VMDデータごとに使っているモーフは異なるので(例え同じ曲であっても、作者によってモーフ利用は異なるため)、使われてないモーフのバインドは無視されます。

設定値をファイル(.json)から読み込みます。(※ファイルのドラッグドロップでも可)
設定値をファイル(.json)に保存します。
※設定ファイルはシーンと違い、モデルやモーションの紐付けが無い独立したデータのため、別のモデルでも適用できます(追加または上書きとなる)。ただし、同じブレンドシェイプを持っていない場合は無視されるので注意して下さい(例えば、VRoid 同士なら、同じブレンドシェイプを持っている可能性は高いが、「VRoid とセシル変身」のように異なる場合は、意図しない設定や無効となる場合があります)。





●モデルプロパティ (Model Property) [から または サムネイルをクリック]

 現在ロードされているVRMモデルのプロパティを表示します。ローカルファイルとVRoidHub連携モデルでは表示できる情報が異なります(VRoidHub連携モデルはサーバーからデータをダウンロードし、ローカルファイルはVRMの内部データから取得します)。

[最大境界] (Bounds) は全てのAABB(軸に平行のバウンディングボックス)の最大境界となります。メッシュよりも大きくとってある境界や非表示になっているメッシュの境界(ギミック等)も含まれます。
 また、境界サイズ取得はモデルがロードされた瞬間のものであり(モーションが当てられてない初期状態:通常はT-Pose)、変形するメッシュ(髪など)の影響等により、計算誤差が出ることもあります(小数点の四捨五入でも僅かに誤差が出ます)。
 Top, Bottom, Right, Left, Front, Back は原点からの絶対座標になります。Height, Width, Depth はそれらの差分になります(例えば、Bottom が僅かな負の値になっている場合、少し地面に埋まっていることになる=靴底など)。

※スクショは開発用エディタ画面です

●最大境界 (Bounds) は境界の最大・最小位置の差分なので、帽子やリボン、猫耳などの装飾物も含みます。
例えば、Bottom の値が -0.03 となっているとき、地面より 0.03 (m) 埋まっています(靴底など)。
また、揺れものなど(後ろ髪、スカートなど)変形するメッシュが突出している場合、僅かに誤差が出ることがあります。
特定の操作で出てくるギミックなど(例えば、ブレンドシェイプで剣が出てくるなど)、見えてないものも含まれます。




●画面の設定 (Screen Settings) [から]

 フルスクリーンまたはウィンドウモードの選択や画面解像度の変更ができます。
 またグラフィックの品質も選択もできます。
※Androidではフルスクリーンのみで、端末の解像度になります。
※3Dモデルによっては、低い品質では表示できない場合があります。その場合は [Very High] または [Ultra] 品質にしてみて下さい。


●Quality(グラフィック品質)を上げると、描画が繊細になるが、FPS は下がる。
逆に、Quality(グラフィック品質)を下げると、描画が粗くなるが、FPS は上がる。
※ここでの FPS は Frame Per Seconds の略で、1秒間に何回画面を更新(描画)できているか?
を示す指標となる(高いほど、ヌルヌル動く)。
※ただし、[Mudium] 以上は、上限 V-Sync 動作になる。
※同様に解像度(Resolution)を上げれば FPS は落ち、下げれば FPS は上がる。



●FPS モニター (FPS Monitor) [から]

 Frame Per Secondを表示します。「画面の設定 (Screen Settings)」により、描画速度を上げることもできます。
 最大は「画面の設定」の [Quality] が [Mudium] 以上のとき、約60fps (V-Sync 上限) です(僅かな計算誤差が出ます)。
 ロードされているVRMや背景3Dモデルの重さの目安になります。
 30fpsを下回るとフレーム落ちが目立つようになります。



●再生情報モニター (Play Monitor) [から]

 再生中の音楽とモーションの情報を表示します。
音楽の場合は時間単位で、"再生位置 / 曲の長さ (+遅延再生時間)"
モーションの場合はフレーム単位で、"再生位置 / 全フレームの長さ"
と表示されます。
※フレーム情報は内部処理での単位であり、元データのフレーム位置・数とは一致しない場合があります。
 また、±10秒の早送り・巻き戻しができます。(Sync)Start がオンのときはモーションの再生位置も修正されます。
※時間・モーションが満たないときは無視されます。タイミングにより、位置がずれてしまうことがあるので、その場合は [モーション同期] ボタンで修正して下さい。

音楽 or モーションを巻き戻しします。(※[PgUp]キーと同じです)
音楽 or モーションを早送りします。(※[PgDn]キーと同じです)
(Sync)Start がオンになっているとき、音楽に合わせてモーションの同期を行います。停止しているとき(白黒アイコン時)は最初から再生します。(※[Home]キー, または各モーションのトグルボタン(●)を再度押すのと同じです)



●ログビュー (Lob View) [から]

 ファイルのロードやエラー、データの編集などのステータスログを直近30件まで表示します。
 特にエラーが出たとき、トースト(一定時間出てるメッセージ)より詳しい情報が出てる場合があります(同じ場合もあります)。

ログの出力のオン・オフ(一時的に停止)します
現在表示されているログを全てクリアします



●アプリコンフィグ / メンテナンス (App Configuration/ Maintenance) [から]

 アプリの起動時の状態設定や、キャッシュのクリアなどを行えます。
 これらの設定はシーンとは別に実行されます(シーンには保存されません)。




■背景を変える

 ここではチュートリアル的に背景を変える方法を書いておきます。背景モデルには Sketchfab などで配布されている 3Dモデル(.gltf)またはニコニ立体などで配布されている背景モデル(.glb)を読み込んで配置することができます(※自作もできます)。また RICOH THETA など360度カメラで撮影・保存した画像や、フリー素材として配布されている全天球画像も背景(主に空)として利用することができます。これらは別々に配置され、「3Dオブジェクトの配置 (3D Object Transform) 」と「360度画像の設定 (360deg Image Settings)」で大きさや回転、位置などを調整できます。

GLBで背景モデルを自作する
背景GLTFの設定リスト(使用例)

 また、0.38β 以降からは設定値をファイル(.json)へ保存・読み込み機能ができるので、同じオブジェクトでも設定を瞬時に切り替えて利用することも可能です。設定ファイルはPC/スマートフォンで共有できるので、PCで調整した設定をスマートフォンで読み込むこともできます(ただし、シェーダの関係で色や光沢など見た目は変わることがあります。またスマートフォンはPCに比べてメモリ/CPUが弱いので、あまり大きなデータを読み込むとフリーズすることがあります)。

 今回は一般配布されているフリー素材を利用して、背景を変えてみたいと思います。素材自体の作り方は作者によってまちまちなので、設定値は任意で構いません。あくまで調整する方法として理解して下さい。

※各素材の著作権は著作者に帰属します。各素材についての利用方法などは、各著作者が提示されてる利用規約などをご確認下さい。


●背景の3Dモデルを読み込んでみる

 背景モデルの例として Sketchfab から 3Dモデル(.gltf ファイル)を読み込んでみます。ニコニ立体からダウンロードした背景モデル(.glb)を使うときも全く同じ手順になります(置き換えて考えて下さい)。ロードした後は大きさ・回転などを調整する必要がありますが、ここでは簡略のため、0.38β 以降の「設定値の読み込み(.json)」を使って、私が実際にデモで使った設定を利用します。

 元の背景は空の変化をわかりやすくするため「Plane」を使います。「CRS Stage」でも構いませんが、オブジェクトを配置したとき、空が無く真っ暗な背景となります。




1.Sketchfab で 3Dモデルをダウンロードするには会員登録する必要があります(無料)。面倒ならツイッターなどソーシャルアカウント利用もできるので、ページの右上にある「SIGN UP」からソーシャルアイコンをクリックで登録しておきます。既に登録してある場合は「LOGIN」でログインします。




2.今回は例として「Islands(@pravsha)」モデルをダウンロードしたいと思います。作者アイコンすぐ下の「Download」を押すとダイアログが出るので「Autoconverted format (gltf)」の方の「Download」ボタンを押してダウンロードして下さい。




Author: pravsha
License: CC Attribution-ShareAlike Creative Commons Attribution-ShareAlike

※検索ボックスでキーワードを入力して「Downloadable」にチェックを入れると、ダウンロードできるモデルを探すこともできます。


3.ダウンロードしたら zip を解凍し、ファルダにある「scene.gltf」を VRMLiveViewer にドラッグ&ドロップします。Android 版の場合は SDカードなどにコピーし「モデル読込」から」同じように読み込むことができます(スマホでは読み込みに結構時間がかかります)。




4.無事読み込むことができたら(スマホの場合、フリーズすることもあります。その場合はなるべく他のアプリを終了させ、メモリなどを確保して下さい。あまりに大きなデータは何度やっても読み込めない場合があります)、設定()から「3Dオブジェクトの配置(3D Object Transform)」を開き、大きさや回転を調整します。ここでは簡略のため、私がデモで使用した設定値ファイル(.json)を用意しておくので、それを利用することにします。


※このモデルは小さいですが、逆に大き過ぎてロードした状態では見えないものもあります。その場合は「Scale」を適当にいじって大きさを確認して下さい。



5.以下から設定値ファイル(.json)をダウンロードして下さい。ファイルは端末のデフォルトの「ダウンロード」フォルダなどに保存されるので、それを VRMLiveViewer にドラッグ&ドロップ、または「3D Object Transform」パネル上のフォルダアイコン()から読み込めます。するとすぐに設定が反映され、モデルの大きさや回転、配置などが変更されます。

(Islands の設定ファイル)
islands_scene.json(右クリックで「名前を付けてリンク先を保存」)


※自分で値を調整したものをディスクアイコン()で保存することもできます(現在の値はアプリ内部でも保存されているので、毎回ファイルに保存する必要はありません。どちらかというとデータエクスポート用です)。スライダー値はある一定範囲に制限されていますが(あまりに幅が大きいと細かい値が調整できないため)、テキストボックスの方では制限値を超えた値を入力できます。自由に調整しても構いません。

背景GLTFの設定リスト(使用例)



●360度, スカイドーム(全天球)画像読み込んでみる

 背景の3Dモデルを読み込んだだけでも十分ですが、ここではついでに 360度(全天球)画像を読み込んで調整する方法もやってみます。全天球画像は jpg や png ファイルで画像の縦横比が 2:1 のものが使えます。3840x1920[px] が最適です(Android の場合、あまりに大きい画像だとフリーズすることがあります)。


1.ここでは @VoxelKei さんが配布されている「日本列島360の静止画」を使ってみたいと思います。ダウンロードするには BOOTH に会員登録する必要があります(無料)。BOOTH は pixiv が運営してるサイトなので、pixiv アカウントでもログインできます。



2.ログインしたら、@VoxelKei さんの「ボクスケショップ」にお邪魔します。「日本列島360 全天球静止画9枚セット」は無料で配布されているので、そちらのページへ移動します。右側にある「無料ダウンロード」をクリックすると画像がダウンロードされます。今回サンプルに使っている夜の画像は9番目(JPN360_9.jpg : 2018/10現在では一番下)になります。



3.全天球画像をダウンロードしたら、VRMLiveViewer にドラッグ&ドロップします。または右サイドパネルの山アイコン()を押し、ここからファイルを選択します。


4.画像がロードされたら、「設定」ボタン()を押し「360画像の回転」パネルを開きます。ここで「Rotation」で回転を調整します(任意で構いません。ここでは約 -70度くらいです)。


※全天球画像(空)を消したい場合は×アイコン()を押せば消えます。



●エフェクト(パーティクル)を入れてみる

 右サイドパネルにあるキラキラアイコン()を押すか、設定()から「エフェクトの切り替え」でパーティクルを入れることができます。また「Emission」で放出量を調整できます(基準量を1として0.1~3倍)。これらは任意で構いません。




 後はモーションを「CRS」や「BVH」にし、音楽を再生します。カメラをズームアウトすると、遠くから眺めることもできます(更に遠くへ行くと、全天球で囲まれていることがわかります)。

 PC版ではゲームパッドにも対応しているので、まるで空中遊泳でもしてるように楽しむこともできます。




●全天球で囲まれた空中庭園みたいになる(笑)

Author: VoxelKei
License: クリエイティブ・コモンズ 表示-非営利 4.0 国際 (CC BY-NC 4.0)



■試験的に実装している機能 (Experimental)

 掲載時点での試験的に実装している機能です。これら機能は今後、大幅な仕様変更や削除される場合もあります。


●ショートカット的なもの(※PC版のみ)[※0.94βで大幅に変更されました]

 以下のキーはショートカットキーのように利用できます。何らかの設定パネルが開いているとき、またはデータなどのロードしているときは無視されます。
 ※機能の追加・変更・削除などにより、大幅に変更される場合があります。

[Q] キャラクターリストを開く
[Ctrl]+[Tab] リストの次のキャラクターへ
[Shift]+[Tab] リストの前のキャラクターへ
[F1] VRMの追加/置き換えモード切り替え

[V] VRoidHub 連携を開く
[F] VRMフォルダブラウザを開く
[R] シーン の読み込み/保存を開く
[M] 音楽の選択 (Music Select)を開く

[E] エフェクト切り替えを開く
[J] 音楽の開始タイミング設定の時間設定を開く ※プリセット曲を除く
[G] モーションの再生設定を開く
[U] 配置の移動と回転を開く
[T] 3Dオブジェクトの配置を開く
[I] 360度/2D - 画像/動画の設定を開く
[Y] 床の設定を開く
[N] ブレンドシェイプのバインド設定を開く
[P] モデルプロパティを開く
[K] カメラの設定を開く
[L] ライトの設定を開く
[^] マイク感度の設定を開く

[;](セミコロン) カメラ速度リストを開く (※暫定/日本語キーボードのみ)
[:](コロン) カメラ速度リスト ミニパッドを開く (※暫定/日本語キーボードのみ)
[@] ゲームパッドの設定を開く (※暫定/日本語キーボードのみ)
フルキー[,] (カンマ) カメラ切り替えを開く (※暫定)
フルキー[.] (ピリオド) カメラ切り替えのミニパッドを開く (※暫定)
フルキー[/] (スラッシュ) 再生情報モニターを開く (※暫定/日本語キーボードのみ)
フルキー[\][\] (バックスラッシュ, 円マーク) ログビューを開く (※暫定/日本語キーボードのみ)
フルキー[-] FPSモニターを開く (※暫定/日本語キーボードのみ)

[O] ファイルパネル(Open File)を開く
[B] BVH / VMD 読み込み(ファイル選択)を開く (※削除される可能性があります)

[W] 設定(Settings / Tools)パネルを開く
[[] 操作説明・ヘルプを開く
[]] パネルの透明度設定を開く

[Ctrl]+テンキー[0] 音楽の再生
[Ctrl]+テンキー[.] (ピリオド) 音楽の停止
[Ctrl]+テンキー[*] (アスタリスク) CRS の楽曲とモーションの再生
[Ctrl]+[PgUp] 曲リストで前の音楽を再生する
[Ctrl]+[PgDn] 曲リストで次の音楽を再生する
[PgUp] モーションと音楽を10秒巻き戻す (満たないときは無視) ※タイミングにより、位置がずれてしまうことがあるので、その場合は [Home] キーで修正して下さい)
[PgDn] モーションと音楽を10秒進める (満たないときは無視) ※タイミングにより、位置がずれてしまうことがあるので、その場合は [Home] キーで修正して下さい)
[Home] モーションを音楽に合わせる ※要:(Sync)Startオン (サイドパネルでモーション選択の再クリックと同じ)

[F2] モーションを「BVH」 or [VMD] にする
[F3] モーションを「T-Pose」にする
[F4] モーションを「Preset」にする
[F5] リップシンクを「None / Key」にする
[F6] リップシンクを「Preset / Auto」にする
[F7] リップシンクを「Mic LipSync」にする
[F8] リップシンクを「Audio LipSync」にする

[F11] カメラモード (Viewer←→VMD) の切り替え (※暫定)

●ブレンドシェイプのキー操作(※変更される可能性があります)

※プリセットモーション再生中(ブレンドシェイプ「Preset / Auto」)のときは利用できません
(ブレンドシェイプ「None / Key」、モーション「T-Pose」にすると確認しやすい)。

(テンキー) ※[CapsLock]で[Ctrl]押下の代替ができます
[Ctrl]+[1] あ (A)
[Ctrl]+[2] い (I)
[Ctrl]+[3] う (U)
[Ctrl]+[4] え (E)
[Ctrl]+[5] お (O)
[Ctrl]+[6] デフォ表情 (Neutral)
[Ctrl]+[7] 目閉じ (Blink)
[Ctrl]+[8] 右目閉じ (Blink_R)
[Ctrl]+[9] 左目閉じ (Blink_L)
※[CapsLock]はオンのとき、[Ctrl]を押している状態と同等になります。また[CapsLock]がオンで[Ctrl]を押した場合、[Ctrl]を押してない状態と同等になります(つまり[Ctrl]押下を反転します)。ただし、カメラ操作(Ctrl+矢印キーなど)には効きません。
(フルキー)
[1] 喜 (Joy)
[2] 怒 (Angry)
[3] 哀 (Sorrow)
[4] 楽 (Fun)
[5] 視線上 (Look_Up)
[6] 視線下 (Look_Down)
[7] 視線右 (Look_Right)
[8] 視線左 (Look_Left)
[9] 目にっこり [※プリセット曲用(表情)に自動検出したブレンドシェイプ]
[0] 目(or 眉)しょぼん [※プリセット曲用(表情)に自動検出したブレンドシェイプ]

●TGA ファイルの読み込み(360度画像,全天球,スカイドーム)

 現在、フルカラー無圧縮の .tga ファイルのみロードできます。
「Only Full-color Uncompressed is supported.」と出た時は圧縮形式であり、
「TGA texture had non 32/24 bit depth.」と出た時はフルカラーではないファイルです。
その場合、画像変換ソフトでフルカラーにすれば使えますが、png に変換した方がファイルサイズが小さくなって使いやすいかも知れません。

●MakeAvatar モデルのブレンドシェイプの自動バインド

 現在、スマホアプリで自分で作成し、VRoidHub にアップロードしたもののに、自動バインドに対応しています(基本的に Joy→Fun, Sorrow→Sorrow となる)。マーケットに販売されているカスタマイズ的な素材を使っている場合は検出できるかどうかわかりません。その場合、「ブレンドシェイプのバインド設定 (BlendShape Binding)」で手動で設定することができます。

●GLTF を zip のままロードできる機能

 内部ライブラリである UniVRM に元々入っている機能ですが、テクスチャが外れる, 色味が異なる, マテリアルやシェーダが異なる(?)などの不具合が起こる場合があるようです。これらは配布元の UniVRM の改修次第なので、直るかどうかはわかりません(あるとき、バージョンアップしたら直っていた、くらいの感じだと思う(笑))。



■プリセットモーションと表情(VRM のブレンドシェイプ)の対応について

 プリセットモーションには表情が入っています。使われる表情は各VRM のブレンドシェイプ設定の定義が利用されますが、設定によっては不都合なことがあります。

ブレンドシェイプの設定

 例えば VRoid の Joy, Angry, Sorrow, Fun 設定はデフォルトで口のブレンドシェイプも含まれていますが、プリセット曲のリップシンク(口パク)が同時に適用されると、口だけ2重に変形してしまいます

 ちなみに、プリセットモーションで使われるブレンドシェイプ設定は以下の通りです。

・CRS
「Joy」:にっこり
「Blink」:まばたき(両目)
「Blink_L」:ウインク(左目)
「A」「I」「U」「E」「O」:口パク(リップシンク)

・Mirai
「Joy」:にっこり
「Sorrow」:しょんぼり
「Blink」:まばたき(両目)
「LookLeft」「LookRight」「LookUp」「LookDown」:視線(左右上下)
「A」「I」「U」「E」「O」:口パク(リップシンク)


 そこで VRM Live Viewer では一定のパターンを持つブレンドシェイプ名から、プリセット曲に合うものを検出して使っています。例えば「VRoid」や「セシル変身アプリ」などはデフォルトでは一定のパターンで作られているので、自動で他のブレンドシェイプが動的に割り当てられます。

(VRoid)
目にっこりの表情:Joy 設定 (デフォではブレンドシェイプ名:「~ALL_Joy」)
 → 目のみ(ブレンドシェイプ名:「~Eye_Joy」) を検出して使われる
※「CRS」「Mirai」で使われます。

●Joy 設定の対応

デフォルトでは
「~ALL_Joy」が設定されている

プリセット再生中は
「~Eye_Joy」に置き換えられる


目がしょんぼりの表情:Sorrow 設定 (デフォではブレンドシェイプ名:「~ALL_Sorrow」)
 → 目のみ(ブレンドシェイプ名:「~Eye_Sorrow」) を検出して使われる
※「Mirai」で使われます。

●Sorrow 設定の対応

デフォルトでは
「~ALL_Sorrow」が設定されている

プリセット再生中は
「~Eye_Sorrow」に置き換えられる



(セシル変身アプリ)
目にっこりの表情:Fun 設定から、ブレンドシェイプ名:「Nico_L」「Nico_R」 (目) を検出して使われる
※「CRS」「Mirai」で使われます。

●Joy 設定の対応

デフォルトでは
驚いた感じの表情

プリセット再生中は
「Fun」から「Nico_L」「Nico_R」を取得


目がしょんぼりの表情:Sorrow 設定から、ブレンドシェイプ名:Yowa (眉のみ) を検出して使われる(※通常はデフォルト)
※「Mirai」で使われます。

●Sorrow 設定の対応

デフォルトでは
「Yowa」(眉のみ)が設定されている
※通常そのまま使われる


※VRoid も セシル変身アプリもカスタマイズしている場合には上手く検出できない場合があります(フルキーの[9][0]で確認できます)。

※検出は成功していても、他の設定と競合してる場合、上手く表情が反映されない場合があります。特に「Mirai」では複数のブレンドシェイプ設定が同時に適用されるため、個々のブレンドシェイプが複数に跨って使用されている場合、2重に変形してしまうかも知れません(理想は個々のブレンドシェイプが独立している方が良い=モーフィング的な変化が可能なため)。
(例えば、Joy 設定「にっこりでまぶたを20%閉じる」と、Blink 設定「まぶたを100%閉じる」が使用されている場合、まぶたが競合するので、見た目がおかしくなる[→通常、JoyとBlinkは両方同時に使用できないので、表情変化には「Joy=0%, Blink=100%」または「Joy=100%, Blink=0%」のように使われるが、Miraiは時間軸でどちらも使用されるため、競合しやすい(変化で表情が更新されるため中間値を持ち、ヌルヌル動く)。※CRSはオン・オフだけなので中間値を持たず、あまり競合しない(排他的な変化のため、ヌルヌル感は無い)])


※[CRS] オン・オフのみで中間値が存在しないため、競合はしにくいが、リアルな動きにはならない(しかし、曲のテンポが速いので気にならない)。
※[Mirai] 複数のブレンドシェイプが同時に適用され、中間値が存在するため、競合はしやすいが、リアルな動きになる(モーフィング的な変化になる)。
 → v.1.3 以降では「Blink」「Joy」「Sorrow」に設定されているブレンドシェイプ名から競合を検出し、優先度の低い方を無効化します。

優先順位:Blink>Joy>Sorrow
(例)
・ 「Blink」と「Joy」の設定に競合があった場合、「Joy」は無効化され、「Blink」だけが使われる。
・ 「Blink」と「Sorrow」の設定に競合があった場合、「Sorrow」は無効化され、「Blink」だけが使われる。
・ 「Joy」と「Sorrow」の設定に競合があった場合、「Sorrow」は無効化され、「Joy」だけが使われる。

※各ブレンドシェイプの Weight 値(設定値)が 0 で定義されているものがあると、不具合を起こすことがあるようです(Weight = 0 は強制的に無効にしてしまうため?通常 Weight×n% で使われるが、0 定義だと常に計算値が 0×n% = 0 になってしまう → 複数のブレンドシェイプが混合して使われている時、意図しないタイミングで無効化されてしまう)。
 → v.1.3 以降では値が 0 で設定されているブレンドシェイプは除外して利用します。

※ブレンドシェイプ名の検出は大文字小文字を区別しません。

 また VRoid, セシル変身アプリ以外のモデル(フルスクラッチ作品など)の場合は以下の名前をブレンドシェイプの口と認識して、口だけを除外したブレンドシェイプを動的に使います

(口として認識するブレンドシェイプ名)
・「あ」「あ2」など、頭が「あ」で後に 0~1文字(※「い」「う」「え」「お」同様)
・「ワ」「ワ2」など、頭が「ワ」で後に 0~1文字
・「にま」「にま2」など、頭が「にま」で後に 0~1文字
・「にやり」「にやり2」など、頭が「にやり」で後に 0~1文字
・「口」「口あ」「デフォ口」など "口" を含む名前
・「mouth」「_mouth_」「mouth_a」など "mouth" を含む名前
・「mth_a」「_mth_」など "mth_" を含む名前
・「say_a」「say_yo」など "say_" を含む名前
・「vrc.v_aa」など「vrc.v_」で始まる名前
・「A」「a」など1文字のみ(※「I」「U」「E」「O」同様)

※大文字小文字は区別しません。
※今後のバージョンアップで追加・改修する場合があります。

 そのため、独自カスタマイズしている場合は上手く検出ないことがあります。その場合は、現在設定されている Joy, Sorrow などがそのまま使われます

 理想は「Joy」は「口のブレンドシェイプを含まないにっこり」で、「Sorrow」は「口のブレンドシェイプを含まないしょんぼり」となります。

 特に「Joy」と「Fun」はモデルによって設定がまちまちなので(「Joy」が驚きの表情で「Fun」or「Angry」がにっこり、「Sorrow」が驚き or にっこり 等様々…)、プリセットモーションで表情も揃えたい場合は、設定を変更してみるのも良いかも知れません

>>ブレンドシェイプのバインド設定 (BlendShape Binding)



>> セシル変身アプリ
(※登録すれば、無料会員でもアプリをダウンロードできます)




■VMD表情モーフとVRMのブレンドシェイプの対応について

 v1.28 以降では vmd データに入っている表情モーフをVRMのブレンドシェイプに割り当てる機能が搭載されました(※モーフとブレンドシェイプは基本的に同じ意味と考えて良いです。MMDではモーフと呼ばれ、VRMではブレンドシェイプと呼ぶのが通例なので、説明の便宜上2つの呼び名を使ってます。単純に「モーフ」と言えば MMD側、ブレンドシェイプと言えば VRM側の事と思って貰えれば良いです)。

 しかしながら、表情データは作った元のモデルの依存性が強く、MMDモデル同士、VRMモデル同士であっても完全な互換性があるわけではありません。特にフルスクラッチモデルに関しては、おおよそ作者ごとに異なってしまうので、例え同名であっても、全く別の表情が割り当てられたりします(例えば「にっこり」は目が"にっこり"なのか、眉か口か、はたまた顔全体で"にっこり"なのか、作った人による)。

●Lat式(MMD)のウィンク

"ウィンク" が使われている
※標準モデルと同じ
●Tda式(MMD)のウィンク

"ウィンク右" が使われている
※標準とは左右が逆
 
●VRoid(VRM)のウィンク

"~EYE_Joy_R" が使われている
●セシル変身(VRM)のウィンク

"Nico_R" が使われている

 そのため、現状では、MMD側は 標準モデル:あにまさ式を基本に、Lat式、Tda式、む~ぶ式、らぶ式、どっと式、めんぼう式、Sour式、YYB式、Tac式、ゴロペコ式などいくつかのモデルを参考に、VRM側は VRoid、セシル変身、MakeAvatar などを参考にして、おおよそ近いであろう表情を自動的に割り当てるプログラムをしてあります。しかしこれらも元のモデルの個々のパーツにも依存するため、感じが異なる場合もあります(例えば、たれ目のモデルとツリ目のモデルでは同じ「怒り」の表情を当てても、怒りの度合いが違ってみえるかも知れません)。また同じ VRoid, MMDモデルであってもバージョンによって、入っているブレンドシェイプ(名前)が異なることがあります(VRoidモバイルもVRoidStudio製とは多少異なります。基本的に後のバージョンの方がブレンドシェイプの種類が多い)。

 またMMDモーフと、VRMのブレンドシェイプはその適用方法にも違いがあります。おおまかには、MMDモーフは個々のパーツ(眉、目、口、その他)を一定分類で分け、それらを適用、VRMブレンドシェイプはクリップという単位で、複数のブレンドシェイプを集めて適用されています(例えばセシル変身では、「にっこり両目」を「にっこりL」「にっこりR」を1つのクリップとしてまとめて適用、VRoidでは「にっこり両目」が1つで適用で、表現されてます → プリセットと同様なのでこちらを参照)。

・ブレンドシェイプの設定 (UniVRM)

 そういった仕様の違いから、VMDデータをそのままVRMに適用すると、競合が起こり、表情がおかしくなってしまうことがあります。ちなみにここで言う「競合」とは別々の名前で、同じブレンドシェイプを利用することで、例えば「哀愁」で [まぶた] を半目のブレンドシェイプ、「まばたき」で [まぶた] を完全閉じのブレンドシェイプで作ってある場合、「哀愁」の目で「まばたき」しようとすると、同じ [まぶた] を取り合って、どちらかしか表示されないという現象が起きます。アプリでは先に表示された方が優先で、後の方は無視されます(先に表示された方が終わらない限り、後は表示されない)。

 ブレンドシェイプのバインド設定パネルには「競合を無視」するオプションもありますが、これはオンにすることで、前述した競合を検出せずに、そのまま適用します。そのため、競合してるブレンドシェイプ同士が混ざり、意図しない表情になることがあります(まぶたが閉じられているのに、まつげが半目位置など、おかしく見えたりする)。

 また、競合していなくても、同じ目同士、口同士などを適用した場合、表情がおかしくなることがあります。特に VRM では標準クリップとされている喜怒哀楽の表情「Joy」「Angry」「Sorrow」「Fun」は眉、目、口が含まれていることが多いので、リップシンクの口(あ、い、う、え、お)と混ざり、口が2重に変形することがあります(※これもプリセットと同様)(VMDのリップシンクは表情モーフの一部なので、サイドパネルのブレンドシェイプから [Preset/Auto] モードで利用できます)。

 アプリではそういったことを少しでも回避するように、自動的に各パーツごとのブレンドシェイプを生成し、それらを割り当てるようにしてます。ただし、VRoid、セシル変身、MakeAvatar のようにツールで作られたものは、一定のブレンドシェイプが入ってますが、フルスクラッチの場合は、前述したように作者ごとに異なるため、自動生成はほとんどできません。その場合は、一定パターンの名前だけで判断するため、意図しないブレンドシェイプが割り当てられることもあります。


※VRoid は一定のブレンドシェイプが入っているため、それらを利用して自動生成している


※フルスクラッチはモデルごとのため、一定パターンの名前のブレンドシェイプを検出して、利用

>>VMDモーフのバインド設定 (VMD Morph Binding)

 そのため、表情が合わないなどの現象が起きた場合は、ブレンドシェイプのバインド設定パネル(サイドパネルのスマイリーアイコンからも開けます)で、各モーフにバインドされているブレンドシェイプのドロップダウンから、[Disable] を選択することで、無効化することができます

 例えば「笑い」が [Joy] に割り当てられていて、実際には (><) の表情になっている場合(フルスクラッチにはよくある)、[Disable] にすることで、(><) の表情が使われなくなります。または、他のブレンドシェイプを選択し、[T] ボタンを押すことで、表情を確認し、気に入った表情を自由に割り当てることもできます。

 ちなみに [Disable] と [None] は「利用しない」という意味では同じで、[Disable] はデフォルト(自動検出)が有り、[None] は未検出(候補が無い)ときの表示となります(※名前での検出なので、特にフルスクラッチの場合は、ドロップダウンで探せば、合うものが見つかることがあります)。また、アプリで検出精度が上がった場合、[None] だったものが [Disable] になることもあります(前のバージョンでは未検出だったが、後のバージョンでは候補として追加されたとき)。

 また、パネル上で、競合や重複が出ていても問題なく使えることもあります(重複とは、複数のモーフに同じブレンドシェイプが割り当てられている状態。完全に同じものなので、競合でもあります)。例えば、各モーフがタイムライン上で同時に使われることが全く無いデータなら、それぞれが衝突することは無いので、問題なく使えます。

 これらは VMDデータ と VRM の持っているブレンドシェイプの相性としか言いようが無いので、再生して確認するしかありません。とりあえず、アプリでは自動割り当てで気にしないで使ってみて、おかしく感じたら、設定パネルで変更する、で良いと思います。

 こういったとても複雑な事情があるため、完全には対応できないことをご了承下さい。
 



■VRoid Hub について(連携方法)

 VRoid HubVRMフォーマットで作られた 3Dモデルの共有プラットフォームです。pixiv が運営しており、同社が提供しているVRoid Studio を使えば、誰でも簡単に3Dモデルを作成/アップすることができます。

 また VRoid Hub には連携機能があり、このアプリではサイトでハートを付けたもので、他の人の利用OKのモデル、または自分でアップロードしたモデルであれば、直接アプリにロードすることができます。



●VRoid Hub との連携方法

1.初回時は [VRoid Hub に接続] でブラウザが開きます。



2.「あなたのアカウントをVRM Live Viewerを連携しますか?」で [連携する] を押します。



3.連携許可すると認可コードが発行されるので、PCの場合はコピーして、アプリの入力ボックスに入力して下さい。スマホの場合は自動で入力されます。



 これで連携完了になります。次回以降は接続するだけでOKです(※ログアウトした場合は同じ手順をします→認可コードは毎回変わります)。
※ログインに失敗したときは、何度かやり直してみて下さい(特にスマホではなぜか上手くログインできないことがあります)。


●VRoid Mobile で作ったキャラを使う

VRoid Mobile
VRoid Hub

 VRoid Mobile で作ったキャラ(キャラクター)なら、VRoid Hub 連携でアプリにロードして使えます。

 「Yours」タブには VRoid Hub へアップロードしたキャラのみが表示されるので、「利用する」でアプリにロードして踊らせて下さい。



●フィルタの使い方

 現在表示されているリスト(Pickup / Yours / Liked タブごと)に表示されているサムネイルの中から、条件に合ったモデルだけを抽出できます。ちなみに「Yours」タブは自分のアップロードしたモデル、「Liked」タブは VRoidHub (Web)でハートを付けたモデル、「All」タブはその両方となります(v1.9以前)。
 v1.10i以降からは「All」→「Pickup」タブに置き換わり、VRoidHub のピックアップから、アプリで利用できるモデルのリストが表示されます(更新は不定期だそうです。アプリ連携OKのみ表示となるため、あまり変わりませんね…|||orz)。

 フィルタの種類は以下の3種類となり、種類を選択すると、その内容をドロップダウンで選択できます。

[Tag] タグの中から検出します。ただし、VRoidHub (Web) とは少し異なり、大文字小文字を区別しません(1つにまとめられます)。
[Author] 作者から検出します。同名であっても別々になります。
[Name] モデル名から検出します。別のモデルで同名の場合も検出されます。

[☆/★] お気に入りのオフ/オンを切り替えます。リストに表示されてないものは表示されません([See more] で対象となるサムネイルが表示されると出てきます)。
[×] フィルタ解除、または一番上の空白で解除となります。
リロードは1度全てをリセットし、サーバーから最新の情報を取得し直します(詳細画面[利用条件]でハートを外してもリストに残ってますが、リロードすると消えます)





 また、利用条件(モデルの詳細画面)からもフィルタを利用できます。モデル名をクリックすると [Name] フィルタが、作者名をクリックすると [Author] フィルタが実行されます。左にある アイコンでは VRoidHub (Web) でのページがブラウザで表示されます。


 タグをクリックすると、「タグを選択」(Select Tag)が開きます。このダイアログのオプションが「フィルタ」(Filter)の場合、フィルタで実行されます。

 「Web (VRoidHub)」を選択した場合は VRoidHub で検索されます。「ダウンロードOK」にチェックを入れた場合は、ダウンロード可能なものに絞り込みされます。

VRoidHub 上の検索とアプリ内でのフィルタの検出結果は少し異なります。例えば VRoidHub 上では「VOCALOID」と「vocaloid」は別々の結果が出ますが(2019/9 掲載時点)、フィルタでは同じものとして検出されます(大文字小文字違いは1つにまとめられます)。

●リストの中からフィルタで見つける場合


●Web (VRoidHub) でタグ検索する場合
(「ダウンロードOK」をオンにすると、絞り込み検索ができます)



●グループの使い方

 グループとは自由に分類わけできるフォルダのようなものです。各モデルごとにグループへ登録することができ、複数のグループにまたがることも可能です。

 リスト画面ではサムネイルの下に表示されるバーでグループへの操作ができ、詳細画面(利用条件)では右上にあるアイコンからポップアップで登録と削除ができます。

 グループ自体の編集は「Group」タブで、右端の [Group Edit] ボタンから新規作成 / 名前変更 / 削除ができます。
※デフォルトグループ「(Default)」は常に存在し、名前変更・削除などの編集はできません。また、ドロップダウンでは常に最上位に表示されます。

※サムネイルを含むモデルの情報は登録した時点のものになっている場合があります。その場合はリロードボタンを押すことにより、最新情報を取得できます。

(リスト画面)
グループ登録モード オン/オフ 切り替え
グループに追加
別のグループへ移動 (Groupタブのみ)
グループから削除 (Groupタブのみ)
リストの先頭へ (Groupタブのみ)
リストの最後へ (Groupタブのみ)

グループ編集画面へ

リストのモデル情報の再取得(リロード)



(詳細画面 [利用条件])
グループへ登録/削除 ポップアップ表示


※グループ機能はこのアプリ独自のものであり、データはローカルに保存されています。そのため、例えば PC 版と Android 版の両方を使っている場合、データは別々に保存されます(サーバーを介しません)。


●グループ編集

 グループ自体の新規作成・名前変更・削除を行います。それぞれの機能のタブを切り替えて操作します。
 左には現在のグループの一覧が表示され、名前変更・削除では選択したものが編集対象となります。
 グループの一覧は名前の順となり、同名の場合は、作成された順になります。グループ名の後に表示される"(数)"はそのグループに登録されているモデルの数となります。

グループデータをファイルから読み込み
└ (オプション) 同名グループは結合:オンで同じ名前のグループは結合(追加)します。無い場合は新規作成されます。オフの場合は常に新規作成されます。
グループデータをファイルに保存

※グループデータはモデルのIDのみのため、インポート(ファイルから読み込み)の際には、VRoidHubのサーバーからキャラクターデータをダウンロードします。大量にインポートする場合は時間がかかるため、選択で小分けにした方が良いかもしれません。またWIFIなど高速な回線を使って下さい。





■各種素材について/入手方法 (About various materials / How to get)

 アプリ本体は基本的に制限がある素材は使ってませんが、一般配布されている素材をロードして利用する場合、各素材ごとに利用制限がある場合があります。VRM, BVH, VMD, GLB, GLTF, 画像, サウンドなど素材自体の制限等は、その素材の利用規約に従って下さい。

※VMDなどMMD素材の別ソフト利用はMMD開発者自ら全面的に許可されてますが、各素材ごとの利用許諾範囲は確認する必要があります。各素材の添付Readmeや、Webサイトなどに提示してある利用規約、または直接著作者に問い合わせる等、別途確認して下さい。

 素材の利用は、自己責任で権利者の方々の迷惑にならないよう常識の範囲内でお願いします(多くの場合、クレジット表記しておくと良いです)。

>>VMDの利用可能確認済みのリスト (使用例)

 特に楽曲に関しては注意して利用して下さい。
※ニコニコ動画等、二次創作として、音楽著作物及び音楽原盤を利用できるサービスもあります。
音楽著作物及び音楽原盤の利用に関するガイドライン
許諾楽曲検索
クリエイター奨励プログラムとは

 The application itself does not basically use restricted materials, but when loading and using the materials that are generally distributed, there may be usage restrictions for each material. For restrictions on the material itself, such as VRM, BVH, VMD, GLB, GLTF, Images and Audio files, follow the rules for the materials.

* The use of other software for MMD materials such as VMD is completely permitted by the MMD developer, but it is necessary to confirm the usage permission range for each material.
Please check the attached Readme of each material, the terms of use presented on the website, etc., or contact the Author directly.

 Please use the materials within your common sense so that you do not inconvenience the rights holders at your own risk (In many cases, it is good to write credits).

>>List of availability confirmed (Example of use)

Be especially careful when using music.
* There are also services that allow you to use music works and music masters as secondary creations such as Nico Nico Douga.
Guidelines for the use of music works and masters of music
Licensed music search
What is the Creator Encouragement Program?



■VRM(3Dキャラクター)の入手方法

 一般的に Web で配布されているものを利用できます。各モデルの利用方法はその規約に従って下さい。


VRoid Hub
VRoid Mobile


ニコニ立体ちゃん
ニコニ立体で "vrm モデル配布" を検索


 BOOTHとはコミケなどのように、個人の創作活動でも販売できるネットショップサービスです。最近ではVRM, VRoidモデルやカステム用の素材なども販売されています。無料の素材などもあるので、色々覗いてみるのも良いかも知れません。


BOOTHで "vrm" を検索
BOOTHで "vroid" を検索
BOOTHで "vroidテクスチャ" を検索 (衣装などのカスタマイズ素材)


 アプリのヘルプボタンから「素材について・リンク集」でも利用できる VRM 配布サイトなどを紹介しています。

アクシア[縞パン ver.]アリシア色改変モデル。@不沈空母ニコニ立体ちゃんライセンス
(c) DWANGO Co.,Ltd. ニコニ立体ちゃんライセンス

東北ずん子
(c) SSS LLC.(ず・ω・きょ)



●VRMファイルを作ってみたい

 VRM は3Dエンジン「Unity」で、「UniVRM」というオープンソースライブラリから出力することで作成できます。元のモデルは FBX でも他の形式でも構いません。Unity に取り込んで変換できれば利用できます(既存の VRM を取り込んで編集することもできます)。

VRMファイルを作ってみたい
※アクシア(縞パン ver.) は実験用にこの手順に従ってコンバートしたものです(テクスチャ:@不沈空母)。

 しかしながら、Unity のようなツールを使いこなすのはなかなか難易度が高く、ブレンドシェイプや揺れものなどセットアップするのはとても大変です。

 そこで、現在では直感的に3Dキャラクターモデル(アバター)を作成できるツールが配布されています。最近ではプリセットの素体などもバリエーション豊富なので、少し手を加えるだけでも個性的なキャラクターを作成することもできます。



VRoid Studio

 pixiv が開発している3Dキャラクターモデリングツールです。同社が運営している VRoid Hub へもそのままアップロードできるので、毎日非常にたくさんのモデルが作成されています。また同社の BOOTH にも素材が出品されていることが多く、既存のモデルを元にカスタマイズすることもできます(素材の利用規約にもよりますが、改変・再配布可のものも多くあります)。

 また、スマホ専用になりますが、VRoid Mobile では衣装セットやパーツ編集で簡単にモデルを作ることができます。作ったモデルは連携アプリで利用することも可能です(VRM Live Viewer で踊らせることもできます)。



セシル変身アプリ (Fantia)

 VTuber のアバターとして使える、3Dアバター作成支援ツールですが、VRM 出力機能も備えています。こちらもプリセットが豊富で、衣装だけでなく、ケモミミやバニー、しっぽなど、コスプレっぽい素材も入っています。Fantia にて「セシルちゃんファンクラブ」となっていますが、誰でも登録することができ、無料会員でもアプリをダウンロードすることができます。会員になれば、直接開発者にメッセージを送ることができるので、色々リクエストしてみるのも良いかも知れません(コミッションでそういった事もやってます)。



■GLB(3Dモデル)の入手方法

 ニコニ立体など、3Dモデル共有サイトで入手できます。各モデルの利用方法はその規約に従って下さい。


Model: ハグレ王国.glb
Author: 流転 (ニコニ立体)

ニコニ立体で "Vキャス背景" を検索
※検索キーワード:"glb" でも出てきますが、まだほとんどのモデルがダウンロードできないようです(2018/10 時点)。


 VRoidHub にも稀にキャラクター以外のモデルがアップロードされていることがあります。


Model: Stage:Hexagon
Author: MayUge
License: MIT

 VRoidHub には vrm しかアップロードできませんが(2020/11 時点)、vrm と glb は内部フォーマットは同じため(どちらもフォーマットとしては GLTF)、拡張子を vrm → glb にリネームすれば、背景モデルとして使えます

 BowlRoll にアップロードされているものもあります。


Model: 海の砂島ステージ >>[YouTube]
Author: マイキー
License: 添付txt参照

GLBで背景モデルを自作する
GLBで床を自作する
glbファイルの作り方

 ちなみに後述の GLTF と GLB も内部的には同じものです。GLB は GLTF の一連のファイルをアーカイブ(圧縮)したものらしいです。しかし、GLB はバーチャルキャストでの使用が考えられていることが多いため、スケールが等倍(Unity の1ユニット=1m 基準。1ユニットの値が3Dモデルツールによって違うため、3Dモデルを他のソフトで用いると、スケールが異なってしまう問題が出る)で作られていることが多く、VRM系のアプリでは扱いやすいメリットがあります(もっと流行って欲しいですね(笑) ← 今は配布されているものがあまりにも少ない |||orz)。



■GLTF(3Dモデル)の入手方法

 Sketchfab など、3Dモデル共有サイトで入手できます。各モデルの利用方法はその規約に従って下さい。

背景GLTFの設定リスト(使用例)


Author: Hedgehog Boo
License: Attribution 4.0 International (CC BY 4.0)

(sea of star の設定ファイル)
sea_of_star_scene.json(右クリックで「名前を付けてリンク先を保存」)

Sketchfab
「Search」で検索し、オプション(OTHERS)で「Downloadable」にチェックを入れると、ダウンロード可能なものに絞れます。各モデルページの「Download」を押すと「Autoconverted format (glTF)」があるので、ダウンロードして「モデル読込」から "~.gltf" を読み込みます(※シェーダ等の違いにより、完璧な再現はできないのでご了承下さい)。
Sketchfab のモデルは各作者のモデリングツールに依存するため、あまり等倍(1ユニット=1m)は無いようです。ほとんどの場合、「3Dオブジェクトの配置 (3D Object Transform)」を使ってサイズや位置を調整することになります(※大き過ぎたり、小さ過ぎたりすると見えないので、その場合はスケールを適当に変えてみると元サイズがわかります)。



■360度, スカイドーム(全天球)画像の入手方法

 RICOH THETA など360度カメラで撮影・保存した画像や、フリー素材として配布されている全天球画像を利用できます。各素材の利用方法はその規約に従って下さい。


日本列島360 全天球静止画(BOOTH)

※「日本列島360 全天球静止画」は無料でダウンロードできます。


Author: VoxelKei
License: クリエイティブ・コモンズ 表示-非営利 4.0 国際 (CC BY-NC 4.0)

>> BOOTHで "全天球" を検索


++skies;

 超高解像度のスカイドーム(全天球)が多数配布されています。
 利用規約ガイドラインを見てみると「商用・非商用に関わらず使用可」「制作物の形態,用途を問わず,自由に使用できる」とあるので、問題なくアプリで利用できます。
 また、「素材へ加工(リサイズ,トリミング,色調補正,合成等)」もOKでクレジット表記も任意なので、かなり自由に使えると思います。

利用規約
利用ガイドライン

 私が試してみた所、最小サイズの「PNG8」でも 8000x4000 px という十分過ぎるくらいの解像度なので、4000x2000 px または 3840x1920 px にリサイズして使う方が良いかも知れまぜん(ちなみに2のn乗倍にするとメモリ効率が良くなる。スマホの場合 2048x1024 まで落としても良い=あまり大きいとフリーズしてしまうため)。
 360度画像の設定 (360deg Image Settings)Rotation (回転) を -90 度にすると、ちょうど良い感じになる→ v1.24 以降では 0 度が中央になるように調整されました)ものが多いです。


Author: aokcub (BOOTH / FANBOX)


音街ウナ公式 (2D画像)

 本来は動画/2D素材ですが、壁紙素材を360度画像として全天球に貼り付けて、回転やサイズを調整すれば、簡単なドーム状のステージになります。シームレスなものは特に使いやすいです。

>>ニコニ・コモンズでのリスト
※基本的に音街ウナのキャラやイメージイラストなどの商用利用以外は、自由に使っても問題ないようです。

>> 音街ウナ キャラクター使用に関するガイドライン(※配布はニコニ立体, ニコニ・コモンズ)


RICOH MIKU THETA (ハードウェア)

 言わずと知れた、超有名360度カメラ。専用アプリも配布されています。

RICOH THETA Type HATSUNE MIKU(アプリ)



■動画素材(背景用)の入手方法

音街ウナ公式

 本来は2Dの動画素材ですが、アプリでは全天球に貼り付けてスケール・回転などを調整すれば面白い効果が得られる場合があります。

>>ニコニ・コモンズでのリスト
※基本的に音街ウナのキャラやイメージイラストなどの商用利用以外は、自由に使っても問題ないようです。

>> 音街ウナ キャラクター使用に関するガイドライン(※配布はニコニ・コモンズ)

>>レースクィーン小山芳姫さん / @makuraren9
>>れーやちゃん 水髪狐耳美少女 / @れーや
>>天華百剣 津田越前守助廣 / @おナス(沢蟹)
動画素材:音街ウナ動画素材 [リスト]
[カラフルな光のライン], [光と泡のイメージ], [光のラインと星などのパーティクル]
[ピンクのチェックにシャボン玉とパーティクル], [ポップなループする背景]
[上昇する星の群れ], [雪の結晶とハートが降る], [光の筋、尾を引く光の粒子]
[ライブ会場、ステージ、観客をイメージしたループ映像D], [打ち上げ花火のイメージ]
背景3D:Beat Saber Menu(Fun made)/Elin 様
♪私の時間:モーションデータ:hino 様 [ニコ動], 振付:足太ぺんた 様 [ニコ動]
楽曲:くちばしP 様 [piapro] ※音楽はshortが見つからなかったので、fullを使用。
♪シュレディンガイガーのこねこ:>>リストから




■BVH(モーションファイル)の入手方法

 一般的に Web で配布されているものを利用できます(データによっては読み込み失敗するものもあります)。各モーションファイルの利用方法はその規約に従って下さい。

>>使用できる BVH を作る(変換する)

Live Animation モーションライブラリ
 各サンプルの「BVHサンプルXX」(XX:番号)を右クリックで「名前を付けてリンク先を保存」でダウンロードできます。
BVHモーションの再生設定 (BVH Play Settings) で [Rotation] を 180度回転して再生した方が良いものがほとんどです。

音街ウナ公式
 VMD/BVH のモーションデータがニコニ立体で配布されています。残念ながら BVH をそのまま使うことはできませんでしたが(たぶん MMD の座標系(左手系)?)、VMD を「Live Animation」で BVH 変換したら使えました。「あざとかわいいターン」や「オーディエンスのループ」あたりは色々使えそうですね。
>> 音街ウナ キャラクター使用に関するガイドライン(※配布はニコニ立体, ニコニ・コモンズ)



The Daz-friendly BVH release of CMU's motion capture database
 カーネギー・メロン大のデータベースのモーションキャプチャーデータをBVHに変換したものらしいです。各 zip のリンク(「Zip file for BVH directories 01-09」など)をクリックすると、緑色のダウンロードボタンが出るので、それを押すと zip がダウンロードできます。ボタンを押すと、海外らしい結構うざい広告(笑)が出ますが、閉じてしまって構いません。現在 2548 ものモーションキャプチャーデータを利用できます(>>モーションリスト)。特に使用に制限はなく、商業利用も可能のようです。元々学術研究用でもあるので、わりと好きに使っても問題ないと思われます。

 また、少しページの下へ行くと「SECONDARY RELEASE: Daz-friendly hip-UNCORRECTED BVH files release.」というのもあります。こちらは「Hips」のオフセットが0でない(補正されてない)データのようです。「フットスリップの問題が発生した場合にのみ、これらのファイルを選択して使用してください」と書いてありますが、読み込んでみると、少しスムーズな動きをする気がします。ただし、いきなりコマ飛びのような動きも多いです。

 他のサンプル(3dsMAX用など)を試してわかったんですが、エクスポートした3Dツールの座標系の違いで読み込めなかったり、見た目がおかしくなったりするようです。使用ライブラリの BVH インポータは OpenGL系(「Y-up 右手座標系」:Daz3Dも同じ)なので、例えば 3dsMAXなど「Z-up 右手座標系」の場合は見た目がおかしくなります

Perfume Global Site
 Projectページの「DOWNLOAD」から BVH と音楽ファイルがダウンロードできます。「Terms of use」(利用規約)にチェックを入れるとDLできるようになります。音楽もダウンロードできるので(※配布終了してしまったようです。残念… |||orz)音楽の選択 (Music Select):から [プレイリストに追加]:で読み込みできます(※PC版の場合、エクスプローラからアプリにファイルをドラッグ&ドロップしても追加できます)。
BVHモーションの再生設定 (BVH Play Settings) で [Rotation] を 180度回転して再生した方が良いです。

※直接読み込める BVHファイルの情報などありましたら、ツイッターでもメールでも教えて貰えると嬉しいです。このページにまとめて掲載させて頂きます(「BVHモーション配布」みたいのはあまり無いんですよね…)。



■VMD(モーションファイル)の入手方法

 主に ニコニコ動画BowlRoll で「MMDモーション配布あり」などのタグが付いている場合が多いです(BowlRoll の DLパスがニコ動に記載されていることが多い)。または「VPVP wiki」などを参照するのも良いかも知れません。

 zipで配布されていることが多く、中身には大抵 readme.txt などの利用規約(条件)が書かれたテキストファイルが添付されているので、制限事項などを確認して下さい。アプリで再生して自分ひとりで観る分にはそれほど利用法を気にする必要ありませんが、動画にして配信したり、データを改変して利用する場合は制限があるかも知れません

 また、「MMDやMMMのみ利用可」というものもあるので、その場合は利用しない方が良いでしょうよくわからない場合は作者様に直接聞いてみるのが良いと思います(きちんと利用法や非商用などを伝えれば、許可が頂けることも多いです)

 使用の際は、利用条件範囲内で権利者の方々の迷惑にならないよう常識的な使い方でお願いします。通常の再生だけなら、特に問題にはならないでしょう(MMD素材の別アプリ利用は、MMD開発者(樋口M)様が全面的に許可してるため、色々なツールが生み出され、発展してきた経緯がある。MMMもその互換アプリの1つ)。多くの場合、クレジットを書いておくと良いです

●既に利用確認済みのリスト(使用例)

 以下は、VRM Live Viewer での利用をあらかじめ確認できたものです。改めて権利者様方々に問い合わせる必要はありません。

利用条件:
・非商用目的・個人での利用に限る
・クレジットを記載して下さい(英表記があるものは、それも添えて下さい)

(※正確には、全ての素材の利用条件を包括できる条件です)

 言い換えると、商用目的・法人での利用でこれらのモーション使用はご遠慮下さい
 または、別途モーション権利者様に問い合わせてみて下さい(アプリ自体は特に制限してないので、許可済みなら構いません)

 また、以下のピックアップした素材については問題ありませんが、他の楽曲に関しては注意して利用して下さい
※ニコニコ動画等、二次創作として、音楽著作物及び音楽原盤を利用できるサービスもあります。
音楽著作物及び音楽原盤の利用に関するガイドライン
許諾楽曲検索
クリエイター奨励プログラムとは


●XYZの魔法
モーションデータ:hino 様 [ニコ動] [BowlRoll]
振付:足太ぺんた 様 [ニコ動]
楽曲:Nia 様 [piapro] (piapro ライセンス)
※2.3秒くらい遅延再生すると良いです。
(Music Select:画面右下 アイコンから、楽曲を選択し、のアイコンから「Music Start Timing」で調整できます)

●WAVEFILE
モーションデータ:hino 様 [ニコ動] [BowlRoll]
振付:一杯くらい良いじゃないですか 様 [ニコ動]
楽曲:ラマーズP 様 [ニコ動] (*full) [piapro] (piapro ライセンス)
※5.2秒くらい遅延再生すると良いです。
フルバージョンは楽曲のリンクが切れてたので割愛。

●ねこみみスイッチ
モーションデータ:hino 様 [ニコ動] [BowlRoll]
振付:アグー 様 [ニコ動]
楽曲:daniwellP 様 [ニコ動] [HP] [利用規約]
※1.1秒くらい遅延再生すると良いです。

●シュレディンガイガーのこねこ
モーションデータ:hino 様 [ニコ動] [BowlRoll]
振付:アグー 様 [ニコ動]
楽曲:daniwellP 様 [ニコ動] [HP] [利用規約]

●どうでもいい!
モーションデータ:hino 様 [ニコ動] [BowlRoll]
振付:子森久伊亜(Komori Queer)様 [ニコ動] (*削除済み)
楽曲:ぶりる 様 [ニコ動] [piapro] (piapro ライセンス)
※5秒くらい遅延再生すると良いです。
※再生すると、足が不自然な動きになることを確認してます(最初で足が開いたり、途中足が浮いたりする ※調査中)。

●千本桜 (IAカバー)
モーションデータ:あやめ 様 [ニコ動] [BowlRoll]
振付:紫音リア 様 [ニコ動]
楽曲:Spiel 様 [IAカバー] [piapro] (piapro ライセンス)
原曲:黒うさP 様 [ニコ動] [HP/利用規約]

●普通の撮影ポーズ/いろいろ撮影ポーズ など
ポーズデータ:KEITEL 様 [ニコ静] [BowlRoll]


※リストは追加・変更・削除されることがあります。
※リンク切れになった場合はご了承下さい。


 基本的にモーションデータ作者の hino 様, KEITEL 様, yurie 様からは「非商用であれば利用可」(クレジットを添えて) と、直接問い合わせて確認済みです(※ただし、各素材の使用条件は readme で確認して下さい)
(※正確には、全ての素材の利用条件を包括できる条件です)
>> hino 様 [BowlRoll のリスト]
>> KEITEL 様 [BowlRoll のリスト] [ニコ静]
>> yurie 様 [YouTube チャンネル] [ニコ動] [ニコ静]
>> あやめ 様 [ニコ動]
(※利用規約は変更されることがあるので、その都度Webで最新の情報を確認して下さい)

 また、振付作者の 足太ぺんた様, 一杯くらい良いじゃないですか様, アグー様, 子森久伊亜(Komori Queer)様, 紫音リア様方々も同様に「非商用なら利用可」(クレジットを添えて) と、直接問い合わせて確認済みです(※正確には、全ての素材の利用条件を包括できる条件です)。
>> 足太ぺんた 様 [YouTube チャンネル] [ニコ動]
>> 一杯くらい良いじゃないですか 様 [ニコ動]
>> アグー 様 [ニコ動]
>> 子森久伊亜 様 [ニコ動]
>> 紫音リア 様 [YouTube チャンネル] [ニコ動]

 提供されている素材のアプリ利用を許可して頂いたクリエイターの皆様には、心より感謝申し上げます。

 上記以外でもその組み合わせなどで、利用条件内であれば問題ありません。上記のリストは現在でもなるべく揃っていて、すぐに利用しやすいものをピックアップしたものです。

 また、各自で確認や許可を得ている場合は、この限りではありません。自己の責任において利用して下さい。

 利用条件を守って正しく使用する分には、普通に利用して貰っても大丈夫と確認済みなので(クレジットさえ記載して貰えば、動画投稿などしても大丈夫とのこと)、楽しんで下さい!





■VMDカメラモーション

 一般的に vmdモーションに同梱されているもの以外には、BowlRoll にアップロードされているものなどがあります。


Motion: VRMLiveViewerのミライ小町ダンス用に作ったvmd >>[YouTube]
Author: マイキー
License: 添付txt参照



■使用できる BVH を作る(変換する)

 現在の所、ヒエラルキーによるボーン構造やオフセット値など(?)、VRMLiveViewer で利用できるものとそうでないものがあるのがわかっています(使用ライブラリの BVH インポータは OpenGL系(「Y-up 右手座標系」:Daz3Dも同じ)なので、例えば 3dsMAXなど「Z-up 右手座標系」の場合は見た目がおかしくなります)。

 なので、非常に大雑把で正しいやり方とは言えないと思いますが、以下に簡単に利用できる方法を書いておきます。それは「Live Animation」(掲載時点:β4.65)というアニメーション(モーション)作成ソフトを使うことです。このソフトはキネクト(モーションキャプチャー)を取り込んだり、他のモーションファイル形式を変換したりできるソフトです。動作確認はフリー版(β4.65)でしてます。

1.Live Animation を起動したら、キャラクターの中から「johnny」君を選択します。他のキャラでも試してみましたが、「johnny」君以外は上手く行かないようです(追加キャラクターも試しましたが、見た目がおかしくなるようです) BVHインポータのバージョンアップにより修正されました(当アプリでは v0.24β以降)。



2.次に再生するモーションファイルをドラッグ&ドロップします(形式は何でも構わないが、BVHエクスポートしても、読み込めるのとそうでないものがあるので注意)。例えば「モーションライブラリ」で配布されている「~.lam」なども利用できます。必要あればアニメーションを編集しても構いません。



3.メニューから「ファイル>エクスポート>BVH」をすると、BVHエクスポートのダイアログが開きます。ファイル名以外の項目では赤で囲んだ「右手座標系」と「基本ポーズの反転」をチェックする必要があるようです。他のオプションは任意で設定して下さい。



 あとはエクスポートした「~.bvh」を VRMLiveViewer に読み込みます。何らかが原因で使用できない場合は、エラーログが表示されます([×]ボタンで閉じることができます)。fbx や他の BVH 配布サイトの bvh も試したことがありますが、利用できないものも多くあります(→ BVHインポータのバージョンアップで修正されました(当アプリでは v0.24β以降)。ただし、3dsMAXでエクスポートしたものなど「Z-up 右手座標系」の場合は見た目がおかしくなります)。

 また、BVHフォーマットは1フレームのデータを列挙した方式であり(パラパラアニメのようなイメージ)、例えばVMDのようなキーフレーム方式(一定時間ごとにデータがあり、その間はコンピュータで補間する)とは異なるため、再生速度に誤差が出ます(1フレーム:1/60 = 0.0166666…(無理数) だが、コンピュータ内では 0.0166667 となるため、僅かな誤差が積もって遅延となる。またPCのスペックにも依存する)。
 その場合はBVH Play Settings」で Speed を調整すれば近い感じにできます(プリセット値の「1.016」(倍) にすると誤差の少ない速度になります(→ 1.18 以降では誤差精度を上げたため 1.0 倍でも可)。ただしその分、音楽とは頭が少しずれてしまうので、「Music Start Timing (音楽の開始タイミング設定)」で調整した方が良い場合があります。これらもPCのスペックに依存するので、微調整した方が良い場合があります。
 また、通常VMDは補間曲線も入ってる場合も多いですが、BVHでは補間というもの自体がないため、直線的な動きになってしまうことが多いようです(変換ツールの計算精度にも依存します)。



■バージョンによる差異について

※量が多くなったため、こちらのページに分離しました。



■補足説明

※量が多くなったため、こちらのページに分離しました。



■既知の問題(不具合など)

※量が多くなったため、こちらのページに分離しました。



■利用したオープンソースプロジェクト・素材など

[VRMビューワ/VRMインポーター]
VRM
UniVRM

MIT License
Copyright (c) 2018 DWANGO Co., Ltd. for UniVRM
Copyright (c) 2018 ousttrue for UniGLTF, UniHumanoid
Copyright (c) 2018 Masataka SUMI for MToon

[VRoid SDK / VRoidHub, BOOTHロゴ]
Copyright (c) pixiv All Rights Reserved.

[ライブモーション&ステージ&楽曲]
ユニティちゃんライブステージ!
ユニティちゃんライセンス(UCL)
(c) Unity Technologies Japan/UCL

ミライ小町 Unity プロジェクト
(ミライ小町キャラクター使用ガイドライン)
(c) BANDAI NAMCO Studios Inc.

[ニコニ立体ちゃん(アリシア)]
(c) DWANGO Co.,Ltd. ニコニ立体ちゃんライセンス

[アクシア(アリシア改変モデル)]
(c) 不沈空母

[リップシンク]
Oculus Lipsync
Oculus VR, LLC Software Development Kit License
Copyright (c) 2015 Oculus VR, LLC. All rights reserved.

AniLipSync
MIT License
Copyright (c) 2018 XVI Inc.

[UniRx / UniTask]
MIT License (UniRx) / MIT License (UniTaask)
Copyright (c) 2018 Yoshifumi Kawai
Copyright (c) 2019 Yoshifumi Kawai / Cysharp, Inc.

[UnityWindowsFileDrag&Drop / BMPLoader]
MIT License
Copyright (c) 2017-2018 Markus Göbel (Bunny83)

[TGA Loader]
Copyright (c) 2014 mikezila
[Original code] (c) 2013 aaro4130

[LoopScrollRect]
(MIT License)
Copyright (c) 2017 Kanglai Qian

[UnityCipher]
MIT License
Copyright (c) 2018 TakuKobayashi

[UnityVMDPlayer]
MIT License
Copyright (c) 2019 hobosore

[UnityResolutionDialog]
MIT License
Copyright (c) 2020 Steffen Itterheim

[UnityCapture]
Copyright (c) 2018 Bernhard Schelling
Based on UnityCam (MIT License)
Copyright (c) 2016 MHD Yamen Saraiji
UnityCaptureFilter: (MIT License)
UnityCapturePlugin: (zlib License)

[NAudio]
Microsoft Public License (Ms-PL)

[東北ずん子アイコン]
(c) SSS LLC.(ず・ω・きょ)

[音街ウナアイコン/ロゴ]
(c) MTK / INTERNET Co., Ltd. All rights reserved.

[Snow Effect]
ZENRIN City Asset Series
(MIT License)
Copyright (c) ZENRIN CO.,LTD. All Rights Reserved.

[Sphere100.fbx(全天球メッシュ)]
MIT License
Copyright (c) 2015 Makoto Ito

[日本列島360アイコン]
(c) VoxelKei

(※敬称略)

※各素材の著作権は著作者に帰属します。各素材についての利用方法などは、各著作者が提示されてる利用規約などをご確認下さい。



■オマケ?

 アイコンや画像等は紹介記事などに自由に使ってもらって構いません。
 右クリックで「名前をつけて画像を保存」して下さい。クリックで大きい画像が見れます。適当に縮小などして使って下さい。





ポーズ:普通の撮影ポーズ4/@KEITEL
表情ツール:VRM_BlendShapeClipEditor/@120

キャラクターツール:VRoidMobile (c) pixiv / 背景素材:(c) 音街ウナ公式



アクシア[縞パン ver.]アリシア色改変モデル。@不沈空母ニコニ立体ちゃんライセンス
(c) DWANGO Co.,Ltd. ニコニ立体ちゃんライセンス



関連記事
スポンサーサイト



category: アプリ

thread: ソフトウェア開発

janre: コンピュータ

tag: VRoid  VRM  サンプル  VRMLiveViewer 
tb: 0   cm: --


プロフィール

Social

検索フォーム

全記事一覧

カテゴリ

ユーザータグ

最新記事

リンク

PR

▲ Pagetop