2016-12-09 5 views
0

私はあなたのキャラクターのビジョンが環境内の動きに完全に基づいているというゲームアイデアを持っています。環境の動きに基づいてビジョンをレンダリングする方法は?

私はこのアイデアの試作に興味があり、その結果を見ていますが、「動きに基づいたビジョン」アルゴリズムにどのようにアプローチするかはわかりません。

解決策への直接的な回答だけでなく、どこから調査を開始するかについてのご指摘を感謝します。

問題の詳細を説明してください。

- 文字の視覚は、環境内の動きに制限されています。球が錐台の内部を移動すると、ボールの動きだけが見え、他はすべて暗くなります。

- 錐台の基準から見ると、シーン全体が動いているように見えるので、文字が回転し続ける限り、環境全体が表示されます。回転が止まると、すべてが黒に戻ります。文字がどの方向に移動しても同じことが適用されます。錐台が動く限り、環境は錐台の基準の観点に従って動いているので、動きは達成されます。

これを考えると、問題の簡略化されたバージョンは(?)プレーヤーの画面に更新を表示し、他のすべてを消してしまうことです。

私が言ったように、私はそれを試作することに興味があるだけで、ゲームプレイがどうなるかについては本当に考えていません。しかし、ゲームプレイが無意味であることについての先見の明がある場合、私はあなたからそれについても聞きたいと思います。

ありがとうございます。

PS:タグについてわからないので、対応するタグを質問に追加することができれば、本当に感謝しています。

答えて

1

素晴らしいアイデア! Unity 5.4の周りにRenderer.motionVectorsが導入されました。おそらくモーションブラーの目的のためにそこに立っていますが、プロトタイプには非常に適しています。

デプレートされた動きベクトル値に美しさのレンダリングを単に乗算するカスタムパスは、そのトリックを行うことができます。

進捗状況を確認してください。

Optical FlowおよびOpenCVで詳しく読むことができます。

+0

で克服することができます私は、オブジェクトが静的でカメラが動いている場合、これはうまくいかないと思います。たぶん、画面上のすべてのピクセルを読み取って、前のフレームのピクセルと比較しますか?私はそれが本当に遅い操作だと知っていますが、おそらくそれは探検する価値のある道です。 –

+0

@ JonasGrumannまあ、それは "デフォルトのカメラ再構成動きベクトルに加えて"と言います。オブジェクトごとに、エフェクト全体をオブジェクトごとにレンダリングするために含める/除外できることが指摘されているようです。 **先に進んで**試してみてください。とにかく、それが機能するならば、カメラの代わりにシーン全体を動かすことは決して遅くない。 – Geri

+0

@JonasGrumannピクセルの比較:これはオプティカルフローが行うもので、モーションベクターのスペアは何ですか。 :) – Geri

0

motion detectionに興味があり、motion estimation/tracking/optical flowには興味がありません。

ある意味では、動き検出技術から動き検出を得ることができますが、その結果は推定に時間がかかります(特にオプティカルフロー技術は遅いことが知られています)。また、問題を緩和するときには、特定の方法を使用できます。

あなたのプロジェクトの興味深い源は、エンコーディング側から来るかもしれません。おそらくあなたが考えなかったものでしょう。

システムでh264、h265、vp8、またはvp9などのビデオ用に合理的なエンコーダを使用している場合は、探している情報がある可能性があります。この動きは、ビデオの効率的な転送の一部です。受信側でデコーダをハックすることができれば、生成されたフレームとともに情報を取得することができます。変更ファクタが小さいパッチを簡単に削除できます。このようにする利点は、無視できるCPUまたはメモリリソースが必要であり、遅延時間が実質的にゼロ(オプティカルフローの場合ではない)であることです。

欠点は、多くのデコーダに固有の動きがエンコーディングよりも何か他のもののために、非常に信頼性がないということですが、それはいくつかのスマート信号処理トリック

幸運、クールなアイディア:)

関連する問題