LIFULL Creators Blog

LIFULL Creators Blogとは、株式会社LIFULLの社員が記事を共有するブログです。自分の役立つ経験や知識を広めることで世界をもっとFULLにしていきます。

Unity初心者が2ヶ月半でOculusRiftを使ったVR開発をした【準備・学習編】

こんにちは、上津原です。

Oculus Riftというヘッドマウントディスプレイがあります。 以前紹介しました。(http://nextdeveloper.hatenablog.com/entry/2013/12/05/102157

それを利用し3Dデータで作られた部屋をバーチャルリアリティで内見できるアプリケーション「Room VR」を開発しました。

f:id:nextdeveloper:20140218192602p:plain

オプションとして

  • 目線の高さ変更
  • 建物の高さ変更
  • 朝昼夕晩の光さし方の確認
  • 物の移動、配置、削除

などの機能も盛り込んでおり、これを利用することにより、子供目線の確認、モノの搬出入、光のさし具合のシミュレーション、部屋の高さによる風景のシミュレーションなどが可能になります!

それを開発するにあたって、Unityや3D完全初心者の私がアプリケーションを開発する間、何を調達して、何を学び、どうすれば作れたかをまとめていきたいと思います。

開発期間は2ヶ月半。前提のスキルはiOSアプリ開発とPhotoshopです。

まずは準備編ということで、環境と必要なもの、参考になるものを挙げていきます。

これからOculusRiftで開発をする人の参考になれば幸いです!

開発環境

実際開発に使った環境は以下です

  • Windows7
  • OculusRift
  • Unity Pro
  • XboxController(コード付き)
  • HDMI - USB変換ディスプレイアダプタ

ひとつひとつについて説明していきます。

Oculus Rift(約¥36,000)

f:id:nextdeveloper:20140218190638p:plain

https://www.oculusvr.com/order/

公式サイトで申込みます。$300+送料がかかります。 購入方法は、以下を見ながら買うとわかりやすいです。

http://www.ocufes.jp/2013/10/175/

私が購入した時は、3週間位で届きましたが、最近はもう少し早く届くようです。

Unity Pro(¥157,500)

f:id:nextdeveloper:20140218190657j:plain

https://store-jp.unity3d.com/

OculusRiftを購入すると、UnityProの体験版コードがが4ヶ月分ついてきます。 なので、開発を始めるには購入する必要はありません。 体験期間が切れても開発を続ける場合は、Unity Proの購入が必要です。

Xbox360 Controller(¥2,982)

f:id:nextdeveloper:20140218190704j:plain

http://www.amazon.co.jp/gp/product/B004DL20UU

Windowsの場合、OculusのSDKがXbox360コントローラに対応しています。 Macの場合は対応していないので注意が必要です。 Xbox360コントローラを利用する場合、有線のものを買う必要があります。 無線のXbox360コントローラを有線にするようなものが売っていますが、あくまで電池充電器であって、USB接続コードではありません! 実際に間違って買って動かないのを確認しました…。無駄な出費…。 利用の場合は、きちんと有線のものを買いましょう。

HDMI - USB変換ディスプレイアダプタ(¥6,800)

http://direct.sanwa.co.jp/ItemPage/500-KC007

DVI端子がなかったため、購入しました。 fpsが落ちるかな?と思ったのですが、今のところ違和感なく動いています。 DVI端子、またはHDMI端子があるPCには必要ありません。

初期費用合計は

¥45,782となりました。(UnityProは購入してません) コントローラもUSB変換も使わないよ、という場合は、Oculusの¥36,000だけになりますね。

言語

経験があったのでJavaScriptを使いました。 ただ、OculusのSDKはC#で書かれているため、途中で「C#で書けばよかったな」と思いました。 JavaScriptでも開発はできますが、C#の理解があったほうがいいには変わりないです。

学習

まずは本で学習し、そこから必要な物をWebで調べながら実装する感じで作りました。

読んだ本

Unity入門 ~高機能ゲームエンジンによるマルチプラットフォーム開発~

http://www.sbcr.jp/products/4797365337.html

Unityの基本の動きを確認するためにひと通り動かしました。

参考にしたサイト

Unity公式ドキュメント

http://japan.unity3d.com/developer/document/

詳しく内容を知りたい場合やチュートリアルなどお世話になりました。

ActinScript入門Wiki

http://www40.atwiki.jp/spellbound/pages/1303.html

検索するとしょっちゅう上に出てくる。 基本的な部分を押さえるのにお世話になりました。

助けてもらったサイト

Unityユーザー助け合い所

https://www.facebook.com/groups/unityuserj/

ほんとうにわからない部分はこちらで質問しました。 必ず回答が来るというわけではないですが、助けていただける率は高いと思います。

3Dモデリング

素材では足りないものも多かったため、一文のオブジェクトはモデリングソフトを使って作りました。

メタセコイア

http://metaseq.net/jp/

プロ版の体験版にFBX出力があるので、それを利用しモデリング。

素材

開発段階では簡単な素材で作るのが楽で良い感じ。

Sketch Up 3Dギャラリー

http://sketchup.google.com/3dwarehouse/

からColladaデータをダウンロードして

FBX Converter

http://usa.autodesk.com/adsk/servlet/pc/item?siteID=123112&id=10775920

を使ってFBXに変換。

以上が準備したものです。

一気に並べると結構たくさんあるように見えますね。

とりあえずは、Oculusを注文して、届くまでの間にUnityの勉強を…というのがいいと思います。

メタセコイアは、実装が殆ど済んでから最後に触り始めたので、最初の段階では必要ないかと思います。 まずは素材を使って実装をし、そこから思ったものを表現したいときに、メタセコイアなどは触り始めればいいと思います。

さて、これで準備ができたら、次はレッツ実装編です!