2017-07-13 9 views
3

iOSのARKitでは。仮想アイテムを表示すると、実際のアイテムの前に常に表示されます。つまり、私が仮想アイテムの前に立っていれば、それでも仮想アイテムが表示されます。このシナリオをどのように修正できますか?実世界オブジェクトの背後に仮想オブジェクトを配置する

enter image description here

ボトルが表示されなければならないが、それは切断されます。

+0

zインデックスとは何が関係していますか? – Pochi

+0

私はz-indexを使い慣れているので、問題をより明確に説明するためにz-indexを使用しました。 –

+0

"実世界オブジェクト"とは、カメラの入力を意味しますか? 「仮想オブジェクト」とは、あなたが描いた何かを意味しますか? – Pochi

答えて

1

基本的にあなたの質問は、実際の座標系上の仮想アイテムの座標をマッピングすることです。つまり、実際のアイテムによってブロックされた仮想アイテムを見たいと思っています。実際の商品

この場合、この環境内の各オブジェクトの物理的な関係を知る必要があります。次に、仮想アイテムがブロックされているかどうかを正確に判断する必要があります。

これを直すのは直感的な方法ではありませんが、私が考えることができる唯一の方法です。

乾杯。

+0

あなたの答えをありがとう。 –

1

達成しようとしていることは簡単ではありません。

何らかの画像処理を使用して「見えるはずの」現実世界の部分を検出する必要があります。または、奥行き情報を持つARKitの特徴点を、次にこれに基づいて、背後にあるものの描画をカットする「見えない仮想オブジェクト」を追加する必要があります。これは、 "仮想世界"内のあなたの "実物"を表して、この不可視の仮想オブジェクトが存在する場所に背景(カメラのフィード)が見えるようにします。

+0

ありがとうポーチ! :) –

5

これはARkitだけでは実現できません。これは困難な問題である閉塞を解決するための棚の解を提供するものではありません。

理想的には、カメラに投影された各ピクセルの深さを知っていて、それを使って前のものと後ろのものを判断するのが理想的です。私はARKitが露出している特徴点で何かを試みません1)彼らの位置は無邪気です2)フレームAの特徴点がフレームBのどの特徴点であるかを知る方法はありません。何か良い。

キャプチャした画像を処理し、シーンの深みや深度レベルを理解するサードパーティのオプションを使用して何かを達成できますが、良い解決策はわかりません。 DTAM(https://www.kudan.eu/kudan-news/different-types-visual-slam-systems/)のような濃密な深度マップを生成するSLAM手法がいくつかありますが、これはarkitがやっていることのほとんどをやり直すでしょう。私が気づいていない他のアプローチがあるかもしれません。スナップのようなアプリは、独自の方法でこれを行うので、可能です!

関連する問題