アマレコVR Ver2.4.0 アッセット機能 アルファ版
Unityで作成した様々なアセットをアマレコVRの世界へ持ち込むことができます。
なお、現状アマレコVR(AndroidのVRアプリ)に対応したアセットはほぼ出回っていないと思われますので 利用者自身でUnity Editorを使って作成する必要があります。ですので、実質 Unityを扱える人が対象の機能となります。

動作確認用のアセット 「サンプルシアター」
1.更新内容
【主な更新内容】
・アセット機能追加
・ミラー機能追加 (リンク機能の後継機能)
・サブ画面をメイン画面の後ろに配置するオプション追加
・ハンドジェスチャーのトラッキング範囲を拡大
手のひらをHMDへ向けた状態(システム操作状態)でもトラッキングするようになった

2.アセット機能の概要
2.1.アセットの例
・3Dで作成された映画館などの3Dオブジェクト
・アバター(人体モデルおよびアニメーション機能)
・音声データ
・ステートマシーン(プログラム制御)
・そのほか コライダー、物理シミュレーション、照明など豊富なUnityの基本機能
2.2.ステートマシーン
Unityのステートマシーンによりゲームオブジェクトやコライダーの衝突判定、音声データを制御できるため かなり広範なことがアマレコVRの機能に依存せずに実現できます。
この「アマレコVRの機能に依存しない」というのが CGやアバターを表示するだけにとどまらない アセット機能の特徴となっています。

Unityのステートマシーンの例 (コライダーが衝突したら ○○する)
2.3.Unity Editor
アセット機能により様々なことが可能となりますが、アマレコVRは動画を視聴することを目的としたアプリですのでクリエイティブな作業には向いていません。
例えば アマレコVRで映画館のアセットを読み込んで、さらにキャラクターのアセットを読み込んで、座席に移動して、座らせて・・・なども可能ですが、(最初は色々試す意味で大いにやってほしいですが)最終的にはUnity Editor上で映画館の座席にキャラを配置して個別にアニメーションを設定した 「完成したコンテンツ」を用意してご利用ください。
ですので Unity Editorの活用が必須となります。
3.アセット機能の使い方
(1) アマレコVRを起動する前に QuestのDownloadフォルダへassetフォルダを作成する
USBケーブルでPCとQuestを繋ぐか、Quest上のファイラーで操作してください

(2) 一緒に公開しているアセットファイル asset_sample_theater.zip をダウンロードして解凍する
(3) 解凍してできる sample_theater.assetbundle を(1)のassetフォルダへ転送する

(4) アマレコVRを起動して コンソール画面の下部からアセット画面を表示
頻繁にアセット機能を使う場合はボタン設定でアセット画面を割り当てると便利です


(5) スロット1のファイル名欄をクリックして sample_theaterを選択する
sample_theaterが出てこない場合は (1)-(3)をよく確認してください。
読み込みが終わると 座席等が表示されます。

(6) アセット画面を閉じてサブプレイヤーで動画を再生すると アセット内のスクリーンへ映像が表示されます
なお、メインプレイヤーはアセットの手前、3rdプレイヤーはアセットの後ろ に表示されるようになっています。
アセットと組み合わせて表示できるのはサブプレイヤーのみとなっています。

(7) 元に戻したい場合(アセット機能を終了したい場合)は アセット画面のスロットのアセットメニュー▽から 「Remove Asset」
4.アセット画面

■位置
各項目を左右にドラックすることで アセットワールド内の視点の移動や向きの調整ができます。
また、ボタン設定で各ボタンへ割り当てることもできます。
現状チルトはうまく機能しません。おかしいなと思ったら「向き リセット」してください。
(表示 位置や向きがおかしい、移動物が動かない ズレるなど)

■照明
環境光と平行光源のOn/Offができます。
■スロット
各スロットへ アセットファイルをロードして アセットワールドへ追加します。最大4つのアセットを組み合わせて使うことができます。
■ファイル名
アセットファイルを選択します。
アセットファイルは QuestのDownloadフォルダへassetフォルダを作成し、そのassetフォルダへ転送してください。


■アセットメニュー▽
アセットファイルに含まれるプレハブを選択したり、読み込んだアセットをアセットワールドから削除できます。
また、向きとチルトをリセットできます。
アセットに視点情報が含まれる場合は視点を選択することができます。
■リロード
アセット(プレハブ)を初期状態に戻します。重力により奈落の底に落ちてしまったり コリジョンにより爆発した場合などに位置や状態を回復します。
■アニメーション
アセット内の人型のゲームオブジェクトへアニメーションを適用します。
現状、複数の人が含まれる場合 全員に同じアニメーションが適用されます。
assetフォルダ内にanimatorフォルダを作成し、アニメーション用のアセットファイルを転送して使います。
■照明
アセットに照明が含まれる場合に On/Offします。
■体、顔
アセット内の人型のゲームオブジェクトの体や顔をHMDの方へ向けます。
現状、複数の人が含まれる場合 全員に適用されます。
■位置、向き、チルト
アセット毎にローカル位置を調整します。
現状チルトはうまく機能しません。
アセットメニュー▽で向きとチルトをリセットできます。
■視点
スロット1のアセットに視点情報が含まれる場合に その位置へアセットワールドを移動します。
sample_theaterでは 前の方の席、後ろの方の席、横の席の3か所が選べます。
スロット1以外や 視点が4以上の場合はアセットメニュー▽で選択できます。
■頭コライダー
HMDの当たり判定を有効にします。キャラクターの内部へ侵入したり すり抜けを防止するのに使います。
■プリセットメニュー
現在のアセット構成をAmaRecVR Serverへ保存したり 読み込むことができます。
現状 暫定機能です。とりあえず使っているアセットファイルやプレハブと位置情報を保存するようになっています。
Questの機種を変更した場合に、アセットファイルに差異があると 機能しない可能性があります。
5.その他
5.1.光源とパフォーマンスについて
sample_theaterには点光源が含まれます。
点光源はパフォーマンスの低下(fpsの低下)を招くので、アセット側の光源はOffにして環境光と平行光源だけで使うことをお勧めします。
■Quest1の場合
sample_theaterで点光源を使うと60fpsを下回る場合があります。環境光と平行光源だけで使ってください。
■Quest2の場合
sample_theaterの点光源と環境光、平行光源の3つ全てをOnにすると60fpsを下回る場合があります。点光源か平行光源のどちらか1つで使ってください。
環境光はパフォーマンスに影響しないと思われます。
※ サブプレイヤーはもともと60fpsでの動画再生ができません。60fpsできっちり再生できるのはメインプレイヤーでAmaRec Playerを使った場合だけです。
6.アセットファイルについて
【主な適合条件】
・比較的新しいUnityで作成されたもの(2021.1.1f1 推奨)
・android用に作成されたもの(Windows用は不可)
・Graphics APIs OpenGLES3.2
・VR用に作成されたもの(Stereo Rendering Mode が Multi Pass)
・プレハブのみ対応?(シーンは不可?)
6.1.アセットファイルの作成方法(要点のみ)
ここではUnityを使ったことがある人を対象に要点だけ示します。
Unityのバージョンは2021.1.1f1を使っています。これより新しければ大抵大丈夫だと思いますが、上手くいかない場合は2021.1.1f1を用意してください。
また、ここではUnityのasset bundles browserを使います。インストールされていない場合は Unity Editorを起動してパッケージマネージャからインストールしてください。
新規で3Dプロジェクトを作成しアセット化したいプレハブをassetsフォルダ配下に用意した後
Project SettingsのPlayerとXR Plug-in ManagementのAndroidタブを以下のように設定します。

ツールバーのWindowからAssetBundl browserを表示して
Configureタブで アセット化したいプレハブを登録した後
Buildタブを以下のように設定し Buildします。

AssetBundles\Androidフォルダへ拡張子なしのファイルが作成されます。
拡張子 assetbundleを付けて 完成です。
7.ダウンロード
・アマレコVR Ver2.4.0 アルファ版 for Quest
・アマレコVRサーバー Ver2.21
【アセットファイル】
・アセット asset_sample_theater20230505.zip
動作確認用の映画館
・アセット asset_sample_cube20230505.zip
立方体1つだけの最小構成のアセットファイル
アセットファイルの作成が上手くできない場合に参考にしてください