こんにちは、上津原です。
Oculus Riftというヘッドマウントディスプレイがあります。 以前紹介しました。(http://nextdeveloper.hatenablog.com/entry/2013/12/05/102157)
それを利用し3Dデータで作られた部屋をバーチャルリアリティで内見できるアプリケーション「Room VR」を開発しました。
オプションとして
- 目線の高さ変更
- 建物の高さ変更
- 朝昼夕晩の光さし方の確認
- 物の移動、配置、削除
などの機能も盛り込んでおり、これを利用することにより、子供目線の確認、モノの搬出入、光のさし具合のシミュレーション、部屋の高さによる風景のシミュレーションなどが可能になります!
それを開発するにあたって、Unityや3D完全初心者の私がアプリケーションを開発する間、何を調達して、何を学び、どうすれば作れたかをまとめていきたいと思います。
開発期間は2ヶ月半。前提のスキルはiOSアプリ開発とPhotoshopです。
まずは準備編ということで、環境と必要なもの、参考になるものを挙げていきます。
これからOculusRiftで開発をする人の参考になれば幸いです!
開発環境
実際開発に使った環境は以下です
- Windows7
- OculusRift
- Unity Pro
- XboxController(コード付き)
- HDMI - USB変換ディスプレイアダプタ
ひとつひとつについて説明していきます。
Oculus Rift(約¥36,000)
https://www.oculusvr.com/order/
公式サイトで申込みます。$300+送料がかかります。 購入方法は、以下を見ながら買うとわかりやすいです。
http://www.ocufes.jp/2013/10/175/
私が購入した時は、3週間位で届きましたが、最近はもう少し早く届くようです。
Unity Pro(¥157,500)
OculusRiftを購入すると、UnityProの体験版コードがが4ヶ月分ついてきます。 なので、開発を始めるには購入する必要はありません。 体験期間が切れても開発を続ける場合は、Unity Proの購入が必要です。
Xbox360 Controller(¥2,982)
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モデリング
素材では足りないものも多かったため、一文のオブジェクトはモデリングソフトを使って作りました。
メタセコイア
プロ版の体験版に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の勉強を…というのがいいと思います。
メタセコイアは、実装が殆ど済んでから最後に触り始めたので、最初の段階では必要ないかと思います。 まずは素材を使って実装をし、そこから思ったものを表現したいときに、メタセコイアなどは触り始めればいいと思います。
さて、これで準備ができたら、次はレッツ実装編です!