読者です 読者をやめる 読者になる 読者になる

株式会社ネクスト エンジニアBlog

不動産・住宅情報サイト HOME'Sを運営する株式会社ネクストのエンジニアが提供する技術ブログです。エンジニアに役立つ情報の発信や、弊社エンジニアの活動を中心にお届けします。

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

Oculus Rift Unity

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

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の勉強を…というのがいいと思います。

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

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