Simplestar Game

How do I create a 3D game ?
http://simplestar.syuriken.jp/
since 17/01/2009
  • BACK
  • HOME
  • NEXT
  • |

:::::::::::075話 Kimberlite 進捗3:::::::::::

今年初めに、コンピュートシェーダで高速化した物体トラッキングライブラリというものを製作しました。
これに渡す情報として、必要なデータが何か調べます。(使い方の確認といった方が良いかな)

なんと、作業の途中だったようなので実装して完成させました。

こういう使い方↓

特に説明はいらないくらい簡単な作りですね。

大きなステップは次の3つ

1.センサと距離画像の解像度とトラックするオブジェクトのモデル情報を渡して初期化
2.距離画像情報とオブジェクトの現在の姿勢情報を渡しレジストレーションを実行
3.レジストレーション結果のオブジェクトの姿勢行列を取得

内部にてコンピュートシェーダのコードを自動生成し、オブジェクトの頂点ごとにGPGPUで
最近傍点の探索、そのペアの距離の自乗和を最小とする姿勢行列をオブジェクトごとにマルチスレッドで求めます。

とにかく C# 側からはモデルの頂点バッファとインデックスバッファ、距離画像の float3 配列さえ作って渡せば
良いということになります。はい、ではこれを実現するシステムを作っていきましょう。

まぁ、作るのは簡単なのですが、センサが…
以前、Kinect のマルチ角度接続を行い、ARマーカーによる距離画像の自動位置合わせをして
その統合距離画像を用いて手指の姿勢推定を進めようと考えていましたが
データを何度も確認するたびに実現可能性が低いことに気づいて、手が止まってしまいました。

その間ネットワーク技術について気になっていたことについて、Tipsに6ページほど作りました。

期待した Leap Motion について
この Leap Motion が3ヶ月ほど前に手元に届きましたが、実はこのセンサ距離画像を得る手段が
今のところ存在しません(2013.10現在)

開発陣からは優先度が低いが、いつか対応するとの告知があったので
自分は正直にこの LeapMotion の距離画像(または Range Image, Point Cloud, Raw Data)へのアクセス
APIの実装を待つことにしました。
ただし、別のデバイスが登場するならばそちらに移ります。

ということで、一旦手指の姿勢推定関連の研究はこの進捗にて保留にします。

今後の方針ですが、あまり軌道は変わらず

ここまで作ってきた Kimberlite の機能をもう少しグラフィックの見栄えが良くなる方向で
修正していこうと思います。
(+これまでの作業をドキュメントに残しておこうと思います。)

手指の姿勢推定を優先して、物理オブジェクトやコンストレイントの編集機能を急ぎましたが
そのほかのおろそかになっていた所をメンテしていこうと思います。(完成はかなり先になりそう…)

2013/09/01 初記。
2014/02/11 更新。

:::::::::::075話 Kimberlite 進捗3:::::::::::

  • BACK
  • HOME
  • NEXT
ホームページ制作 フリー素材 無料WEB素材
Copyright (C) Simplestar All Rights Reserved.