9.2. VRoid/VRM

 VRoid/VRMを読み込んでポーズを取らせたり後述のアニメーションを作成して楽しめるのが本アプリのメインの特徴です。VRMファイルの読み込みから実際の操作まで、一連の操作を説明していきます。

9.2.1. VRMの利用条件を確認する

 読み込みが進むとVRoid/VRMの利用条件確認画面が表示されます。自分以外の製作者のVRMファイルを読み込んだ場合、利用条件をよく確認し承諾できれば「OK」ボタンを押して読み込みを完了させてください。

../_images/operation_vrm_5.png

 この後WebGL画面に目的のVRoid/VRMが表示されます。

注釈

  • VRMを履歴から開いた場合、オプションによってはこの確認画面を省略することができます。

  • VRoidStudio 1.xのモデルと0.xのモデルは関節の形状や初期ポーズなどが異なります。本アプリではその差異をなるべく吸収していますが、VRoidStudio 1.xから出力した直後のモデルは次ページの11, 13のIKの初期表示が若干ずれます(動かし始めれば問題ありません)。


9.2.2. VRMのIKマーカーの操作

 読み込んだVRoid/VRMには図のようにIKマーカーと称する半透明の図形がついています。それぞれ次の部位の動きに連動しています。また、部位ごとにIKマーカーの操作の種類が決まっています。

../_images/operation_vrm_6.png

No

部位

対応操作

No

部位

対応操作

1

視線(EyeViewHandle)

移動

2

頭の左右の傾き・顎突き出し(Head)

回転

3

頭の向き(LookAt)

移動

4

上半身の向き(Aim)

移動

5

上半身・肩の左右の傾き(Chest)

移動

6

腰の向き・傾き・移動(Pelvis)

移動・回転

7

左肩(LeftShoulder)

回転

8

左ひじ(LeftLowerArm)

移動

9

左手(LeftHand)

移動・回転

10

右肩(RightShoulder)

回転

11

右ひじ(RightLowerArm)

移動

12

右手(RightHand)

移動・回転

13

左足の方向(LeftLowerLeg)≠ひざ

移動

14

左足首(LeftLeg)

移動・回転

15

右足の方向(RightLowerLeg)≠ひざ

移動

16

右足首(RightLeg)

移動・回転

注釈

  • 対応していない操作をしてもその部位に動きはありません。

  • 可能な限り複雑でなく・面倒くさくなく・それでいて自在にポーズの編集をしていただくため、操作可能な部位はこれだけとなっています。そのため、操作が膨大になる FK (Forward Kinematics) には対応していません。

  • 世間的には厳密な言い方があるかもしれませんが、本アプリでは上記の各ボーン(部位)のこと=IKマーカー(パーツ)として表記して説明していきます。

  • 13と15はひざと同じ意味ではありません。足の全体的な向きと捉えてください。


9.2.2.1. 各IKマーカーの操作

 選択した各IKマーカーをクリックすると図のようになります。これが操作ハンドルです。

../_images/operation_vrm_7.png

X,Y,Z軸移動

緑=Y、青=Z、赤=X軸として、ドラッグするとその方向にIKマーカーを移動します。その移動量だけ体の該当部位も移動します。

中心の平面

真ん中の同じ色で四角のボックスは、その中をドラッグするとその面が示す軸ともう片方の軸のみで自由に移動させることができます。

9.2.2.2. 特殊な操作

 IKマーカーを選択した状態で次のキーを押すと特別な機能が使えます。

Ctrlキーを押しながらIKマーカーをクリック

IKマーカーを複数選択することができます。複数選択した状態で移動や回転を行うと複数の体の部位を同時に動かすことができます。 なお、操作ハンドルも当たり判定があるので、カメラをズームするなどしてIKマーカーだけを選択してください。

Xキーを押下

グローバル座標・ローカル座標を切り替えます。デフォルトはローカル座標です。

Gキーを押下

IKマーカーを移動のみにします。

Rキーを押下

IKマーカーを回転のみにします。

Tキーを押下

IKマーカーを初期状態に戻します。(移動・回転両方)

Shift + Zキーを押下

IKマーカーによる移動・回転を元に戻します。

Shift + Yキーを押下

IKマーカーによる移動・回転をやり直します。


9.2.2.3. VRoid/VRM自体の移動・回転

 選択したVRoid/VRM自体を移動・回転するには、右のプロパティの「IK、全身」タブにある「移動モード」をONにします。

../_images/operation_vrm_8.png

 すると、VRoid/VRMの足元付近をクリックするとIKマーカー全部が選択状態になります。表示されませんが実際にはここが全体のIKマーカーとなっています。

警告

※足首と全体のIKマーカーが干渉しやすいため、移動しない場合は適時OFFに切り替えてください。


../_images/operation_vrm_9.png

 この状態で上下左右に移動・回転するとVRoid/VRM自体がそのとおりに動きます。これはプロパティの「共通」タブから数値で設定もできます。

../_images/prop_common_1.png

 共通タブからはVRoid/VRMの全体の大きさも調整できますが、VRoid/VRMは読み込んだ時点のサイズが理想のサイズです。この倍率はあまり極端に変更しないことをオススメします。(IKマーカー自体のサイズまでは追随しないためIKマーカーと体の部位の位置がズレます)


9.2.2.4. 全ボーンをTポーズに戻す

 IKマーカーをいじりすぎて求めるポーズに戻せなくなった場合、リボンバーの 3Dモデル タブの 全ボーンをリセット を押すとTポーズ(デフォルトのポーズ)に戻すことが出来ます。

../_images/operation_vrm_a.png

 また、全体の位置や回転も 位置をリセット回転をリセット で戻すことが出来ます。

../_images/operation_vrm_b.png

9.2.2.5. IKマーカーを数値で操作する

 IKマーカーをマウスやタッチで操作するほか、実際の数値で入力して操作することもできます。目的のVRoid/VRMを選択し、右のプロパティの「IK、全身」タブにある「IK位置の一括変更」のボタンを押します。

../_images/operation_vrm_c.png

 専用のダイアログが表示されます。ここでスプレッドシート形式で各IKマーカーの位置や回転を直接指定することができます。目的の箇所を変更し終わったら最後に「ポーズを適用」ボタンを押します。
 すると対象のVRoid/VRMの現在のポーズがそのとおりに変更されます。
../_images/screen_ikmarker.png

注釈

  • VRM以外を選択している間はツールバー内のボタンは無効化します。

  • ここでの数値は現在のVRM固有の数値です。身長・体格差は反映されないため他のVRMで使い回すことはできません。


9.2.2.6. 可動範囲の制限を調整する

 本アプリではVRMは標準でいくつかの可動範囲の制御が適用されます。それらによりVRMが無理なく自然な人体の動きを再現できます。
 しかしながら本アプリのIKと競合することもあり、それが原因でポーズやアニメーションが再現しきれない仕様も備わってしまっています。人体として多少不自然でもいいから完全に自由にポージングさせたい場合、これらIKマーカーの制限を外すことができます。

警告

ver 1.0.x 時点では、下記の連動には問題があります。

  • VRM自体を回転するとIKの連動の方向がずれる。

本アプリのVRMとIKの根本のシステムにかかわる部分の仕様の問題です。今後のアップデートで別途案内をするまで、基本的には設定でオフにしておくことをお勧めします。

※ただし、関節が曲がってはいけない方向に曲がるなどします(アニメーション中では適切にキーフレームに登録していただければ問題ありません)。

次の3パターンの連動
腰(Pelvis)と足(LowerLeg)
  • 腰を上下したときに足(LowerLeg)がその動きに合わせて前後に若干移動

足首(Leg)と足の方向(LowerLeg)の連動
  • 足首を移動させたときに足(LowerLeg)を前後に若干移動

手(Hand)と腕(LowerArm)の連動
  • 手を移動させたときに腕(肘)も追随して移動

  • 腕の回転軸に合わせて手も回転

※これらはキーフレームのプレビューやポーズ、アニメーション再生時には自動的にオフになり、予期せぬ余計な干渉を防ぎます。
設定画面の「Modelタブ」→「ボーンの連動」でオン・オフが切り替わります。
足の方向(LowerLeg)、足首(Leg)のX軸の回転角度・ひじ(LowerArm)のY軸の回転角度
  • ひじ、膝から下、足首の回転の範囲が実際の人体に沿って制限がかかります。

  • 設定画面の「Modelタブ」→「VRMの体に自然な可動制御を適用する」でオン・オフが切り替わります。

足の方向(LowerLeg)を動かした後の足首(Leg)のX軸の回転
  • 足(LowerLeg)を前後に動かしたときに足首(Leg)の回転角度をLowerLegに合わせて回転させます。

  • 設定画面の「Modelタブ」→「足首の回転を自動で行う」でオン・オフが切り替わります。


9.2.2.7. IKマーカーを別オブジェクトに切り替える

 VRMは前述の部位に従ってIKマーカーが設定されており、それを動かすとポーズが変わります。体の各部位の動きの目印となるそのIKマーカーに、別のオブジェクトを割り当てることができます。
 これをするとどうなるのかを説明します。
../_images/operation_vrm_d.png

 IKマーカーの部位を選択し、その部位に割り当てるオブジェクトを選択します。選択可能なオブジェクトは次のとおりです。

Self ・・・元のIKマーカーに戻します。
Main Camera・・・アプリのメインカメラ
各VRM、OtherObject、Light、Camera、Image、Effect・・・他の3Dオブジェクト

注釈

※部位にHead、LeftShoulder、RightShoulderは選択できません。
※なお、自分自身や2Dオブジェクト、SystemEffectやAudio、Stageには割り当てられません。

注意

割り当てているオブジェクトを削除した場合、各VRMのIKは自動的にデフォルトに戻ります。


VRM AとVRM B、そしてエフェクトオブジェクトを使った場合

../_images/operation_vrm_e.png

 この状態でエフェクトオブジェクトを動かすと、キャラAとBがその方向に振り向き視線を合わせるようになります。

 この設定と状態をアニメーションに反映することも可能です。アニメーションプロジェクトに登録するのは次の内容となります。

オブジェクト

登録する操作

VRM

IKマーカーの割り当て

割り当てられたオブジェクト

実際の移動や回転など


9.2.3. 手のポーズの操作

 手のひらを操作するには右のプロパティから「腕・手」タブを開き、左右の手を好きなポーズを選んでください。

../_images/prop_vrm_2.png

 スライダーでポーズの度合いを調整出来ます。手のポーズは今後のアップデートで増やす予定です。

Ver 1.0.0 時点:
  • 通常

  • 開く

  • グー

  • 指差し

  • Vサイン

  • サムズアップ

  • 握る

Ver 1.0.4から次に対応しました。
  • 手動操作

../_images/prop_vrm_8.png

imgfinger1 親指~小指の関節

それぞれのスライダーで指の関節を回転します。上は第1関節~第2関節、下は第3関節です。

imgfinger2 指自体の操作(指と指の間、指の軸回転)
赤のスライダーは、指の間の開き具合をスライダーで調整します。
緑のスライダーは、指の軸を中心として回転します。(実際の人間としてはできませんが、3Dモデルではしばしば必要な回転操作です)
imgfinger3 親指の付け根

親指の付け根の回転を円形のスライダーで調整できます。左は親指と手のひらの遠近の距離を、右は主に左右の回転を表します。



9.2.4. ブレンドシェイプ

 わかりやすく言うとVRoid/VRMの表情等を切り替えることができます。右のプロパティの「ブレンドシェイプ」タブを開き、好きなブレンドシェイプをスライダーで値を入力して調整してください。

 ブレンドシェイプには 汎用専用 の2種類があります。UnityやBlenderに詳しい方向けの説明ですと、SkinnedMeshRendererが 汎用 、VRMBlendShapeProxyが 専用 と本アプリでは分類分けしています。

../_images/prop_vrm_4.png

 ブレンドシェイプはVRMファイルごとに決まっており、キャラクターによって操作できる数に増減があります。
 各シェイプキーの横のスライダーを0~100までの間で動かしてください。

9.2.4.1. 自動まばたき

 自動まばたきは指定のタイミングでVRMにまばたきをさせ続けます。

../_images/prop_vrm_3.png

 アニメーションプロジェクトのキーフレームとは別に動き続けるため、ブレンドシェイプで目の開閉を一からキーフレームに組み込む必要がありません。

まばたきの間隔・まぶたを開ける秒数・閉じる秒数・閉じている秒数

それぞれを指定することで目の動きだけでも表情を感じさせることができます。

 デフォルトではオンです。不要な場合は「自動まばたきを有効」のチェックを外してオフにしてください。

警告

目のブレンドシェイプと競合します。使う際はどちらか一方にすることをオススメします。


9.2.5. オブジェクトの装着

 VRoid/VRMの特定の体の部位にFBXやObj・Lightなど別のオブジェクトを紐付け、動きを連動させることができます。右のプロパティの「オブジェクトの装着」タブを開いてください。

../_images/operation_vrm_f.png

  1. あらかじめ別のオブジェクトを追加しておきます。

../_images/operation_vrm_g.png

注釈

※位置や回転は紐付けたい体の部位に合わせて調整しておきます。

  1. VRoid/VRMを選択し、対象の体の部位を選択し、追加ボタンをクリックします。

../_images/operation_vrm_h.png
  1. 紐付けたいオブジェクトを選択し、「OK」ボタンを押します。

../_images/operation_vrm_i.png

注釈

 装着可能なオブジェクトは次のとおりです。

  • FBX・Objなど3Dオブジェクト

  • Image

  • Light

  • Camera

  • Effect

  1. 装着したオブジェクトの情報が表示されるようになります。

../_images/operation_vrm_j.png
 以後、体の部位に合わせて装着したオブジェクトも連動して動くようになります。
 右端の削除ボタンで装着を解除できます。

注意

※装着されたオブジェクトの扱い
 VRMが装着したオブジェクトは、アニメーションにおいては位置や回転などの変形操作をキーフレームに登録することはできなくなります。一覧で選択してもIKマーカーは表示されません。
 各種プロパティは装着前に設定しておくようにしてください。

アニメーションプロジェクトでのオブジェクトの装着について

 このオブジェクトの装着は仕組みが入り組んでいるため、アニメーションにおいては使用と準備には注意してください。オブジェクトの装着と解除は 目的とするモーションの開始・終了とは別にする 必要があります。
 次の順序でキーフレームに登録するとよいでしょう。
例:

VRMの右手に剣の3Dオブジェクトを装着する

フレーム

VRM

その他オブジェクト

1

右手を所定の位置に動かす

剣を所定の位置に動かす

2

右手に対して剣のオブジェクトを 装着する

なし

なし

9

右手を動かし終える

なし

10

右手に装着した剣を 解除する

このときの位置・回転のままキーフレームに登録

  • 2~10フレームの間はその他オブジェクトのプロパティを変更することはできません。

  • アニメーションにおけるポイントは、開始時点と終了時点で装着の状態が同じ状態になっていることです。例えば1フレーム目で装着なし、10フレーム目で装着ありのまま、フレーム操作をしたり再び再生ボタンを押すと、オブジェクトの位置が次第にズレていくことがあります。


9.2.6. 重力の設定

 VRoid/VRMが持つボーンには重力の設定が標準で備わっています。ボーンは通常はゲームやモーションなどの演出時にUnity標準の衝突判定の機能によって自動的に動きます。

 本アプリでもVRoid/VRMが動いた時に髪の毛がなびいたりしますが、それを手動で細かく調整することができます。

 本アプリのみの効果となりますが、例えばスカートがめくれすぎる現象をこの重力の設定によって修正することができます。

警告

後述のStageの風の効果と設定が競合します。風を使用する場合はこの機能を使わないでください。

../_images/screen_gravity.png

 操作中のVRMが持つボーンの重力設定の情報がスプレッドシート上に羅列されます。ここで表示されるボーンは次のものです。

  • VRM自体が持つ(VRoidStudioでの作成中にすでに保持している)ボーン

  • Unityエディタや拙作VRMOneEditorなどのツールでVRMに後付けした3Dモデルが保持しているボーン

 なお、一度UniVRMにて変換を経ているはずなので、ボーンの情報としては VRMSpringBone コンポーネントに依存しています。

 何がどのボーンに実際に位置するのかはVRoidStudioやUnity上であらかじめ確認しておいてください。変更可能なセルは次のセルです。

Power

そのボーンにかかる重力の直接的な強さ(0 ~ 1)

Direction X / Y / Z

そのボーンにかかる重力の方向の強さ(-1 ~ 1)

注釈

  • 各Directionの -1 は負の向きです。例えばY軸なら下に向かうようになります。(1 だと上に向かいます)

  • 重力によるボーンのなびき具合は Power * Direction で反映されます。

  • 最新の情報を読み直すにはツールバーの読み込みボタンを押してください。

9.2.7. テクスチャ

 VRMが保持しているテクスチャを細かく設定変更することができます。なお、OtherObjectのほうの設定と使用方法は全く同じです。

../_images/prop_obj_1.png

  1. マテリアルが複数存在する場合は上部のコンボボックスから対象のマテリアルを選択します。

※テクスチャの設定の内容が切り替わります。

  1. 各種設定を好みで変更します。

シェーダー

Standard , VRM/MToon , Water のいずれかを選択します。

テクスチャのベースの色を変更します。

カリングモード

OffFrontBack のいずれかを選択します。

ブレンドモード

OpaqueCutoutFadeTransparent のいずれかを選択します。

メタリック~Rim Fresnel Power

それぞれ必要に応じて調整します。

SrcBlend~DstBlend

色と透過を複合的に変化させて適用します。詳しくはVRM/MToonの解説サイトを検索してください。

テクスチャの種類

ファイルから、あるいは カメラから を選択します。いずれの場合も -- を選ぶと参照を解除できます。

ファイルから 1

別途読み込み済みのテクスチャファイルに付けた素材名を選択して読み込みます。元のテクスチャに戻す場合は -- を選択してください。

カメラから 2

プロジェクトに存在するカメラオブジェクトを選択します。別途カメラオブジェクト側でレンダーテクスチャの設定をしておく必要があります。

フレネルスケール~波方向CD

Water の場合、水面の色・反射の色、波の頻度やサイズなどを変化させます。3

ヒント

1

リボンバーの アニメーション タブ → 設定 ボタン → 素材 タブ にて必要なテクスチャファイルを事前に読み込んでください。

2

Cameraオブジェクトで事前にレンダーテクスチャを設定しておいてください。

3

https://docs.unity3d.com/ja/2019.1/Manual/HOWTO-Water.html

注意

  • テクスチャの変更はこのアプリの使用中のみで実際には変更されません。

  • 各色のプロパティの不透明度はWebGLの場合適切に反映されません。ご了承ください。

  • 同じマテリアルを使用しているテクスチャ(メッシュ)が複数ある場合、アニメーションプロジェクトにおいてはその最後のテクスチャの設定のみが最終的に反映されます。(例: Aというマテリアルを使用しているテクスチャが3つ存在する場合、3番目の設定が最後に適用される)