西川善司の3Dゲームファンのためのグラフィックス講座【GDC特別編】
WindowsやスマートフォンでPlayStation Moveを利用できるようにする
「Move.Me」が切り開く新しいエンターテイメントの世界
2月28日~3月4日開催(現地時間) 会場:サンフランシスコ Moscone Center |
PS Move Sharp Shooterについて語るJohn McCutchan氏(Senior Engineer,SCEA Developer Support) |
Sony Computer Entertainment America(SCEA)は、「Update on PlayStation Move Development」セッションにて、2010年10月にリリースされたプレイステーション 3向けのモーション入力コントローラの「PlayStation Move」(PS Move)にまつわる情報の最新状況を報告した。
日本では大きく盛り上がっている印象は少ないかもしれないが、日本以外の海外では好調で、ワールドワイドで450万セットを販売したことを報告した。
既存タイトルをアップデートで対応化させた旧タイトルと、PS Move対応を最初から前提にして開発された新作タイトルの両方を合わせて、現在までに50タイトルほどがリリースされている。
欧米では好調な売れ行きを見せているPS Move。対応タイトルも増加中 |
最近では、「KILLZONE 3」「SOCOM 4」の発売などに合わせ、PS Move向け周辺機器「PS Move Sharp Shooter」がリリースされており、セッションでは続いてこのデバイスについての解説が行なわれた。
Sharp Shooterは、いわゆるPS Moveのアタッチメントフレームではあるが、RLボタン、射撃モードボタンなど、標準的なPS Moveセットにはないコントロールがいくつか追加されており、機械的にボタン配置を変化させるだけのアタッチメント商品の枠を超えたものになっている。
PS Move用アタッチメント「Play Station Move Sharp Shooter」。北米では売り切れ点が出るほどの人気商品。日本での発売は未定 | Sharp Shooterは「KILLZONE 3」と「SOCOM4」に対応 |
一部の拡張操作系は既存ボタンの同時押し操作扱いとして出力されたり、拡張ポートデータの扱いを駆使するなどして、PS Move仕様範囲内でうまくインプリメントしている。
なお、日本では「KILLZONE 3」や「SOCOM 4」はリリースされるが、PS Move周辺機器のラインナップにSharp Shooterの姿はない。北米地域では予想以上の高い評価を得ていることもあり、実際にサンフランシスコ市内のゲーム専門店を巡ってみたところ、Sharp Shooterを在庫切れにしている店舗があった(店員に聞いてみたところ、あっという間に売り切れてしまった、との弁)。
Sharp Shooterの機能実装手法についての解説 |
■ やろうと思えばXbox 360からでもPS Moveが利用できる「Move.Me」発表
続いて発表されたのは、PS MoveをPS3以外で利用するためのソフトウェアソリューション「Move.Me」だ。
PS MoveをPS3以外で利用するためのソフトウェアソリューション「Move.Me」 |
具体的に言えば、Move.Meは、PS Moveを用いたモーション入力インターフェイスをWindows環境やスマートフォンなどのPS3以外のアプリケーションで利用できるようにするソリューションだ。
Move.Meの動作に必要なものはPS Moveの商品セットとPS3の本体、そしてLAN環境になる。
PS Moveが必要なのはともかく、なぜPS3本体が必要かというと、PS Moveのモーション認識などの処理はPS3本体側でCELLプロセッサ内のSPEで行なうからだ。つまり、Move.Meは、Windows環境やスマートフォンなどで利用できるドライバーソフトウェアではなく、PS3側とネットワーク経由で接続するクライアント・サーバー型のソフトウェアソリューションということになる。
こうした設計にしたことについて、SCEは「アプリケーション開発者がPS Moveの本質を理解しなくても簡単にアプリケーション開発をできるようにするため」という理由を挙げている。
最大4台のアプリケーションから同時利用が可能 |
PS Moveが取得したモーション情報はPS3側で処理され、それが解釈されてLANを介してネットワークパケットでクライアント側(アプリケーション側)にやってくることになるので、つまりアプリケーション開発者はネットワークコードをプログラムするだけでPS Moveを取り扱えるのだ。
PS MoveはPS EYEという光学カメラを利用して、これとPS Moveコントローラーを連携させるシステムになっている。WindowsやらUnixやらMac OSやら、各プラットフォームごとにドライバソフトウェアを開発するのは実際問題、SCE側としてはコストに見合わないし、ネットワークベースで実装した方が効率よく応用範囲を広げられる。
Move.Meはネットワーク経由でPS Moveとアクセスする実装形式 |
また、PS Move側のハードウェア仕様をPSファミリーに統一した方が、PS3とPS Moveの双方の販売促進も見込める。もちろん、WebカメラをPS EYEに限定しているのは、光学プロファイルを統一させた方がサポートしやすいし、Move.Meで開発したアプリケーションをPS3プラットフォーム・ネイティブに持って行きやすいという狙いもあるかもしれない。
Move.Meを利用して得られるPS Moveのステータス(各種センサーの情報や認識されたコントローラー位置情報など)は、PS3ライセンシー開発者と同等のものだとのことで、情報の品質面に格差は設けられていないという。
PS3側のサーバーソフトウェアには、最大4クライアントが接続可能だとのこと。これは「PS Moveコントローラーが4基まで対応」と言う意味ではなく、4台のPC(スマートフォンでもいいが)や、あるいは4つのアプリケーションに対して、Move.MeはPS Moveのステータスを返すことができる……ということだ。
例えば、あるユーザーのモーションを4つのアプリケーションで多角的に応用したりす ることができるということだ。
■ Move.Meの実装形態
Move.Meのネットワーク上の実装形態 |
Move.Meの実装形態は簡単に言えば、PS3側で動いていたPS Move制御用ミドルウェアにネットワークコミュニケーション機能を統合させたものになる。
セッションでは、その実装形態について具体的な解説がなされている。
アプリケーション側からPS3へのアクセスにはポート番号7899が利用され、PS3側から出力されるPS Move情報はポート番号49630でアプリケーション側へと送出される。
Move.Meとの通信手法 |
Move.Meから送出されるデータのフォーマットは大別して3種類あり、もっとも標準的なStandard State Packetでは、PS EYE、PS Move、PS Navigationコントローラー(アナログスティックなどが搭載されるPS Move用のオプションコントローラー)からの全ての情報がひとまとめで送付される。
送付されるデータとしてはPS Moveコントローラーの位置、向き、速度、加速度、PS EYE基準の極座標系の位置情報(単位はmm)、各種コントローラーのボタン操作情報などが挙げられている。
3つある通信フォーマット | 標準的な通信パケット |
2つ目はPS EYEからの取得映像だけを分割して送付するフォーマットだ。映像は分割されてはいるが、それぞれのスライスされた映像のフォーマットは静止画フレームとしてのJPEGになる。なお、同一映像のスライスフレームは同じインデックス情報が与えられており、ネットワーク上で障害があってスライスフレームの一部が失われても混乱せずに復帰できるような配慮がなされている。
なお、PS EYEからの映像の解像度は640×480ドットで、フレームレートは設定変更が可能。ネットワーク帯域的な制約から、スライス無しのシングルフレーム送出では画質は悪く、スライス数を増やして送出すればするほど画質は良くなるが、その分、ネットワーク帯域を圧迫する。
PS EYEからの映像を分割伝送するためのパケット | PS EYEからの映像は分割伝送した方が高画質になる |
分割伝送された映像とPS Moveステータスの情報を全て取得して1フレーム分の情報の完全取得が完了 |
拡張現実(AR:Augmented Reality)的なアプリケーションではPS EYE取得映像の品質が高くなければならない |
PS Moveのハードウェアスペック |
3つ目は、映像をスライス送出させたときの同期パケットに相当するもので、クライアント側(アプリケーション側)としては、これをうけて初めて単位時間あたりのデータ取得が終わったことを把握する。なお、この同期パケットには、Standard State Packetと同等のPS Move側のステータスを含む。
PS EYEからの取得映像とCGとを合成する拡張現実(AR:Augmented Reality)的なアプリケーションでは、PS EYE取得映像の品質が高くないと実用に耐えないため、必然的にスライス映像パケットと同期パケットを組み合わせる必要があるとのこと。
AR系アプリケーションでは、取得映像を全画面サイズで拡大描画し、取得されたPS Move側のステータス情報を元に、描かれているカメラ映像とPS Moveコントローラーとの関係性を把握して、CGをレンダリングし、これを合成することになる。
こうしたネットワーク上のデバイス的な実装となったMove.Meだが、気になるのは入力遅延にまつわる問題だ。
この点について、McCutchan氏は「問題ない。PS Moveが捉えたユーザーモーションを認識してステータスとして出力するまでの遅延時間は22ms。出力されたパケットがネットワークを介してクライアントに届くまでの遅延時間は数ms~十数msで、リアルタイムアプリケーションに十分許容しうる遅延だと思う」と述べていた。
■ Move.Meの応用分野は?
SCEとしては、Move.Meはゲームだけでない「Non Game Usage」におけるインターフェイス利用への期待を抱いており、バーチャルリアリティや、HAPTICS(触覚学)分野をはじめとしたHuman Computer Interface(HCI)分野への応用などを例に挙げていた。
最も基本的かつ直観的な応用例は、3Dマウスやレーザーポインター的なポインティングデバイス的な活用だろう。
Move.Meの応用分野として期待されるものは? | ごくごく基本的な応用例についてはサンプルプログラムコードも提供される |
「Move.Me」を使ったアーム付きラジコン戦車(?)制御アプリケーションを開発したValerie Szudziejka氏(Software Engineer,US R&D) |
登壇したSzudziejka氏は「一般的なマウス操作ではなかなか難しい、3Dモデル編集などをPS Moveで行なえたら面白いのでは?」というようなアイディアを提案していた。
また、まじめにやろうとするとかなり高額なシステムを購入して実現しなければならないヘッドトラッキングなども、Move.Meならば、PS Moveコントローラーを頭に載せて固定するだけで簡単に実現する事ができる。
そして、Move.MeはPCはもちろん、スマートフォンなど、ネットワークプログラミングが可能なあらゆるプラットフォームで利用ができるため、アマチュアゲームなどへの活用も進むかもしれない。あるいはPS Move向けタイトルのプロトタイプ製作にも役立つことだろう。
PS Moveコントローラで戦車の走行を操ったり、ロボットアームを操作可能にしたデモ。Move.MeでPS Moveの状態を取得して、Windows PCでロボット戦車を制御している |
Move.Meの提供は、「3月中」を予定しているとのことで、「PlayStation Network(PSN)」でダウンロード販売の形態でリリースされるようだ。なお、価格は決まっていない。
基本的にMove.Meは単体利用が可能であり、その利用に際して、SCEとのライセンス契約を結ぶ必要はない。なお、商用利用についての規定や制約については特に示されていない(YESともNOとも明言されず)。SCEA主導のプロジェクトであるため、日本での展開は現時点では全く未定であるとのことだった。
正式版前のβ版はMove.Meのオフィシャルサイトで提供されており、その他のアップデート情報も同サイトで公開されていくとのことだ。
コンピュータグラフィックスとインタラクティブテクニック(バーチャルリアリティなど)の学会として有名なSIGGRAPHなどでは、今後、PS Moveを活用した様々な研究発表や展示が行なわれるようになるかも知れない。
□Game Developers Conference(GDC)のホームページ(英語)
http://www.gdconf.com/
(2011年 3月 6日)