AR シーンの定義
- iPad
AR_configuration.json ファイルは、プレゼンテーションによって使用されるシーンとすべてのモデルを定義します。すべてのシーンには ID およびモデルのアレイがあります。
設定 JSON ファイルと 3D モデルを含む例全体を表示するには、Veeva のサンプル AR Zip ファイルをダウンロードしてください。
各モデルには、モデルの見た目と動作を定義する一連のメタデータタグが含まれます。使用可能なメタデータタグは以下の通りです。
タグ名 | 例 | 説明 |
---|---|---|
ID | scene.L001 |
|
名前 | Veeva コード署名 | シーンのタイトルは画面上部に表示されます。 |
debug_mode | コピー
| True の場合、モデルのテストでデバッグオーバーレイが表示され、X、Y、Z 軸に色が付きます。
Veeva は、プロダクション環境に展開する前にこれを false に設定することをお勧めします。 |
edit_mode_animation | コピー
| 編集モードアニメーションを有効化するかどうかを決定します。True または False。True に初期設定されます。 |
モデル | コピー
| シーンで選択可能なモデルの一覧。各モデルに以下のパラメータを指定します。
|
ID | LogosCodesignVeeva | 各モデルの固有 ID。これはシーンに複数のモデルを配置する場合に指定する必要があります。 |
パス | モデル | モデルのファイルのパス。シーン内の各モデルには独自のパスがあります。 |
アセット | ロゴ | モデルで使用されるアセットのパス。このパスはパス metadata タグ内にあります。この例での場所は ./Models/Logos/ となります。 |
file_extension | .dae または .obj | 様々な種類の AR 互換ファイルに対応します。 |
normal_maps | コピー
| 複数の通常マップをモデルに関連付けることができます。テクスチャ名と、関連付けられているオブジェクトの ID の両方を指定します。 |
スケール | 0.025, 0.025, 0.025 | オブジェクトの初期スケールの X、Y および Z の値 |
ロゴ | logo.png | オーバーレイ画像の名前。この画像には会社ロゴ、手順、安全情報などが入ります。この画像は常に中心に配置され、画面の解像度によっては縮小されることがありますが、拡大されることはありません。
Veeva は、この画像に透明な背景を設定して、画像によってアクションが見えなくなることがないかどうかテストすることをお勧めします。 |
animation_ | コピー
| 次へボタンおよび前へボタンを選択したときのアクションを定義します。各ボタンには複数のアクションを関連付けることができます。 |
touch_triggers | コピー
| モデルの特定のオブジェクトを選択したときに開始されるアクションを定義します。ID パラメータを、関連付けられているオブジェクトの ID に設定します。
フェードおよびフェードの時間 (秒) もこのメタデータタグで制御できます。 |
アンカー | コピー
| 近接トリガーの参照ポイント。カメラが指定された距離よりも被写体に近づくと、アクションが開始されます。各アンカーに以下のパラメータを定義する必要があります。
|
アニメーション | コピー
| モデルのすべてのアニメーションを定義します。
自動再生パラメータを true に設定すると、モデルが読み込まれたときにアニメーションが開始されます。
リピート回数を 0 (ゼロ) にすると、アニメーションが無限にループ再生されます。 |
オーディオ | コピー
| アクションを開始したときに再生されるオーディオファイルを定義します。 |
ラベル | コピー
| アクションを使用して表示されるラベルまたは説明を定義します。
このテキストブロックにフォーマット化は適用されません。ラベルは画面下部中央の同じ位置に常に表示されます。
|
reference_images | コピー
| モデルを配置したときに画像認識ソフトウェアをトリガーするために使用される画像名。 |
reference_objects | コピー
| モデルを配置したときにオブジェクト認識ソフトウェアをトリガーするために使用されるオブジェクト名。 |
マスク | コピー
| 特定の角度から表示するときにモデルのすべてまたは一部を隠すことができます。interior_name パラメータは、非表示になるモデルの ID を定義します。mask_name パラメータはマスクするオブジェクトの ID を定義します。 |
シーンの例
サンプルシーンコード
{
"scenes":[
{
"id":"scene.L001",
"name":"Veeva Codesign",
"debug_mode":false,
"models":[
{
"id":"LogosCodesignVeeva",
"name":"LogosCodesignVeeva",
"path":"Models",
"assets":"Logos",
"file_extention":"dae",
"scale":[
0.025,
0.025,
0.025
],
"normal_maps":[
{
"obj_name":"file3",
"texture_name":"CodesignStudio.tga"
},
{
"obj_name":"file4",
"texture_name":"site.tga"
}
],
"logo":"logo.png",
"animation_control_panel":{
"type":"control_panel",
"id":"control_panel.interactions",
"buttons":[
"..."
]
}
}
]
}
]
}
インタラクショントリガーは、モデルに特定の変化を起こさせます。例えば、アニメーションの開始、ラベルの表示、オーディオファイルの再生などです。
3 種類のインタラクショントリガーがアクションを開始します。
- タッチトリガー
- 近接トリガー
- アニメーションコントロールパネル – 以下の 2 つのいずれかの方法で制御されます。
- スライダーコントロールバー
- 次へボタンと前へボタン
各インタラクショントリガーにより、1 つまたは複数のアクションを実行できます。これらのトリガーは、JSON ファイル内のアレイに設定します。すべてのインタラクショントリガーに以下の情報を必ず指定してください。
- タイプ
- 関連付けられているオブジェクトの ID
- 関連付けられているオブジェクトの名前
- アクションのタイプ
- 個別のアクションの ID
タッチトリガーの例
サンプルタッチトリガーコード
"touch_triggers":[
{
"type":"trigger",
"id":"trigger.left.door",
"obj_name":"NovaSeq_2_a_Left_Door",
"actions":[
{
"type":"animation",
"id":"NovaSeq_2_a_Right_Door-anim"
},
{
"type":"audio",
"id":"audio.right.door.start"
}
]
}
]
近接トリガーの例
サンプル近接トリガーコード
"anchors":[
{
"type":"anchor",
"id":"anchor.lens",
"obj_name":"Retina_front",
"position":[
0,
0,
0
],
"distance":0.4,
"actions":[
{
"type":"animation",
"id":"Back-anim"
},
{
"type":"label",
"id":"label.eyeball"
}
]
}
]
コントロールパネルの例
アニメーションの各セットは、最初から最後まで自動的に再生する代わりに、アニメーションスライダーで制御することもできます。
サンプルアニメーションコントロールパネルコード
"animation_control_panel":{
"type":"control_panel",
"id":"control_panel.interactions",
"slider":{
"type":"slider",
"id":"slider.main",
"animations":[
{
"type":"animation",
"id":"Codesign-anim"
},
{
"type":"animation",
"id":"group1-anim"
}
]
},
"buttons":[
{
"actions":[
{
"type":"animation",
"id":"Codesign-anim"
},
{
"type":"animation",
"id":"group1-anim"
}
]
}
]
},
//関連付けられているアクションがトリガーされると再生されるアニメーション
"animations":[
{
"type":"animation",
"id":"NovaSeq_2_a_Left_Door-anim",
"autoplay":false,
"repeat_count":1
}
],
//関連付けられているアクションがトリガーされると再生される音声ファイル
"audios":[
{
"type":"audio",
"id":"audio.fgfr",
"file_name":"Pipeline.mp3"
}
],
//トリガーされたアクションに応じて表示されるラベル。
"labels":[
{
"type":"label",
"id":"label.monitor",
"text":"This is the MONITOR"
}
]