プログラミングで世界を変える

ゲームプログラミングと技術のこと

Oculus RiftのルームスケールとKinect v2を同時に使用した時に困った話のメモ

不正確な情報が多い記事なので、参考程度に留めてください。

問題の要約

現象

Kinect v2のフレームレートが著しく低下する現状が発生しました。

同時にOculus Rift側では3台のセンサーを用いてルームスケール機能を使用していました。

原因

恐らくUSB帯域不足による問題だと判明しました。

USBを接続するホストコントローラーには使用できる帯域に制限があるため、それを超えたデータ転送を行えないということらしいです(多分)。

参考: USB 2.0と3.0について知っておくべき10のポイント - page4 - builder by ZDNet Japan

以下の通り、RiftとKinectそれぞれで多くの帯域を使用するとのことでした。

If you connect three Oculus sensors—each sending and managing a ton of data locally—you can run into problems when they try to send more data than the USB host controller can handle.
(意訳) 3台のセンサーを繋いで制限以上のデータを送ろうとすると問題が発生しうる。

Oculus Roomscale: Balancing Bandwidth on USB | Oculus

Kinect for Windows v2 センサーは、USB コントローラーの USB3 帯域幅をかなり消費します。

Windows アプリが Kinect for Windows v2 センサーで機能しない

解決方法

  1. ホストコントローラーに接続するUSBを減らす
  2. ホストコントローラーを追加し、接続先を分散させる
  3. (Riftではなく) HTC Viveを使用する

以下でそれぞれについて説明します。

(1,2について) ホストコントローラーの種類

EHCI(Enhanced Host Controller Interface)がUSB 2.0対応、xHCI(Extensible Host Controller Interface)がUSB 3.0対応だそうです。

[デバイスマネージャー] > [ユニバーサルシリアルパスコントローラー]で確認すると、僕のPCにはxHCIが1つとEHCIが2つ接続されているようです。xHCIがEHCIの機能を内包しているかどうかが分からなかったのですが、少なくとも3.0に対応しているxHCIが1台なので、現状で接続先を分散させる対処は恐らくできません。

参考: USB ホスト コントローラー ‐ 通信用語の基礎知識

(3について) HTC Viveのルームスケール

Oculus Riftのルームスケールは、Rift本体から飛ばした赤外線を、周囲に設置したセンサーで認識することで実現しています。そのため、センサーが受け取った情報が取得するためにセンサーとPCを接続する必要があります。

対するHTC Viveですが、こちらはセンサーから飛ばした赤外線を本体で認識する仕組みになっています。この違いにより、Viveのセンサーに必要な接続は、電源供給のためのACアダプターのみとなります。そのため、今回のようなUSB帯域を圧迫するような問題は解決できると思います。

続きを読む

Unity+UniRxでUWP対応のWSA(Windows Store App)を開発するときの備忘録

はじめに

UnityではスタンドアロンのWindowsアプリの他に、WSA(Windows Store App)のビルドにも対応しています。今回ビルドをしてみてつまづいたことを備忘録として残します。Unity(v5.5.0b3)時点での情報です。

この記事の存在意義としては、点在するドキュメント(英語含む)が日本語で少しまとまってるところです。誰かの足がかりになると幸いです。

続きを読む

Unityでビルド用のコンポーネントを後から導入する

Unityのインストール時に選択するコンポーネントが後から必要になってくることがあると思います。しかし、Unityのインストールからやり直すのは時間もかかりますし、面倒です。

そこで、特定のコンポーネントのみをあとから導入する方法を紹介します。

f:id:splas_boomerang:20161212175210p:plain

続きを読む

【CEDEC 2016レポート】 BIOHAZARD7 resident evil におけるゲームオーディオワークフローとシステム―コストをかけずにクオリティを高めるために改善したこと

5分で分かる内容まとめ

登壇者

小島 健二 株式会社カプコン CS制作統括 プロダクション部 サウンド開発室 サウンドプログラマー

鉢迫 渉 株式会社カプコン CS制作統括 プロダクション部 サウンド開発室 サウンドディレクター

概要とミッション

効率良く効率の良いサウンドシステムを作った話

メインコンセプト

「恐怖」

ホラー性の深化のため、圧倒的没入感のためTPSからFPSにし、フォトリアルな表現を用いる。

サウンドコンセプト

「聞き取る恐怖」 プレイヤーは生きるために耳を澄まし、聞くことで恐怖を感じるジレンマを表現。

続きを読む

【CEDEC 2016レポート】 エンタテインメントVRに役立つアカデミックの知見

5分で分かる内容まとめ

このセッションは

  • それぞれの登壇者の方のセッション
  • 質疑応答形式のパネルディスカッション

によって構成されていました。

続きを読む