ChromMMDVR Version 0.88 マニュアル(2018/02/05)

■起動

Oculus RiftおよびOculus TouchまたはLeap Motionををセットアップ・接続した後、
Windows 64bit版の場合はx64フォルダ以下の"ChromMMDVR.exe"を起動します。
32bit版はx86フォルダ以下の"ChromMMDVR32.exe"を起動します。


○VRについて
Oculus Riftがなくても起動はできます。VRモード使用不可になります。
本ソフトではボーンの編集をVRモードで行いますが、それができなくなります。

Leap Motionがあれば、VRでなくても[VRなしモード]などで編集できますが・・・
VRなしでのボーンの編集はおそらく実用に耐えません(^^;)。

※SmartVR
スマートフォンのVRにも対応しました。
メニューの[VR]-[SmartVR]をチェックすることで、スマートフォンでVRモードが使用できます。
使用するにはスマートフォン側のクライアントアプリも必要になります。
(VR機器がなくても画面に表示されるので、平行法や交差法でも・・・^^;)
クライアントアプリ(ChromVRClient)は近日公開の予定。


○共有Toonテクスチャについて
共有ToonテクスチャはMikuMiKuDanceのファイルを使います(toon01.bmp～toon10.bmp)。
ChromMMDVR.exeのある場所に、MikuMiKuDanceのDataフォルダをコピーすればOKです。
あるいは、共有Toonテクスチャがない場合、起動時にMikuMiKuDanceのファイルを使用するか、
聞いてくるので、MikuMiKuDanceの実行ファイル格納フォルダを指定すると、
そのフォルダ以下のDataフォルダが使用されます。
共有Toonテクスチャがない場合、共有Toonテクスチャを使用しているモデルが正しく
表示されません。


■使い方概要

○モデルファイル、モーションインポート
まずは、モデルのPMXファイルを用意して、インポートします([ファイル]-[インポート]-[モデルをインポート])。
インポートすると、モデルが表示されます。複数のモデルをインポート可能です。

使用したいモーション(VMDファイル)があれば、同様に[ファイル]-[インポート]-[モーションをインポート]で
インポートできます。


○視点変更
マウスカーソルが、3D表示のビュー上にある場合は、マウスで視点変更ができます。

ホイール操作　　　　　　　　　　　　　　　　：視点が前後に移動します
中ボタン(ホイールボタン)を押しながらドラッグ：視点が上下左右に移動します
右ボタンを押しながらドラッグ　　　　　　　　：視点が原点を中心に回転します

VRモードでの視点変更も同じ操作となります。
V0.85より、マウスカーソルの位置を気にせず視点変更できるように視点変更モードを追加しました。
(「VRモード中の「視点変更モード」/「UIモード」切り替え」参照)。
V0.88より、今までモデルを移動・回転するように視点を移動していたのに対し、
ユーザの視点が移動するように移動/回転する「主観モード」を追加しました(V0.88新機能)。


○VRモードへの切り替え
VRが使用可能で、3D表示のビュー上にマウスカーソルがある場合、
マウスボタン左右同時押しでVRモードへの切り替えができます。
VRモードかどうかはステータスバーの一番右に表示されます。
VRモードでヘッドセットを装着すればVR内でモデル、およびVRデスクトップが表示されます。
(メニューの[VR]-[VRモード]でも切り替えられます)

VRモードから抜ける場合も、同様にマウスボタン左右同時押しか、
メニューの[VR]-[VRモード]で切り替えてください。


○VRモード中の「視点変更モード」/「UIモード」切り替え
VRモードに切り替えるとマウスは非表示になり、マウスカーソルの位置によらずマウス操作で視点変更できるよう
になります(視点変更モード)。
視点変更モードでは、次に記載している「VRデスクトップ」が操作できません(通常のデスクトップ画面のUIも操作できません)。
マウス左クリックすると、VRモードのまま、マウスが表示され「VRデスクトップ」を操作できるようになります(UIモード)。
UIモードでは視点変更はできなくなります(3D表示のビュー上にマウスカーソルがある場合もできないようにしています)。
3D表示のビュー上でマウス左クリックすると、視点変更モードに戻ります。


○物理手
VRモードでは、VR内に表示したモデルやVRデスクトップをモーションコントローラ(Oculus Touch/Leap Motion)の
「手」を使って動かすことができます。以下モーションコントローラの手を「物理手」と表記します。


○Oculus Touch
Leap Motionの他、V0.86よりOculus Touchを物理手として使用できるようになりました。
Leap Motion接続時はLeap Motion。未接続時はOculus TouchがあればOculus Touchが物理手として
自動的に使用されます(今のところ)。


○VRデスクトップ
VR内ではVRデスクトップにPCの画面が表示されます([VR]-[VRデスクトップを表示]にチェックがついている場合)。
VR内でのUIはすべてVRデスクトップで行います(手抜き・・・いや効率の良い実装のため^^;)。
VRデスクトップは「物理手」を使って動かすことができます。
VRデスクトップは以外と処理が重いのでモーション再生中などfpsが気になるときは表示しないほうが
良いかも知れません。


○ボーン剛体(旧物理ボーン)
[表示]-[ボーン剛体]でボーン剛体を表示できます。
ボーン剛体とは、物理で動かすことができるボーンです。「物理手」を使って、動かすことができます。
ボーン剛体は、モデルデータにボーンと関連する剛体があればその剛体の形状で、なければ、四角柱の形状で
自動的に作成されます。
※次のボーンJointに合わせてV0.80の「物理ボーン」の名称を「ボーン剛体」に変更しました。


○ボーンJoint
ボーンJointはベースにしたモデルデータの剛体がJointされていない場合に自動で生成されます。
旧バージョン(V0.80)では、ボーン剛体(物理ボーン)の接続はボーンの接続に頼っていました
(「物理＋ボーン位置合わせ」のようなもの?)。
ボーンJointによって、ボーン剛体を物理で動かしたときの挙動が改善する・・・という意図で
実装しましたが動きがぎこちなかったり、動かしたボーン以外も動いたりイマイチです^^;
しかし、ボーンJointを使用しない場合と比べて、以下のような良い点(?)もあります。

・手のような細かい多関節の部分が心持ち(?)操作しやすい
・ボーンJointを使用しない状態では動かしづらい胴体もそこそこ(?)動く
・足など動かすと接続している他のボーンも、より自然に(?)動く
・ボーンが動きにくくなるので微調整に使える(?)

腕などは逆に動かしづらくなっています(捩ボーンのせい?)。
手の指や眼など動かしたくないボーンは変形ロックしておかないと、別のボーンに連動して動いてしまいます。
モデルによっては動きがおかしく使いづらくなるかもしれません。
状況によって、ボーンJoint使用を使用する/しないを切り替えて使うのが良いかと思います。
この機能は[調整パネル]で「ボーンJointを使用する」をチェックした場合に有効になります。


○変形ロック
ボーン剛体でボーンを操作する前に、動かす必要のないボーンを動かないようにしておきます。
ボーンビューに表示されているツリーでチェックをつけたボーンが変形ロックされ、物理操作で動かなくなります。
右ボタンメニューの「変形ロック(子ボーン含む)」では子ボーンも再帰的にロックされます。
とりあえず、以下のボーンはロックしておくことをお薦めします。

・センター、すべての親(上半身、下半身より上位のボーン)
・両目、右目、左目
・右、左の腕捩系

※軸制限のついているボーン(腕捩系など)は今のところロックしなくても動かせません。
変形ロックなどで動かせないボーン剛体は暗い灰色表示になります。


○ボーン剛体操作
変形ロックされていないボーン剛体は「物理手」を使って動かすことができます。
まずは、腕や頭などが動かしやすいと思います。
指先や体など多数のボーンがある箇所はなかなか思い通りに動かないかも知れません。
足はデフォルトでIKが有効になっているため、IKを無効にしないと足を動かそうとしても動きません。
IKについては後述します。

※変形ロックのほか、物理メニューの[物理操作有効]が無効(チェックされてない状態)
　になっているときは動かせません。また複数モデルを表示しているときは、モデルビューで
　選択されているカレントモデルしか動かせません。モーション再生中も動かせません。


○ボーン回復モード
物理操作を行っているとボーンの角度に制限がないため、ありえないようなポーズに
なってしまうことがよくあります(^^;)。
そのようなとき、元に戻したいときにボーン回復モードを使います。
[物理]メニューの[ボーン回復モード1]～[ボーン回復モード3]のうちいずれかをチェックして
「物理手」を握った状態にすると「物理手」が水色表示になります。この状態でボーン剛体を動かす(叩く)と、
[ボーン回復モード1]では、確定済みのモーションの状態に徐々に戻っていきます。
[ボーン回復モード2]では、モデルの初期状態に戻っていきます。
[ボーン回復モード3]では、軽く握った状態では確定済みのモーションに戻り、
強く握るとモデルと「物理手」が白色表示となり、初期状態に戻ります(握り加減が難しい・・・)。
[調整パネル]で設定できる[ボーン回復モード影響範囲]内に存在するボーンのみ有効です。
([ボーン回復モード影響範囲]は[調整パネル]の説明を参照)

※Oculus Touch使用時はコントローラ設定でボタンにボーン回復モードの機能を割り当てて使用します(V0.88変更)。


○モーション確定
モデルのポーズをうまく変更できたら、現フレームのモーションデータとして確定します。
モーション確定はEnterキーで行います(メニューの[モーション]-[モーション確定]でも可)。
ここまでで、まだVMDファイルからモーションを読み込んでおらずモーションデータがない場合は、
「初期モーションデータを作成します。よろしいですか？」と表示されるので、
[OK]を押すと、モデルの今のポーズを先頭フレーム(フレーム番号0)のデータとして、
モーションデータが作成されます。

すでにモーションデータを読み込んでいる場合は、現フレーム(モーションビューのエディット
ボックスに表示されている番号のフレーム)のモーションデータとして登録されます。


○IKについて
MMDモデルの足には通常IKが適用されています。
IKがかかっている場合はIKボーンを動かすことでIK影響範囲のボーン(この場合、足)が動きます。
ボーン剛体を表示している場合は、オレンジ色で表示されるボーンがIKボーンなので、
足についてる、オレンジのボーン剛体を動かすことで、足を動かすことができます。
しかし・・・動かしにくいと思います(^^;)。

IKでない場合と同じように動かすために、簡単なのはIKを無効にすることです(^^;)。
[IK]-[IK有効]のチェックを外すとIK無効になります。
初期状態なら大丈夫ですがモーションデータを読み込んだ場合などIKの影響がある状態で
IKを無効にするとモデルのポーズが変わってしまいます。
IK無効でも同じポーズにしたい場合は「IKを適用した状態にボーンを更新」を実行すると、
IK無効でもIK適用後のボーズになります(モーション未確定)。

これで、元のポーズの状態からIK無効で物理操作できるようになりますが・・・
やっぱりIKのため、IKボーンをそのままにはしておけない！・・・という場合は、
[IK]-[自動でIKボーンをターゲットに合わせる]をチェックすると、IKボーンが自動的に
初期状態のターゲットと同じ位置関係のまま動きます。

なお、IKについてはかなり頑張りましたが、MikuMikuDanceと同じIKのかかり方にならない
ことがあると思います。最終的にMikuMikuDanceで確認する必要があります。


○コントローラ設定(V0.88新機能)
コントローラ(主にOculus Touch)でボーン同期、モーフ同期をはじめ、様々機能を実行できます。
設定方法の詳細は省略しますが、設定の概要は「[設定]ダイアログ」の「コントローラ設定」タブの説明を
ご参照ください。
デフォルトのコントローラ設定は、ControllerSettings.txtをご参照ください。


○ダイアログボックスのコントローラ操作(V0.88新機能)
ダイアログが表示中、コントローラのボタンで以下のボタン操作をすることができます。

Aボタン⇒　[OK]
Bボタン⇒　[YES}
Xボタン⇒　[キャンセル]
Yボタン⇒　[NO]


■モデルビュー
複数のモデルをインポートした場合、上部のドロップダウンリストに表示されているモデルが
アプリケーション各機能での操作対象のモデル(カレントモデル)となります。
リストボックスでは複数モデルが選択できます(ただし複数モデルが操作対象となるのは今のところ「モデル削除」のみ)。
表示のチェックボックスでモデル表示状態を切り替えられますが、切り替え操作はカレントモデルのみ有効となります。
カレントモデルを切り替えるとき、モーション未確定の場合は、モーション確定の確認ダイアログが表示されます。

○モデルビューのツールバー
・新規(Insert)　：モデルをインポート
・削除(Delete)　：モデル削除
・↑　　　　　　：リストボックスのカレントモデルを上に移動
・↓　　　　　　：リストボックスのカレントモデルを下に移動


■材質ビュー
カレントモデルの材質をリスト表示します。
各材質のチェックボックスで「通常」(チェック未確定)、「透明化」(チェックなし)、「不透明化」(チェックあり)
を切り替えられます。
※材質の透明化、不透明化は本アプリケーション上での表示を変更するのみでエクスポートするモーションデータには反映されません。

○ポップアップメニュー
・通常(N)　　　　　　　：選択材質を通常表示に切り替える
・非表示(透明化)(T)　　：選択材質を透明化する
・表示(不透明化)(O)　　：選択材質を不透明化する


■モーフビュー
カレントモデルのモーフをリスト表示します。
各モーフのスライダーでモーフのウェイト値を変更できます。

○ポップアップメニュー
・ウェイト値設定:0 　　：選択モーフのウェイト値を0に設定
・ウェイト値設定:0.25　：選択モーフのウェイト値を0.25に設定
・ウェイト値設定:0.5 　：選択モーフのウェイト値を0.5に設定
・ウェイト値設定:0.75　：選択モーフのウェイト値を0.75に設定
・ウェイト値設定:1.0 　：選択モーフのウェイト値を1.0に設定


■ボーンビュー
カレントモデルのボーンをツリーで表示します。
各ボーンのチェックボックスをチェックすると、そのボーンは「変形ロック」となり、
ボーンビューでのボーン変形操作、およびVRでの物理操作の対象外となります。

○ポップアップメニュー
・展開(子ボーン含む)(E) 　　　　　　　　　　　　：選択ボーン以下のツリーを展開表示します
・折りたたみ展開(子ボーン含む)(C) 　　　　　　　：選択ボーン以下のツリーを折りたたんで表示します
・変形ロック(子ボーン含む)(L) 　　　　　　　　　：選択ボーン以下のツリーを変形ロックします(チェックあり)
・変形ロック解除(子ボーン含む)(U) 　　　　　　　：選択ボーン以下のツリーを変形ロック解除します(チェックなし)
・ボーン変形をモーションに戻す(選択ボーン)(M) 　：選択ボーンを確定済みモーションの状態に戻します(戻した状態は未確定)
・ボーン変形をモーションに戻す(子ボーン含む)(N) ：選択ボーン以下のツリーを確定済みモーションの状態に戻します
・ボーン変形を初期状態に戻す(選択ボーン)(I) 　　：選択ボーンをモデルの初期状態に戻します
・ボーン変形を初期状態に戻す(子ボーン含む)(J) 　：選択ボーン以下のツリーをモデルの初期状態に戻します
・IKボーンをターゲットに合わせる(A) 　　　　　　：IKボーンを、初期位置のIKボーン/ターゲットと同じ位置関係となる位置に移動します

※「ボーン変形をモーションに戻す」「ボーン変形を初期状態に戻す」「IKボーンをターゲットに合わせる」後のモーションは未確定状態。
　確定するには[Enter]キーを押すか、[モーション]-[モーション確定]などの操作が必要です。


■モーションビュー
各モーション項目をモデルの表示枠設定にしたがって表示します。
また、モデルOn/Off(表示On/Off)をリストビュー最初の行(「モデル」グループ)に表示します。
モデルのボーン、モーフと一致しないモーション項目を最後の「不一致」グループに表示します。

○名前
モーション項目の名前を表示します(モデル、ボーン、モーフの名称)。
モーションデータ中の名前がモデルデータと異なる場合、モーションデータ中の名前を後ろにカッコつきで表示します。
(モデル名が異なる場合、ボーン、モーフの名前がモーションデータの制限15文字を超える場合)

○ステータス
以下の組み合わせで表示します。

物理　　　　　：物理影響下のモーション項目(物理演算、物理＋ボーン位置合わせの剛体関連ボーン)
IK　　　　　　：IKボーンのモーション項目
(データなし)　：モーションデータなし
(On/Offあり)　：モデルOn/OffまたはIK On/Offのデータあり
(ボーンなし)　：モデルに一致するボーンのないモーション項目
(モーフなし)　：モデルに一致するモーフのないモーション項目

※物理影響下のモーション項目は今のところ本ソフトではモーションを変更できません。

○キーデータ
モーションのキーデータは各モーション項目のタイムライン上に"◇"で表示されます。

○モデルOn/Off, IK On/Off
モーションのモデルOn/Off(表示On/Off)、IK On/Off(IK 有効/無効)は各モーション項目のタイムライン上に少し大きな"◇"で表示されます。
モデルOn/Off, IK On/Offはタイムラインバー先頭のチェックボックスで切り替えられます。

○選択について
モーション項目のタイムライン上で左クリックしドラッグすると矩形範囲のキーデータが選択できます("🔶"が赤くなる)。
右クリックのポップアップメニューで[選択解除]すると、選択が解除されます。
モーションビュー上方のフレーム番号の表示されたバー上で、左クリック後、ドラッグまたは右クリックすると、
縦範囲選択ができます(指定したフレーム範囲で縦選択される)。
横選択、縦選択は。メニューの[横選択]/[縦選択]の説明を参照。

○キーデータ移動
選択したキーデータのドラッグでキーデータを前後のフレームに移動できます。

○モーション変更状態
「モーション変更状態」は、モーション変更中で確定していないモーション項目がある状態です。
変更中のキーデータはタイムライン上のキーデータ"🔶"が緑色で表示されます。
モーション変更状態では、モーションビュー下部のスライダーによるフレーム移動が無効になります。
(左右のボタンでのフレーム移動は可能ですが、モーション確定するか確認ダイアログが表示されます)

○先頭フレームのキーデータ
先頭フレーム(フレーム番号0)のフレームはVMDの仕様上(?)、すべてのモーション項目(ボーン、モーフ等)のキーデータが存在しています。
そのため、先頭フレームのモーション項目について削除や移動はできません(例えば[切り取り]をすると、キーデータは削除されない
でモデルの初期状態に戻ります)。

○モーション再生
モーションデータがある場合、モーションビュー左下の再生ボタンでモーション再生・停止ができます。
複数モデルのモーションデータがある場合、すべてのモデルのモーションデータで最大のフレームまで再生します。
再生は現在のフレームから開始し、全モデルの最大フレームまで再生したら停止します(最初のフレームには戻りません)。
最大フレームの位置で再生ボタンを押すと、最初のフレーム(0フレーム)に移動します(V0.88変更)。
縦範囲選択されている場合、縦範囲選択の最終位置で再生を停止します。
縦範囲選択の最終位置で再生ボタンを押すと、縦範囲選択の最初のフレームに移動します(V0.88新機能)。
(再生のループは未対応)

○フレーム表示
モーションビュー左下のエディットボックスに「(現在のフレーム番号)/(最終フレーム番号)」を表示します。
「最終フレーム番号」はカレントモデルのモーションデータの最終キーデータのフレーム番号です。
(モーション再生では、上記通り、全モデルのモーションデータの最終フレーム番号まで再生されます)

○フレーム移動
フレーム表示のエディットボックスにフレーム番号を入力してEnterキーを押すと、そのフレーム番号に移動します。
モーションビュー右下のスライダーで、「0フレーム～(全モデルの最終フレーム番号)」まで移動できます。
スライダー左右の[<][>]ボタンで1フレームずつ移動します。
[Shift]キーを押しながら[<][>]ボタンを押すと5フレームずつ、
[Ctrl]キーを押しながら[<][>]ボタンを押すと50フレームずつ、
[Shift]+[Ctrl]キーを押しながら[<][>]ボタンを押すと500フレームずつ移動します。
[.<][>.]ボタンで、選択しているモーション項目の次のキーデータまで移動します。
また、各ボタン押しっぱなしにすると連続で移動します。

○ポップアップメニュー
・変更ありの項目のみ表示(M) 　　：モーション変更ありのモーション項目のみ表示します。
・無効な項目を非表示(L) 　　　　：ステータスが「ボーンなし」「モーフなし」(不一致)のモーション項目を非表示にします。
・データなしの項目を非表示(N) 　：ステータスが「データなし」(モーションデータなし)のモーション項目を非表示にします。
・モーションビュー表示更新(U) 　：モーションビューの表示を更新します。
※その他のメニュー項目は、下記「メインメニューの説明」にある[編集]メニュー、[モーション]メニュー中の
　同じ項目の説明を参照。


■[プロパティ]ウィンドウ
材質ビュー／ボーンビュー／モーフビューで選択された項目の情報を表示します。


■[出力]ウィンドウ
アプリケーションのメッセージを出力します。

○ポップアップメニュー
・コピー(C) 　　：選択された出力内容をコピーします。
・クリア(R) 　　：出力内容をすべてクリアします。
・非表示(H) 　　：[出力]ウィンドウを非表示にします。


■[調整パネル]ウィンドウ
以下の各タブで調整値が変更できます。
各タブ[デフォルト]ボタンでデフォルト値に戻ります。

○3D表示
・背景色
3D表示の背景色を選択できます。

・拡大率(Z)
3D表示の拡大率を調整できます(0.01～10倍)。

○視点操作
・3D表示の拡大率で補正する
視点移動量の設定を3D表示の拡大率に合わせて補正します。
拡大率を縮小したときに細かく移動したり、拡大したときに大きく移動したい場合にチェックします。

・視点移動量(XY)
画面上のXY平面の視点移動(マウス中ボタンドラッグ)の移動量を設定します。

・視点移動量(Z)
画面上のZ軸の視点移動(マウスホイール)の移動量を設定します。

・視点回転量(R)
マウス右ボタンドラッグの視点回転量を設定します。

○物理操作
・ボーンJointを使用する(J)
チェック状態でボーンJointが有効になります。チェックをはずすとボーンJointは無効になります。
ボーンJointについては「使い方概要」の「ボーンJoint」の説明を参照。
※[ボーンJointを使用する]のチェックをはずした状態では、物理操作の挙動がV0.80に近くなります。

・ボーン剛体同期間隔(I)
ボーン変形をボーン剛体に反映する間隔をフレーム単位で設定します。
同期間隔をあけると、ボーン剛体はボーン位置の戻されず物理で動くので、より物理の動きが反映される・・・
と考えて追加した機能ですが、どちらかというとボーン回復モードがスムーズに効くようになりました^^;
ボーンJoint実装の副産物のようなものですが、ボーンJointよりいい感じです^^;
※[ボーン剛体同期間隔]を0にすると、ボーン回復モードの挙動がV0.80に近くなります(効きにくくなります)。
　ボーンJointを使用しない場合は、ボーン回復モード以外この設定は影響しません。

・ボーン回復モード影響範囲(E)
ボーンJointにより一部のボーンを動かしたとき他のボーン剛体も連動して動くため、ボーン回復モードの
影響範囲が広くなりすぎたので(ボーン回復モードは動いたボーンが回復する)、ボーン回復モードの
影響範囲の制限を設定するようにしました。ボーン位置(始点)から「物理手」までの距離が
[ボーン回復モード影響範囲]で設定した範囲内のボーンのみ回復します。
ボーン回復モードで「物理手」の周りに表示される半透明の球内が影響範囲になります。

○SmartVR
・視点補正(A)
現在のスマートフォンの向きを、VRではない状態の視点の向きに一致するように補正します。


■[設定]ダイアログ
以下の各タブで設定変更できます。

●一般(V0.88変更)

○モーション記録(V0.88新機能)
・モーション記録間隔(フレーム)(M)
モーション記録で自動的に記録するフレームの間隔を設定します。


○自動保存設定 (自動保存の設定変更はアプリケーション再起動後に有効になります)
・自動保存有効(E)
チェックされているとドキュメントの自動保存が有効になります。
「自動保存」については、後述の「自動保存」の説明を参照。
※自動保存中はアプリケーションの動作が少しの間停止します。VRモード中に動作が止まるのが気になる場合は、
　無効にしてください。ただし、無効にするとアプリケーションエラーが発生した場合にドキュメントの回復が
　できなくなります。

・自動保存間隔(I)
自動保存を行う間隔を指定します。

・保存場所
自動保存したファイルが格納されるフォルダのパスを表示します。

・設定(S)
ボタンを押すと[保存場所]を設定するフォルダ選択ダイアログを表示します。

●コントローラ設定(V0.88新機能)

○ステート(S)
機能が有効になるステートを選択します。
「通常モード」はコントローラのボタンを押していない状態です。
「ボタン A」「ボタン B」等は各ボタンを押した状態を示します。
この状態それぞれに入力、機能設定で機能を割り当てます。

○入力(I)
機能に割り当てる入力を選択します。
HMDトラッキング、ハンドトラッキングはそれぞれHMD、コントローラ(Oculus Toouch/Leap Motion)の
トラッキング位置を入力とします。
トリガボタン、グリップボタン、スティック←→↑↓は押された度合の値を入力とします。
スティックボタン/親指タッチは押された状態のみ(ON)を入力とします。

○機能設定
選択しているステート、入力に割り当てる機能を設定します。機能は5つまで設定できます。
入力が[HMDトラッキング]、[ハンドトラッキング]の場合は割り当てられているステートの状態で機能が実行されます。
(例えば、[ボタン A]のステートで入力が[HMDトラッキング]なら、ボタンA+Bが押された場合に
HMDトラッキングを入力とした機能が実行されます)
その他の入力は、割り当てられているステートの状態で、かつ各ボタン等が押された場合に機能が実行されます。
(例えば、[ボタン A+B]のステートで[入力]がトリガボタンなら、ボタンA+B+トリガボタンが押された場合に
 機能が実行されます)

機能設定の詳細については省略します。

○ミラーモード
[ボーン同期]の機能の対象名の左右などを反転します。左右は反転しますが、「ミラーモード」のみでは
トラッキング位置は変わりません。
「ミラーモード」でさらに「相対座標」もチェックすることで[ボーン同期]が鏡写しの状態になります。
ミラーモードは各入力ごとに同じ設定になります。

○相対座標(「頭」基準)
[ボーン同期]において、モデルの「頭」ボーンと[対象名]に設定されたボーンの相対位置が
HMDトラッキングとハンドトラッキング位置の相対位置と合うように同期します。
[対象名]に「頭」ボーンの親ボーンを設定した場合は(対象ボーンの移動に伴って、
頭ボーンが動いてしまうので)無効になります。

○回転軸反転
それぞれの軸について、[ボーン同期]でのボーンの回転方向を反転します。


●SmartVR

○SmartVR設定
・通信ポート番号(P)
SmartVRで使用する通信ポート番号を設定します。

・エンコードビットレート(E)
SmartVRでスマートフォンに画像送信する際のエンコードビットレートを設定します。


■メインメニューの説明

○[ファイル]メニュー
ドキュメント/ファイル操作を行います。

[新規作成]
新規にドキュメント(*.CMM)を作成します。

[閉じる]
ドキュメントを閉じます。

[開く]
既存のドキュメントファイル(*.CMM)を開きます。

[上書き保存]
開いているドキュメントを上書きで保存します。

[名前を付けて保存]
開いているドキュメントに名前を付けて保存します。

[インポート]-[モデルをインポート]
モデルファイル(*.PMX)をインポートして、モデルを表示します。

[インポート]-[モーションをインポート]
モーションファイル(*.VMD)をインポートして、カレントのモデルに適用します。
他のモデルのモーションの場合、モデル名は変更せずに読み込みます。
また、一致するボーン/モーフのないモーションもそのまま読み込みます。
メニューの[モーション]-[このモデルのモーションに変換]で、モーションのモデル名を
モデルファイル(PMX)のモデル名に変更し、一致するボーンのないモーションを削除します。

[エクスポート]-[モーションをインポート]
カレントのモデルのモーションをモーションファイル(*.VMD)に出力します。

[設定]
設定ダイアログを表示します。設定ダイアログについては「[設定]ダイアログ」の説明を参照。


○[編集]メニュー
モーションビュー選択項目の編集操作を行います。

[元に戻す]/[やり直し」
操作のUndoとRedoを行います。

[切り取り]/[コピー]/[貼り付け]/[挿入]
モーションビューで選択したキーデータの切り取り、コピー、貼り付けを行います。
選択方法は「モーションビュー」の「選択について」参照。
貼り付けは、カレントフレーム位置以降に貼り付けます。
挿入は、カレントフレーム位置以降にフレームを追加して挿入します。

[横選択]/[縦選択]
モーションビューで項目を選択して[横選択]すると、選択したモーション項目(複数選択している場合は選択している最初の行)
について先頭フレームから最終フレーム(最後のキーフレーム)までのすべてのキーデータを選択します。
[縦選択]するとカレントフレームのすべてのモーション項目のキーデータを選択します。

[横選択上書きコピー]
横選択した後、他のモーション項目を選択すると使用できます。
あるモーション項目のモーションを他のモーション項目にまるごとコピーするのに使用します。

[縦範囲選択削除]
縦範囲選択すると使用できます。選択範囲をフレームごと削除します。
縦範囲選択は「モーションビュー」の「選択について」を参照。

[選択解除]
選択状態を解除します。


※物理操作のUndoについて
物理操作後、Undo対象の操作を行った場合、それまでにボーンの変更があれば自動でUndo登録されます。
(つまり、Undo対象の操作をUndoしたときには物理操作後の状態に戻り、さらにUndoすることで物理操作前の状態に戻ります)
自動でUndo登録するとメッセージウィンドウに「ボーン変形を自動Undo登録しました」とメッセージ表示します。

※視点変更操作による自動Undo登録
物理操作後、「視点変更」の操作を行った場合も自動Undo登録するようにしました。
VR中、何度も行うと思うので、この場合は「ボーン変形を自動Undo登録しました」とメッセージは出力しませんが、
自動Undo登録されています。
「視点変更」の操作自体はUndo対象ではないので、視点は変わらずモデルのボーン変形のみUndoされます。


○[表示]メニュー
表示/非表示等の表示を切り替えます。

[ボーン表示]
モデルのボーンの表示/非表示を切り替えます。

[ボーン剛体表示]
モデルのボーン剛体の表示/非表示を切り替えます。
ボーン剛体については「使い方概要」の「ボーン剛体」の説明を参照。

[ボーンJoint表示]
モデルのボーンJointの表示/非表示を切り替えます。
[調整パネル]の[物理操作]タブで、[ボーンJointを使用する]をチェックした状態でないとボーンJointは表示されません。
ボーンJointについては「使い方概要」の「ボーンJoint」の説明を参照。

[剛体表示]
モデルの剛体(PMXモデルの剛体)の表示/非表示を切り替えます。

[Joint表示]
モデルのJoint(PMXモデルのJoint)の表示/非表示を切り替えます。

[fps表示]
最下行のステータスバー右側のfps表示/非表示を切り替えます。

[ツールバーとドッキングウィンドウ]-[標準]
標準ツールバーの表示/非表示を切り替えます。

[ツールバーとドッキングウィンドウ]-[モデルビュー]/[材質ビュー]/[ボーンビュー]/[モーフビュー]/[モーションビュー]/[プロパティ]/[出力]
各ビューの表示/非表示を切り替えます。
ビューを消してしまったときは、ここから表示させてください。

[ツールバーとドッキングウィンドウ]-[カスタマイズ]
"[ツールバーとドッキングウィンドウ]"のメニューはVisual StudioのMFCアプリで自動的に作成される項目です。
・・・ようするに、よくわかりませんがツールバーやメニューのキーボードアクセラレータ、メニュー表示項目など
いろいろカスタマイズできます(^^;)。

[ステータスバー]
最下行のステータスバーの表示/非表示を切り替えます。

[アプリケーションの外観]
"[アプリケーションの外観]"のメニューはVisual StudioのMFCアプリで・・・(以下同上)
気分に合わせて(?)、アプリケーションのカラーなどの外観を変更できます。


○[視点]メニュー
視点に関する操作を行います。

[主観モード](V0.88新機能)
ユーザが移動するように視点が移動/回転する「主観モード」と、
モデルが移動するように視点が移動/回転する「オブジェクトモード」を切り替えます。
(それぞれのモードで移動・回転の方向と、回転の中心がユーザ視点かモデルかが異なります)
主観モード時はステータスバーに、[主観モード]と表示します。

[視点を世界の中心に](V0.88変更)
視点位置をワールド座標原点(の手前)に移動します。
V0.88で[モデル]メニューから、[視点]メニューに移動しました。


○[モデル]メニュー
モデルに関する操作(未確定のモーション変更操作を含む)を行います。

[世界の中心とモデルをここに]
「世界の中心」とは、要するにワールド座標系の原点(0,0,0)のことです。
ワールド座標原点とカレントモデルが視点の前方(ここ)になるようにモデルと視点を移動します。
(カレントモデル以外は見た目の位置が変わりません)

[世界の中心をここに]
視点の前方(ここ)がワールド座標原点になるようにモデルと視点を移動します。
(各モデルの見た目の位置は変わらずに目の前がワールド座標の原点になります)

[世界の中心をこのモデルに]
ワールド座標原点がカレントモデルの位置になるように全モデルを移動します。
視点位置は変わりません。
(各モデルの位置関係はそのままでカレントモデルがワールド座標原点になる位置に移動します)

[モデルを世界の中心に]
カレントモデルだけをワールド座標原点に合わせます(他のモデルは移動しない)。
視点位置は変わりません。

[モデルをここに]
カレントモデルを視点の前方(ここ)に移動します。

[ポーズをモーションに戻す]
カレントフレームにおいて変更中で確定していないモーションを、確定済みモーションの状態に戻します。
変更できるモーションには以下の項目があり、これらすべてが元に戻ります。

・ボーン変形(移動、回転)
・モーフウェイト
・モデル表示状態
・IKボーンのIK on/off状態

モーションデータがあり、モーション変更状態の場合にこのメニューが有効になります。

[ポーズを初期状態に戻す]
カレントモデルのボーン、モーフをモデルの初期状態に戻します。
ボーンはモデルの初期状態になります。
モーフはモーフウェイト0になります。
モデル表示状態は「表示」の状態になります。
IKボーンのIK on/off状態はIK onになります。

[材質表示初期化]
材質ビューに表示している、カレントモデル各材質の表示状態を通常に戻します(モデルの設定通りに表示)。

[ボーン変形初期化]
カレントモデルのボーン変形をすべてモデルの初期状態に戻します。

[モーフウェイト初期化]
カレントモデルのモーフウェイトをすべて初期状態(モーフウェイト0)に戻します。

[モデル削除]
モデルビューのリストボックスで選択しているモデル(複数選択可)を削除します。

[モデル表示]
カレントモデルのモデル表示状態(表示/非表示)を切り替えます。


○[モーション]メニュー
モーション確定および確定済みモーションに対する操作を行います。

[モーション再生]
モーションの再生/停止を行います。

[モーション記録](V0.88新機能)
モーション記録の開始/停止を行います。
モーション記録中は、再生時のように表示フレームが進んでいき、設定ダイアログの[一般]タブで設定した
モーション記録間隔のフレームで自動的に更新されたモーションを記録します。
記録停止時に記録した範囲を縦範囲選択します。
縦範囲選択されている範囲(最終フレームを除く)で記録を開始した場合、縦範囲選択の最終位置で記録を停止します。

[モーション確定]
カレントモデルで変更中のモーションを確定し、カレントフレームのモーションとして登録します。
確定するモーションは[変更中のモーションを元に戻す]で元に戻る項目と同様、
以下の項目があります。

・ボーン変形(移動、回転)
・モーフウェイト
・モデル表示状態
・IKボーンのIK on/off状態

[初期モーションデータ作成]
カレントモデルの現在のモーションを0フレーム目のモーションとしてモーションデータを作成します。

[モーションデータ全削除]
カレントモデルのモーションデータをすべて削除します。

[選択モーションデータ削除(不一致のみ)]
モーションビューで選択中のモーション項目のうち不一致(ステータスが「ボーンなし」/「モーフなし」)の項目のみ削除します。

[このモデル用のモーションに変換]
カレントモデルの不一致(ステータスが「ボーンなし」/「モーフなし」)のモーション項目を削除し、モーションのモデル名をカレントモデルのモデル名に変更します。

[60fps]/[30fps]/[無制限]
モーション再生の最大フレームレートを[60fps]/[30fps]/[無制限]に設定します。

[モーションビュー表示更新]
モーションビューの表示を更新します。
モーションビューのポップアップメニューにより、表示/非表示となっているモーション項目は、状態が変わったときに
表示/非表示の状態を自動で更新しないため、このメニューにより手動で更新してください。


○[IK]メニュー

[IK有効]
IKの有効/無効を切り替えます。

[モーション再生中のみIK有効]
チェックするとIK無効の時(IK有効をチェックしていない場合)、モーション再生中のみIK有効になります。
IK無効のときのみ変更可。

[IKを適用した状態にボーンを更新]
カレントモデルのボーンをIKを適用した状態に更新します(ボーンの変更は未確定)。

[全体または縦範囲選択キーフレームにIKを適用]
縦範囲選択していない状態ではモーションデータ全体に、縦範囲選択した状態では縦範囲選択したフレーム範囲の
モーションデータにIKを適用します(ボーン変更確定)。
IKを適用すると、IK無効でもIK有効のモーションに近くなりますが、キーフレームにしか適用しないため、
IKボーンのフレーム補間は無効になるので、IK有効の状態のモーションとは完全には一致しません。

[自動でIKボーンをターゲットに合わせる]
IKボーンの位置を、IKターゲットと同じ位置関係に保ちます(ボーンの変更は未確定)。
モデル初期状態の時点と同じ位置関係になります。


○[物理]メニュー

[ボーン回復モード1(モーションに戻す)]/[ボーン回復モード2(初期状態に戻す)]
VR内で「物理手」を握ると、水色表示になります。
この状態で、ボーン剛体を動かすと[ボーン回復モード1]ではボーンが確定済みのモーションの状態に戻っていきます。
[ボーン回復モード2]では初期状態に戻っていきます。

[ボーン回復モード3(モーション/初期状態)]
「物理手」を軽く握ると水色、強く握ると白色になります。
水色の状態で、ボーン剛体を動かすとモーション(確定済み)の状態、白色の状態では、初期状態に戻っていきます。

[物理有効]
剛体による物理が有効になります。

[物理操作有効]
ボーン剛体による物理操作が有効になります。

[物理リセット]
剛体、Jointなど物理系をすべてリセットし、再作成します。
剛体がどこかへ飛んで行ったり動かなくなったり、物理がおかしくなったときに使用してください。


○[VR]メニュー

[VRモード]
VRが使用可能な場合、チェック状態でVRモードとなり、HMDを装着するとVRが表示されます。
VRモードへは3D表示されているビュー上でマウスボタン左右同時押しでも切り替えられます(「使い方概要」の「VRモードへの切り替え」参照)。

[SmartVR]
チェックすることで、スマートフォンによるVRモードが使用できます。
使用するにはスマートフォン側のクライアントアプリが必要です(「起動」の「SmartVR」参照)。

[VRなしモード]
VRモードではLeap Motionを使う場合HMDに取り付けて使用する前提ですが、VRなしモードではLeap Motionを机上に置いた状態で、
使えるようになります。
VRなしモードでは、VRモードへの切り替えはできなくなります。

[VRデスクトップ]
チェックすると、VR内で、PCの画面を矩形のオブジェクトで表示します。

[VRデスクトップを側に配置]
チェックすると、VRデスクトップが視点の側に寄ってきます。

[VRデスクトップをこちらに向ける]
チェックすると、VRデスクトップが視点のほうを向くようになります。
※ただし、VRデスクトップ画面の端に視点を近づけられなくなるので、視点がVRデスクトップに近い場合には視点のほうを
　向きません。VRデスクトップ画面が近いときにこちら向きになっていない場合は、視点を少し離して見て下さい。


○[ウィンドウ]メニュー

[新しいウィンドウを開く]
モデルを表示する新しいビューウィンドウを開きます。

[分割]
モデルを表示するビューウィンドウを4分割表示します。


○[ヘルプ]メニュー

[バージョン情報]
バージョン情報をダイアログ表示します。


■自動保存
ドキュメントが更新されている場合、5分ごとに自動保存を行っています。
自動保存したファイルはデフォルトでドキュメントフォルダ以下の以下の場所に保存されます。
※保存場所は[設定]ダイアログで変更できます。

(ドキュメントフォルダ)\ChromSoft\ChromMMDVR\AutoSave\    (64bit版)
(ドキュメントフォルダ)\ChromSoft\ChromMMDVR32\AutoSave\  (32bit版)

アプリケーションエラーで再起動した場合、ドキュメントの回復には、ここに保存したが
ファイルが使用されます。ドキュメントの回復を行った場合、自動保存したファイルは
削除されます。


---

