フィードバックを送信
ヒットテストで仮想オブジェクトを現実世界に配置する
コレクションでコンテンツを整理
必要に応じて、コンテンツの保存と分類を行います。
プラットフォーム固有のガイド
お使いのブラウザは video タグに対応していません。
AR コンテンツは、シーンに溶け込むように正しい配置とサイズにする必要があります。実世界の物体と同様に、遠くにある仮想オブジェクトは小さく表示される必要があります。ヒットテスト (または AR Foundation for Unity のレイキャスト )を実行すると、シーン内の 3D オブジェクトの正しい配置を判断できます。正しく配置することで、AR コンテンツが適切な(見かけの)サイズでレンダリングされます。
ヒットテストは、実世界の 3D ジオメトリと、原点と方向で構成される仮想直線との交差を検出します。デバイスのカメラを原点とする光線が最も一般的に使用されますが、ARCore には、ワールド空間座標の任意の光線を使用してヒットテストを実行するための API が含まれています。
ユーザーのデバイスのカメラから出た光線が、床、壁、物体などのシーンの 3D ジオメトリに当たるまで前方に延びるとします。この場合、ヒット結果 のリスト、つまり検出されたシーン ジオメトリとの交差点が返されます。リストはデバイスからの距離の順に並べ替えられ、最も近い交差点が最初に表示されます。通常、他のオブジェクトの背後に隠れているオブジェクトは確認できないため、これは重要です。ほとんどの場合、最初の結果が最も重要な結果になります。
注: ヒットテストは通常、デバイスまたはデバイスのカメラからの光線として実行されますが、光線の原点と方向を任意に指定することもできます。
ヒットの結果の内容
個々のヒット結果が、結果ごとに次の情報を含むリストとして返されます。
光線の原点からの距離(メートル単位)
ヒット結果のポーズ(位置と向き)
ヒットした 3D ジオメトリ(追跡可能)
そのうえで、求めているヒット結果を使って、アンカーを使って 3D コンテンツを配置 します。
ヒット結果のタイプ
ヒットの結果には、奥行き、平面、特徴点、インスタント プレースメントの 4 種類があります。次の表に示すとおり、それぞれに独自のユースケースとトレードオフがあります。
注: Depth ヒットの結果には、Depth 対応デバイス が必要です。Depth 非対応デバイス、Depth 対応デバイスがまだ深度データを持っていない場合、または Depth が無効になっているセッションの場合は、代わりにプレーン ヒットの結果を使用します。
ヒット結果タイプ
説明
オリエンテーション
使用例
掘り下げた分析
シーン全体の奥行き情報を使用して、ポイントの正しい奥行きと向きを決定します。
3D サーフェスに垂直
(床や壁だけでなく)任意の面に仮想オブジェクトを配置する
プレーン
水平または垂直のサーフェスにヒットして、ポイントの正しい奥行きと向きを決定します。
3D サーフェスに垂直
飛行機の完全なジオメトリを使用して、平面(床や壁)にオブジェクトを配置します。すぐに正しい体重計が必要です。Depth ヒットテストの代替
主なポイント
ユーザーがタップした地点の周囲の視覚的特徴に基づいて、ポイントの正しい位置と向きを決定します。
3D サーフェスに垂直
床や壁だけでなく、任意の面にオブジェクトを配置します。
インスタント プレースメント(永続 Raycast)
画面スペースを使用してコンテンツを配置します。最初は、アプリによって推定される深度が使用されます。すぐに機能しますが、ARCore が実際のシーンのジオメトリを決定できるようになると、ポーズと実際の深度は変化します
+Y が上向き、重力とは反対
対象物を平面全体(床面や壁面)に設置する場合は、素早く設置することが重要で、初期の深さや規模が不明でも許容されます。
デバイスの互換性
ヒットテストはすべての ARCore 対応デバイス で使用できますが、デプス ヒットテストにはデプス対応デバイス が必要です。
ヒット結果を使用して AR コンテンツを配置する
ヒット結果を取得したら、そのポーズを入力として使用し、シーンに AR コンテンツを配置 できます。
フィードバックを送信
特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンス により使用許諾されます。コードサンプルは Apache 2.0 ライセンス により使用許諾されます。詳しくは、Google Developers サイトのポリシー をご覧ください。Java は Oracle および関連会社の登録商標です。
最終更新日 2023-12-02 UTC。
[{
"type": "thumb-down",
"id": "missingTheInformationINeed",
"label":"必要な情報がない"
},{
"type": "thumb-down",
"id": "tooComplicatedTooManySteps",
"label":"複雑すぎる / 手順が多すぎる"
},{
"type": "thumb-down",
"id": "outOfDate",
"label":"最新ではない"
},{
"type": "thumb-down",
"id": "translationIssue",
"label":"翻訳に関する問題"
},{
"type": "thumb-down",
"id": "samplesCodeIssue",
"label":"サンプル / コードに問題がある"
},{
"type": "thumb-down",
"id": "otherDown",
"label":"その他"
}]
[{
"type": "thumb-up",
"id": "easyToUnderstand",
"label":"わかりやすい"
},{
"type": "thumb-up",
"id": "solvedMyProblem",
"label":"問題の解決に役立った"
},{
"type": "thumb-up",
"id": "otherUp",
"label":"その他"
}]
ご意見をお聞かせください
{"lastModified": "\u6700\u7d42\u66f4\u65b0\u65e5 2023-12-02 UTC\u3002"}
[[["わかりやすい","easyToUnderstand","thumb-up"],["問題の解決に役立った","solvedMyProblem","thumb-up"],["その他","otherUp","thumb-up"]],[["必要な情報がない","missingTheInformationINeed","thumb-down"],["複雑すぎる / 手順が多すぎる","tooComplicatedTooManySteps","thumb-down"],["最新ではない","outOfDate","thumb-down"],["翻訳に関する問題","translationIssue","thumb-down"],["サンプル / コードに問題がある","samplesCodeIssue","thumb-down"],["その他","otherDown","thumb-down"]],["最終更新日 2023-12-02 UTC。"]]