##################################### ポーズ・モーションを保存する ##################################### .. contents:: ポーズ・モーションを保存する ###################################### ポーズとモーションの保存はリボンバーから行なえます。 リボンバー > 3Dモデルタブ > Pose/Motion > 保存 .. image:: ../img/screen_ribbon_model_02.png メニューは次のように構成されています。 .. csv-table:: :header-rows: 1 保存の種類, 端末, 内蔵ストレージ, Googleドライブ アプリ用ポーズ, o, o, o アプリ用モーション, o, o, o 汎用フォーマット(.bvh / .anim), o, x, x VRMAnimation, o, o, x ポーズを保存する ===============================  ポーズはVRoid/VRMのみ、全身のIKマーカーを動かした状態を保存しておくことができます。これはアニメーションではなく、単一のポーズごとです。 1. VRoid/VRMにポーズを取らせます。 .. image:: posing_1.png :align: center | 2. 「3Dモデル」タブの **Pose/Motion** から「保存」をクリックします。 3. アプリ用ポーズをクリックします。 .. image:: ../img/screen_ribbon_model_02.png :align: center | 3. 保存先として、 ``端末`` , ``内部ストレージ`` , ``Google Drive`` のいずれかを選びます。 4. ポーズ名を入力してください。 .. image:: posing_3.png :align: center | ポーズが保存されます。 | **サムネイルを保存する・しない**  ポーズファイルはサムネイルに対応しています。実際の動作にはまったく影響しませんが、一覧で見やすくなります。保存しないようにするには、設定画面で ``ポーズの保存時にサムネイルも保存する`` のチェックを外してください。 .. image:: posing_n.png :align: center | 特に問題ないと思われるので、端末に保存する場合でもサムネイルがデータ中に含まれます。 .. hint:: ポーズの保存時にはキーフレームの登録をしておく必要はありません。 保存したデータは? 内部ストレージの場合、アプリ内(使用中のブラウザの中)に保存されます。ローカルディスクのフォルダとは違うアプリごとの専用の領域のような場所なので、他のアプリからは見えないようになっています。 端末の場合はそのままPCのフォルダに保存されます。 Google Driveの場合はGoogleドライブ内に保存されます。 .. caution:: Google Driveの場合、別途ユーザー側で事前にGoogleアカウントの取得・GoogleAppsScriptの設定が必要です。 .. index:: モーションの保存 .. _savemotionfile: モーションを保存する =================================  モーションの場合はすべてのタイムライン(ロール)の種類を保存できます。 1. モーションを保存したいタイムライン(ロール)をタイムラインの一覧で選択します。 2. 「3Dモデル」タブの **Pose/Motion** から「保存」をクリックします。 3. アプリ用モーションをクリックします。 4. 保存先として、 ``端末`` , ``内部ストレージ`` , ``Google Drive`` のいずれかを選びます。 5. モーション名を入力してください。 6. モーションが保存されます。 モーションの場合サムネイルは存在しません。 .. index:: モーションファイルの読み書きの注意点 .. warning:: **モーションを作るVRMの体格に注意** VRMでモーションデータを作る際、途中で身長や体格の異なるVRMに差し替えて作ると接地や各部位にズレが生じてしまいます。必ず同じVRMのままモーションの作成を完成させてください。 例: 1. 160cmのVRMでモーションを途中まで作り、一旦ファイルに保存する 2. 別の日に155cmのVRMにvvmmotファイルを読み込み、モーションの続きを作成する 3. また別の日に140cmのVRMにvvmmotファイルを読み込み、モーションを再生する この場合、3の140cmのVRMはモーション中に全身が浮き沈みしたり予期せぬ動きを起こします。 .. caution:: モーションを読み込んだ後、再びモーションファイルとして保存する場合は **必ず** 各キーフレームを一度は登録してください。 モーションを読み込んだ直後は、タイムライン(ロール)の中には今現在のVRMの身長情報と、モーションの中にある参考情報としての別VRMの身長情報が混ざった状態です。 | 改めてキーフレームに登録することで、今現在のVRMの身長・体格としてモーションが登録されていきます。 | (登録する際、ポーズなどを動かす必要はありません。フレーム番号を選択してVRMなどオブジェクトがそのモーションを再現したらすぐに 登録ボタンを押して構いません) これは、上記の「モーションを作るVRMの体格に注意」の問題と同じ意味となります。 | 様々な形式で保存する ###################### .. index:: ディスクに保存する(ポーズ・モーション) アプリ用ポーズとモーションをディスクに保存する ======================================================  内部ストレージやGoogle Driveに保存した後も端末に保存し直すことができます。これが従来のポーズ・モーション一覧のウィンドウを使う手順です。 1. 「3Dモデル」タブの **Pose/Motion** から「開く」をクリックします。 2. アプリ用ポーズまたはアプリ用モーションをクリックします。 .. image:: ../img/screen_ribbon_model_01.png :align: center | 3. ポーズ・モーション一覧のウィンドウが開きます。 .. image:: posing_4.png :align: center 4. ツールバー右にある PoseまたはMotionタブを選択します。 5. ダウンロードしたいポーズまたはモーションを選択します。 6. ツールバーにある「ダウンロード」ボタンをクリックします。 :保存形式: .. csv-table:: :header-rows: 1 種類, 拡張子 ポーズ, **.vvmpose** モーション, **.vvmmot** .. note:: 中身はJSON形式です。識別しやすくするため独自の拡張子でダウンロードされます。 | .. index:: モーションを.anim形式で保存 Unityなど汎用形式でモーション保存する ========================================== VRMのみですが、汎用的なアニメーション形式での保存も可能です。 .. admonition:: 汎用形式のモーションが登録されるタイミング * キーフレームを登録した時 * タイムラインで登録済みのキーフレームを選択した時 1. モーションを保存したいタイムライン(ロール)をタイムラインの一覧で選択します。 2. 「3Dモデル」タブの **Pose/Motion** から「保存」をクリックします。 3. モーション:汎用フォーマット をクリックします。 4. ``.bvh`` または ``.anim`` を選びます。 5. ファイル名を入力し、 ``OK`` ボタンを押します。 :保存形式: * **.anim** .. note:: * 汎用フォーマットは端末への保存のみ可能です。 * .animファイルは Unityでそのまま読み込み可能な AnimationClipファイルです。 .. warning:: * 既存のプロジェクトやモーションを読み込んだ時は、 **必ず登録済みキーフレームを一つずつ選択して** VRMを実際に動かしてください。そうしないと汎用形式のデータが保存されません。 * 本アプリ ``ver 2.6.0`` 時点では.bvhは実装が困難なため、選択できません。 * .animは試験運用中のため動作保証できません。特定のボーンの回転が崩れる可能性があります。ご了承ください。 * .animファイルを本アプリで再び読み込むことはできません。 .. index:: VRMAnimation(エクスポート) モーションを.vrma形式で保存 .. _vrma_export: VRMAnimation形式でエクスポートする ======================================= .vrmaファイルはUniVRMで新しく定義されたVRM専用のモーションフォーマットです。 詳しくは下記をご覧ください。 `VRMC_vrm_animation - GitHub `_ 1. モーションを保存したいタイムライン(ロール)をタイムラインの一覧で選択します。 2. 「3Dモデル」タブの **Pose/Motion** から「保存」をクリックします。 3. VRMAnimation をクリックします。 4. 保存先を ``端末`` または ``内蔵ストレージ`` をクリックします。 5. モーションのクリップ名を入力します。 6. 次にファイル名を入力し、 ``OK`` ボタンを押します。 :保存形式: * **.vrma** .. note:: * ver 2.5.0より、.vrmaファイルを読み込んで再生することができるようになりました。 OtherObjectのアニメーションの再生と使い方は同じです。 .. warning:: * 既存のプロジェクトやモーションを読み込んだ時は、 **必ず登録済みキーフレームを一つずつ選択して** VRMを実際に動かしてください。そうしないと汎用形式のデータが保存されません。 * 最初のキーフレームはdurationが0になるため正しく登録されません。必ず同じモーションを続けて2番目に登録してください。(フレーム番号は何でも構いません) * .animと同様、.vrmaは試験運用中のため動作保証できません。 * 公式でLookAtやBlendShapeにも対応していると書いてありますが、肝心の含め方のコードのサンプルが公開されていないため、まだ実装が困難な状態です。本アプリではLookAtとBlendShape以外のボーンの動きのみ、VRMAnimationとして保存できます。 .. index:: VRMAnimationのキーフレームデータをクリアする VRMAnimationのキーフレームデータをクリアする ==================================================== 内部で保持している既存のVRMAnimation用のキーフレームデータを削除します。 1フレームごとにあらためてキーフレーム登録すると、一からきれいに登録しやすくなります。 1. リボンバーの「アニメーション」タブの **キーフレームを削除** をクリックします。 2. ``VRMAnimationだけを削除`` をクリックします。 .. note:: VRMAnimation用のモーションデータは本アプリの独自モーションをキーフレームに登録すると同時にシステムの裏側で登録されます。 原則として本アプリのモーションと同じモーションが登録されますが、登録するボーンの種類が違うため完全に同じとは限りません。時々若干のズレが生じたり1フレームだけ抜けが生じるかもしれません。 そのようなときに、既存のVRMAnimation用のキーフレームデータを削除するのがこの機能です。