How-to
スマホ向け vsnap アプリの使い方と、Unity 用 VSnap Pose Editor の導入・操作をこのページにまとめています。
スマホアプリ
この章は スマホ向け vsnap アプリ の利用者向けです。アカウント準備から撮影までの流れを説明します。自作のポーズは Unity の AnimationClip と専用 Editor 拡張 でアプリに取り込みます。手順の詳細は同じページの VSnap Pose Editor を参照してください。
セットアップ
ベータ版では Discord 経由で案内されることが多いです。メールやアプリ内の指示に従い、認証コードを入力してアカウントを有効にしてください。
- 安定したネットワーク環境を推奨します(ポーズライブラリの更新などで利用します)。
- AR 撮影のため、カメラ および端末が求める モーション・トラッキング関連の許可 をオンにしてください。初回起動時に案内が出る場合があります。
- 屋外・明るい場所では画面が見やすく、トラッキングも安定しやすいことがあります。
1. アプリの入手とアカウント
配布チャネルの案内に従いアプリをインストールし、メールアドレスなどで登録します。β版では届いた認証コードを入力する流れになります。
2. 権限とキャリブレーション
設定アプリからカメラ等の許可を確認し、アプリ内でセンサーやトラッキングの初期化・キャリブレーションがあれば指示に従って完了させます。
キャラクター(VRoidHub など)
ホームやキャラクター選択から、VRoidHub と連携 すると公開中のモデルをアプリ側に取り込めます。ブラウザでログイン・許可を求められたら、画面の指示どおりに進めてください。
端末に保存した VRM ファイル(.vrm) を、キャラクター関連の画面からファイル選択で読み込むこともできます。VRoid Studio などで書き出したモデルや、入手した VRM をそのまま撮影に使えます(権利・利用条件は各モデル・配布元に従ってください)。
キャラクターモデル の取り込みと、後述の ポーズライブラリ は別の仕組みです。キャラを選び、ポーズ一覧から姿勢を適用する、という順で利用します。
ポーズライブラリ
アプリは 同梱・配信用のデフォルトポーズライブラリ を、サーバ側のカタログと照合して 自動で更新 します。通常は意識せず最新のセットが利用可能になります。
自作のポーズ は、Unity 上で用意した AnimationClip を、専用の Editor 拡張(VSnap Pose Editor) でアプリに取り込める形にまとめ、スマホアプリで読み込みます。ライブラリに載ったポーズを一覧から選べ、思い通りの姿勢 で撮影できます。Editor 上の操作・出力の手順は同セクションに従ってください。
アプリ側では、ポーズ関連の画面から ファイル選択 などで取り込みます。既存のユーザーライブラリを置き換える確認が出る場合は内容を確認のうえ進めてください。
ポーズ画面に表示される バージョン用の短いコード(ハッシュの先頭など) は、お問い合わせ時に状態を伝えるのに使えます。
1. 一覧からポーズを選ぶ
ポーズ UI からグループ・個別のポーズを選び、キャラに適用します。
2. AnimationClip から自作ライブラリを取り込む
Unity で AnimationClip を用意し、VSnap Pose Editor を使ってアプリ向けデータを生成します。生成したデータをアプリに取り込み、一覧に反映させてから撮影に使ってください。
撮影・演出
ライティング
「自然光」「ステージ」「ネオン」などのプリセットを切り替え、雰囲気に合わせて調整できます。
レイヤー(重なり順)
手動配置したキャラクターはレイヤー順を入れ替えられ、複数キャラの前後関係を調整できます。
トラブル時
うまく動かないときは、OS の権限・ネットワーク・アプリの更新を確認し、それでも解消しない場合はお問い合わせフォームまたはDiscord(ベータコミュニティ)からお問い合わせください。
VSnap Pose Editor
VSnap Pose Editor は、Unity Editor 上で Pose / PoseGroup / PoseLibrary をまとめて扱い、モバイル向けの AssetBundle をビルドするためのツールです。メニューの VSnap → Pose Editor から開く ひとつのウィンドウ の中で、上から順に「AnimationClip フォルダからの自動生成」と「PoseLibrary のビルド」ができます。
上記 ポーズライブラリ で触れたとおり、AnimationClip を Pose Editor でビルドし、モバイルアプリに取り込む流れになります。
事前準備
- Unity は 2022.3 系のプロジェクトにしてください(パッケージが想定しているバージョンです)
- VRChat Creator Companion(VCC)は、すでに入っている状態にしてください
- インターネットにつながる環境にしてください(VPM のリポジトリを取りに行ったり、QR 転送でアップロードしたりするときに必要になります)
- ポーズの元になる
AnimationClipを、あとでAssetsの下に置けるようにしておいてください
VCC でパッケージを導入する
- VCC の Settings → Packages から Add Repository を選びます。
- 次の URL を入れて追加します。
https://vsnap.jp/vcc/index.json - 対象プロジェクトの Manage Project を開いて、VSnap Pose Editor をインストールします。
- Unity を開き直して、メニューに
VSnap/Pose Editorが出てくるか確認します。
エディタウィンドウを開く
Unity のメニューから VSnap → Pose Editor を選ぶと、ひとつにまとまったウィンドウが開きます。ウィンドウの右上あたりにある 日本語 と English で、画面の言語表記を切り替えられます(選んだ内容は EditorPrefs に保存されます)。
AnimationClip フォルダから Pose / PoseGroup を自動生成する
ウィンドウの上のほうにある AnimationClip フォルダから Pose / PoseGroup 生成(英語 UI だと Generate Pose/PoseGroup from AnimationClip folder)を使うと、フォルダの中の AnimationClip をまとめて調べて、クリップと同じフォルダ に Pose アセットと PoseGroup を新しく作ったり、更新したりできます。
手順
Assetsの下に、ポーズ用のAnimationClipをフォルダの形のまま置きます(下のフォルダまで再帰的に探します)。- ポーズが入っているフォルダ(
Pose Folder)に、いちばん上のフォルダを指定します。 - 既存アセットを上書き をオフにすると、もうある
Pose/PoseGroupはそのまま飛ばします。オンにすると上書き・更新します。 - サムネイル生成 をオンにすると、それぞれの
Pose用に PNG のサムネイルを作ってアセットに入れます。撮影には、パッケージに入っている Thumbnail シーンの Main Camera を使います。- キャラクターを変えたいときは、Thumbnail シーンを開く ボタンでシーンを開いて、
CharacterSlotの下に好きな Prefab を置きます。何も置いていないときは、同梱のAvatarSample_Aが使われます。
- キャラクターを変えたいときは、Thumbnail シーンを開く ボタンでシーンを開いて、
- Pose / PoseGroup を自動生成 を押して実行します。終わったあと、ウィンドウの下のほうの一覧に CREATE / UPDATE / SKIP のログが出ます。
生成されるファイルの例
- クリップが
Example.animなら、同じフォルダにExample_Pose.assetができます(サムネイルをオンにしているときはExample_Pose.pngも)。 PoseGroupの名前は、「ルートフォルダから見た相対パス」を_でつないだ形になります(例:サブフォルダがDance/WaveならDance_Wave.asset)、そのフォルダの中に 1 つずつ作られます。昔のPoseGroup.asset形式が残っている場合は、できるだけ新しい名前にリネームされます。
自動生成された Pose / PoseGroup を削除 は、今選んでいるルートフォルダの下だけを対象に、ツールが作ったアセットを確認してから消すためのボタンです。違うフォルダを選ばないように気をつけてください。
PoseGroup から PoseLibrary をビルドする
ウィンドウの下のほうの PoseGroup から PoseLibrary をビルド では、PoseLibrary を自分で先に作っておかなくても、ライブラリ名 と ビルドに入れる PoseGroup を指定するだけで大丈夫です。ビルドするときに PoseLibrary が自動で作られて、次からも同じアセットが更新されながら使い回されます。
手順
- ライブラリ名(
Library Name)に、好きな名前を入れます。これを全部小文字にした文字列が、AssetBundle のファイル名のもとになります(例:MyPosesならmyposes.bundle)。 - PoseGroup リストを更新 を押すと、プロジェクトの中の
PoseGroupを読み直して、ビルドに入れたいグループにチェックを付けます。 - プラットフォーム で Android か iOS のどちらかを選びます。
- AssetBundle をビルドして QR コード生成 なら、ビルドしたあと転送サービスにアップロードして、スマホで読む QR と短い URL が出ます。転送用のパスを取得 の説明に沿って、パス の欄にパスワードを入れてください(入れた値は EditorPrefs に残ります)。
- AssetBundle をビルドしてローカルフォルダに保存 なら、アップロードはせず、Unity の一時フォルダの下のビルド出力先に
.bundleだけ出します。 - 選択している PoseGroup のサムネイルを自動生成・更新 は、ビルドとは別に、今チェックを付けているグループの中の
Poseのサムネイルだけを作り直します。
自動で作られる設定・ライブラリアセット
- ビルド設定:
Assets/VSnap/PoseEditor/BuildPoseLibrarySettings.asset PoseLibrary:Assets/VSnap/PoseEditor/の下に、ライブラリ名に合わせた.assetが作られたり更新されたりして、選んだPoseGroupがposeGroupsに入ります。
ビルドがうまくいって条件も揃っていれば、ウィンドウに スマホで開く 用の QR と URL が出ます。アップロードに失敗したときは、出てきたダイアログと Console のメッセージを見てください。
うまくいかないとき
- VCC のリポジトリ URL を打ち間違えていないか、ブラウザで
index.jsonが開けるか確かめてみてください - Unity をいったん終了してから開き直す、または
Assetsの再インポートを試してみてください - 「AnimationClip が見つかりません」と言われたら、ポーズが入っているフォルダ の指定が、実際に
.anim(AnimationClip)が入っているフォルダの ひとつ上 になっていないか見てみてください - PoseGroup が一覧に出てこないときは、プロジェクトの中に
PoseGroupがあるか、先に自動生成まで終わっているか確認してください - ビルドに失敗したら、Console のエラーログを開いて内容を見てください
- QR 転送でうまくいかないときは、パスの期限切れ、打ち間違い、ネットワークの状態を確認してください