2016-08-01 5 views
0

私は赤外線追跡機能を備えたカメラを使用してゲームをしたいので、(トップビューから)人々の頭を追跡できます。例えば、カメラや赤外線センサーが彼/彼女を追跡できるように、各プレーヤーはヘルメットを得るでしょう。ユニティと赤外線

その後、プレイヤーの位置に3Dゲームオブジェクトを配置するために、その人物の正確な位置を確認する必要があります。

おそらく、人々の位置を統一してしまう別の回避策があります。私はkinectを使うことができると知っていますが、私は同時に少なくとも10人を追跡する必要があります。

おかげ

答えて

2

注:これは本当に閉じ答え、団結に記録された位置を転送する方法についてのご質問については私の思考の単なる集合ではありません。

完全に3Dのポジションが本当に必要な場合は、センサーを1つしか使用していないと幸せにならないと思います。基準座標系で3D位置を計算するためにさらに使用できる深度情報を取得するには、少なくとも2つのセンサーを使用する必要があります。

もう1つのことは、カメラの位置を固定し、すべての人が同じ平面内で動いていると仮定することです(固定y成分など)。カメラのパラメータを指定してprojection formulaを使用して3D位置を決定できますカメラは較正されなければならない)。

私の心には次のようなものがあります。実際のカメラを1つの仮想カメラでシミュレートしようとすることができます。この方法で仮想カメラを使用して、実際のカメラからの画像座標を単一の3D世界に投影することができます。私自身はこれを試していないが、それを試してみました誰かがあった、あなたはそれを見てすることができますhttps://community.unity.com/t5/Editor/How-to-simulate-Unity-Pinhole-Camera-from-its-intrinsic/td-p/1922835

あなたのコメント与え編集:あなたのサッカーの例にこだわり、オーケー
を、あなたはのように進行できました

セットアップ:あなたのプレイエリアを、左下隅に原点を持つ矩形に定義します(UVを考えてください)。これらのポイントは、実際の世界では、(0,0)(左下)と(width, height)(右上)のいずれかの値を設定します(例:メートル、これは単位の単位が1です)。カメラが静止しているので、画像座標(ピクセル座標)にも対応するコーナーポイントを割り当てることができます。作業を簡単にするために、ピクセルの代わりに標準化された座標で作業してください。左下には(0,0)と右上に(1,1)があります。

トラッキング:画像内の人物を追跡するとき、正規化された位置(x、y)を計算できます([0,1]のxとyを使用)。これらの正規化された位置は、Vector3を単純に(x*widht, 0, y*height)と計算することによって、ユニティスの3D空間(同じ幅と高さの再生可能な領域を1つにする)に変換することができます(単位xは右を示し、yは上を指し、zは前を指します)。 )。トラッキングの

編集:ゲームでトップビュートラッキングのための
、私はマーカーベースの追跡のいくつかの並べ替えを使用することができますされ、あなたがヘルメットのいくつかの並べ替えを使用して正しい軌道に乗っていると言うでしょう(私の考えでは、マーカレスマルチターゲットトラッキングはビデオゲームでの使用には十分信頼性がありません)(オブジェクトトラッキングの詳細については、コンピュータビジョンの分野で多くのリソースがあります)。

使用しているセンサー(IRまたはカメラ)とは無関係に、各ヘルメットに固有のマーカーを作成し、各ヘルメット(およびプレーヤー)を識別できるようにします。その場合のマーカは、記録された各フレームのアルゴリズムによって認識されるある種の一意のパターンです。 IRでは、二次IRマーカーを特定のパターンに整列させることができます。通常のカメラでは、QRコードなどのマーカーを使用できます(拡張現実関連のコンテンツ用のライブラリもあります)。ArUcoまたはARToolkitなどのマーカーを作成および認識する機能があります。彼らがC#ライブラリを提供しているかどうかは分かりませんが、以前はC++でArukoしか使用していませんでした)。あなたは選択のあなたのマーカーを持っている場合

、追跡手順が記録された各画像のために、そして非常に簡単です:
-
(これらは現在表示され、すべてのプレイヤーに対応)は、現在の画像内のすべてのマーカーを検出する - の手順に従ってください検出された位置を使用して私の最後の編集から

私は助けてくれることを願って、もう一度私に連絡してください。

+0

ありがとうございました。私は十分にはっきりしていなかった。私は2Dポジションだけが必要であることを意味しました。私は鳥瞰図を使って人を追跡したいからです。例えば、彼らはサッカーをしており、私はそれらを追跡するために、それらの上のカメラを使用しています。 – Jenny

+0

さて、私の答えを更新させてください – TheDjentleman

+0

もう一度ありがとうございます。これは本当に私を多く助けます。最後の1つの質問。私はまだ "人を追跡する方法"の部分を取得していません。赤外線を使用していますか?ピンホールの例は正確に私が探しているものではないので、私は推測します。 – Jenny

関連する問題