はじめに
先日、おそらく人類初の衝撃的な VR ストリーミング配信が ust にて行われました。
ほんじゃ、史上初(?)のOculus Rift専用Ustreamはじめるよー。Oculus持ってる人はフルスクリーン表示でおらの熱いキッスを受けてくれ!URL
2013-07-02 21:30:18 via web
私は外出しており見逃してしまったので以下のリンクから拝見しました。
現在の方法ではUstreamに録画を残せなくてあれなので、記念すべき最初のOculus Riftちゅう継のログをYouTubeにまるごとアップしてみました。URLあの悪夢をもう一度。
2013-07-07 13:20:49 via web
問題のシーンでは、Oculus Rift を思わずかなぐり捨ててしまうほどの臨場感(!?)が味わえます。ソフトの配布もされているので後述の環境整備をしたら自分で試すこともできます。
という訳で、Oculus Rift用中継プログラムとりあえず実行ファイルのみ出しときます。あとでソースも出しまーす。URLOculus買うような人は当然のようにPlaystationEyeの2つぐらい持ってるよね?
2013-07-04 14:41:11 via web
私も含め、日本ではバーチャルな流れが盛り上がっている印象がありますが、海外では Drone に載せて操縦したりと、現実の世界を2つのカメラを通して立体視する試みがされたりしています。
こういった流れに自分ものってみたいと思いやってみました。
2 眼カメラ作成
mer2 さんも使われておりましたが、PlayStationEye(以降 PS Eye)を 2 つ用います。

- 出版社/メーカー: ソニー・コンピュータエンタテインメント
- 発売日: 2010/10/21
- メディア: Video Game
- 購入: 9人 クリック: 23回
- この商品を含むブログ (1件) を見る
PS Eye は、以下の様な特徴を備えた安価で高性能なカメラです。
- 解像度
- 640×480 ピクセル時 60fps、320×240 ピクセル時 120fps
- 画角
- スタンダードビュー(56°)〜ワイドアングルビュー(75°)
- 音声インプット
- 4チャンネル アレイ式マイクロホン
通常の 50 度前後の WebCam では視覚野として画角が足りないため、ワイドアングルビューで高視野角を確保できる PS Eye はスグレモノです。これを2つ固定して並べてみました。
環境整備
PS Eye はそのままでは WebCam として認識されないため、ドライバを入れる必要があります。
上記 Code Laboratories さんより、「CL Eye Platform Driver」と「CL Eye Platform SDK」を入れます。Sample プログラムを試すか、mer2 さんが配布されている Ust 配信に使われていたアプリから動作確認ができます。サンプルプログラムは SDK をダウンロードすると以下の場所に格納されています。
- C:\Users\YOUR_ACCOUNT_NAME\Documents\CL-Eye Platform SDK\Samples\CLEyeMulticam\C#\CLEyeMulticamWPFTest
Visual Studio 2012 for Windows Desktop から実行すると以下のように表示されます。
アプリ作成
上記 Sample から改造していっても良いのですが、すでにコレを元にして作成されたサンプルが Oculus Developer Forums にて上がっています。
henrik3141 さんによる返信のところに「OculusCamV1.zip」があるのでコレをダウンロードします。内部では、CL Eye が提供してくれている Lens Correction のパラメタをスライダからいじれたり、カメラ出力位置や大きさをキーボードで動かせるように改造されています。
まず、カメラの向きが異なるため回転処理を追記します。
MainWindow.xaml.cs 133 行目
// Create cameras, set some parameters and start capture if (numCameras >= 1) { camLeft.Device.Create(CLEyeCameraDevice.CameraUUID(0)); camLeft.Device.Rotation = -900; // 追記 camLeft.Device.Start(); } if (numCameras == 2) { camRight.Device.Create(CLEyeCameraDevice.CameraUUID(1)); camRight.Device.Rotation = 900; // 追記 camRight.Device.Start(); }
次に全画面で動作するように XAML に「WindowState」と「WindowStyle」を追記します。
MainWindow.xaml 1 行目
<Window x:Class="CLEyeMulticamWPFTest.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local="clr-namespace:CLEyeMulticam" Title="OculusCam" Height="800" Width="1280" Background="Black" ResizeMode="NoResize" WindowState="Maximized" WindowStyle="None">
パラメタや位置を調整して、カメラの回転具合をキャリブレすれば立体で見えるようになります。横方向のズレは結構頭が補間してくれますが、縦方向はピッタリと合わせないとブレて見えます。腰のうちに置くと首がボロンと落ちたような感覚になりますし、Oculus Rift を装着している自分を見ると変な気分になって面白いです。
おわりに
次は AR と組み合わせて面白いことをしたいです。