私は過去数ヶ月、さまざまなソフトウェア音楽シンセサイザー用のKinectベースのマルチタッチインターフェイスの開発を検討してきました。NUI/touchインターフェイスに関する一般的な考慮事項
私が思いついた全体的な戦略は、プログラマチックに、または(可能であれば)ソフトシンセのさまざまなコントロールを表すためにアルゴリズムでオブジェクトを作成することです。これらは持っているはずです。
- X位置
- Y位置
- 高
- 幅
- MIDI出力チャンネル
- MIDIデータスケーラ(MIDI値にXY COORDS変換)
2戦略I agorithmic creationのために考えられているのは、XMLの記述です。 (つまり、実行中のプログラムがあれば、すべてのコントロールのxycoordsを見つける)。私はそのような特定の技術的な言葉でそれを表現している理由は、その2番目のものについてどうやって行くのか分かりません。私はいくつかの中間的な解決策をとることができます。マウスのクリックをコントロールのコーナーで使用してxmlファイルを生成することができます。私ができることは、フラッシュアプリケーションで頻繁に見てきたことですが、画面サイズを変数に入れ、数学を使ってすべてのインターフェイスオブジェクトを画面サイズで作成することです。オブジェクトを画面上のコントロールと同じサイズにすること、またはすべてのオンスクリーンオブジェクトを表示することは厳密には必要ではないことに注意してください(対話型コントロールではなく、単なるインジケータ)。
その他の考慮事項。
入力(左右の手)として2組のX/Yコードを与えられた場合、それらを使用するための最良の選択肢は何ですか?私の最初の本能は、ある種のフォーカステストを作成することでした.x/y座標がインターフェイスオブジェクトの境界内にある場合、そのオブジェクトはアクティブになり、ある一定期間他の小さな境界の外にある場合は非アクティブになります。私が見つけた安い解決策は、左手をポインタ/セレクタ、右をコントローラとして使用することでしたが、もっと手を加えることができるようです。私はいくつかの身振りのソリューション(隠れマルコフチェーン)を持っています。彼らは仕事に慣れるのは簡単ではないが、十分なインセンティブを与えて自分が見ることができるものである。したがって
、要約すると、問題は、(デフォルトのインターフェイスは常にマウスの入力を受け取るために必要な)
- インターフェイスを表している
- 制御
- を選択X/Yの二組を使用して操作(回転/連続コントローラ)、またはスイッチの場合、好ましくは、フォーカスを与えずにスイッチを切り替えるためにジェスチャを使用します。
コメントは、特にマルチタッチio/NUIで働いている/働いている人からのコメントです。既存のプロジェクトや良い読書資料(書籍、サイトなど)へのリンクは大きな助けになります。
この問題についてのメタ・ディスカッションは起こっている/起こっている:http://meta.stackexchange.com/q/106720/146495 –