【ニコニコ動画】Oculus RiftとKincetでスーパーマンになってみた動画を上げてみました。
hecomiさんのこの記事を参考にkinectの環境を構築しました。
http://d.hatena.ne.jp/hecomi/20130709/1373472118
unityでKinectを使う方法はzigfuと公式SDKを使う方法があるようですが、僕は公式SDKを使いました。(zigfuよく分からなかった・・・)
Kinect Wrapper Package for Unity3Dを使ったこと、今回やったこと、ハマったことでのまとめ
・KinectPointManなどでkinectを使うときはKinect_Prefabを置かなければ使えない。(PointManのswにはKinect_Prefabをぶっこむ)
・上昇する、落ちるなどといった判定は肩のボールの位置、肘のボールの位置を取得しy方向で右肘の位置が肩より高ければ上昇といった感じで書いた。(もっといい方法あるかも?
・同様に前後に進むはお尻と頭のz方向の位置を取得して判定した。左右に回るのは左右の肩のy方向の位置から判定。
・translate.positionで判定のために肩の位置などを取得すると回転した時にうまく判定できなくなるので、translate.localPositionを使った。
・上のhecomiさんの記事のようにKinectPointManの中にoculusのカメラを入れるときはゲーム再生時にkinectの方にoculusを向けておかないと横を体の向きがおかしくなる。(oculusのカメラから見て)
・体を回転させた時、向いている方向に進む場合は
tranform.position = transform.rotation * 進みたいベクトル
をする。
transform.forwardを使ってもいいかもしれない?
・録画の際、kinectの映像をどうやって録画したらいいか分からなかったのでKinect studioの録画機能で一旦録画し、その後キャプチャソフトで録画した。
・Unityでアンチエイリアスを効かせるとoculusで見た時、アンチエイリアスをかけない時よりもずっとよくなる(ただしGPUパワーを消費する)
・
http://stereoarts.jpさんのSkyboxMesh.csは必須。(参考:
http://d.hatena.ne.jp/hecomi/20130721/1374372218)
SkyboxMesh.csを入れても違和感がなくならない場合は元々あったskyboxを消してない可能性。
Edit→Render SettingsからSkybox Materialを消す。
・Kinectで動く際にoculusに付属のhdmiケーブルとusbケーブルでは短いので長いものを注文した。
これらを購入。oculus付属のusbケーブルはフェライトコアがついてるっぽかったのでフェライトコアつきのものを選んだ。
・長いケーブルを買ったものの、コントロールボックスまでのケーブルが短いので腰の背の方にウェストポーチをつけて、そこにコントロールボックスを入れた。チャックは閉められないのでクリップで閉じた。
・動画編集ってすごい大変。動画作る人ってすごい。
[1回]
PR