Your SlideShare is downloading. ×
Part3 unityを使ったvrアプリ作成入門
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Part3 unityを使ったvrアプリ作成入門

204

Published on

日本Androidの会浜松支部 第49回ミーティング …

日本Androidの会浜松支部 第49回ミーティング
「スマートフォンで3DVRを楽しもう!」
http://jaghama.connpass.com/event/14645/
パート3の資料。

Published in: Software
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
204
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
2
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Unityを使ったVRアプリ作成入門 2015.5.9 kinneko@gmail.com 日本Androidの会浜松支部 第49回ミーティング 「スマートフォンで3DVRを楽しもう!」Part3
  • 2. Part3 はハンズオン形式で行います ビルの林立する街で、定位置でピョンピョン飛び跳ねる アプリを3DVR対応にします。
  • 3. こんな感じ
  • 4. ・ターゲット端末はAndroidです。iOSでも同様に使えると思います。 ・Cardboardやタオバイザー、FakeRiftなどの3DVRゴーグルを使って  体験します。 ・3DVRコンテンツ作成時の注意点については、ここでは触れません。 ・Unityはすでに使ったことがある人を前提にしています。 ・使用するアセットの条件で、Unity5.1以降が対象です。 ・Androidアプリケーションがビルドできる設定は事前に行っておいて  ください。 注意点など
  • 5. ・アセットを使って、簡単なプログラムを作成  Unityの基本については理解済みという前提で、さらっと流して説明します。  3DVR化する前のプログラムは、会場で配布しますので解説だけです。 ・作成したプログラムを3DVR化する:Dive編  Durovis Dive SDKを使って、作成したプログラムを3DVR化します。 ・作成したプログラムを3DVR化する:Cardboard編  Cardboard SDK for Unityで、作成したプログラムを3DVR化します。 ・カスタマイズ・タイム  サンプルのカスタマイズや、自作アプリの3DVR化を行ってください。 本日の内容
  • 6. ・アセットを使って、簡単なプログラムを作成 ・作成したプログラムを3DVR化する:Dive編 ・作成したプログラムを3DVR化する:Cardboard編 ・カスタマイズ・タイム
  • 7. ・街を読み込む ・回転を止める ・カメラに重力を  作用させる ・床でバウンスさせる ・重力を月面にする ・その他 アセットを使って、 簡単なプログラムを作成 ・景色があると相対的にジャンプ感が出るので、  ビル街を自動生成するアセットを使う ・自動生成なので、毎回違った景色が楽しめる。  (大差ないけど...)
  • 8. ・街を読み込む ・回転を止める ・カメラに重力を  作用させる ・床でバウンスさせる ・重力を月面にする ・その他 アセットを使って、 簡単なプログラムを作成 ・TekitouCityGenerator /          適当な街並みジェネレータ Unity5で適当な街並みを自動で作るサンプル  http://many.chu.jp/Unity/TekitouCityGenerator/  https://github.com/Maruchu/TekitouCityGenerator ・ライセンスがやや運用しにくい ・アセットをダウンロードする やってはいけないのは、オリジナルの unitypackage をそ のまま別のサイトなどで配布することだけです。 各自で改造して作成された unitypackage や zip はご自由 に配布してもらってOKなので是非 色んな物に使って遊んで みてください。
  • 9. ・街を読み込む ・回転を止める ・カメラに重力を  作用させる ・床でバウンスさせる ・重力を月面にする ・その他 アセットを使って、 簡単なプログラムを作成 ・Unity5.1で新規プロジェクトを作成  TekitouCityGenerator_ForUnity5.0.1.  unitypackageをロードする ・Sample1を読み込む (2夕方,3夜も試す) ・動かしてみる -> 動きが早い(=酔う)のを確認
  • 10. ・街を読み込む ・回転を止める ・カメラに重力を  作用させる ・床でバウンスさせる ・重力を月面にする ・その他 アセットを使って、 簡単なプログラムを作成
  • 11. ・街を読み込む ・回転を止める ・カメラに重力を  作用させる ・床でバウンスさせる ・重力を月面にする ・その他 アセットを使って、 簡単なプログラムを作成
  • 12. ・街を読み込む ・回転を止める ・カメラに重力を  作用させる ・床でバウンスさせる ・重力を月面にする ・その他 アセットを使って、 簡単なプログラムを作成
  • 13. ・街を読み込む ・回転を止める ・カメラに重力を  作用させる ・床でバウンスさせる ・重力を月面にする ・その他 アセットを使って、 簡単なプログラムを作成
  • 14. ・街を読み込む ・回転を止める ・カメラに重力を  作用させる ・床でバウンスさせる ・重力を月面にする ・その他 アセットを使って、 簡単なプログラムを作成
  • 15. ・街を読み込む ・回転を止める ・カメラに重力を  作用させる ・床でバウンスさせる ・重力を月面にする ・その他 アセットを使って、 簡単なプログラムを作成
  • 16. ・街を読み込む ・回転を止める ・カメラに重力を  作用させる ・床でバウンスさせる ・重力を月面にする ・その他 アセットを使って、 簡単なプログラムを作成 ・使用したアセットのサンプルでは、街なかの  空中をぐるぐる高速で回るので、3DVRアプリ  にすると酔います。 ・回転処理しているスクリプトを無効にして、  回転を止めます。 ・設定されたAddRotationスクリプトを無効に  カメラを開いてスクリプトのチェックを外す ・動かしてみる -> 回らなくなったが何も起きない
  • 17. ・街を読み込む ・回転を止める ・カメラに重力を  作用させる ・床でバウンスさせる ・重力を月面にする ・その他 アセットを使って、 簡単なプログラムを作成
  • 18. ・街を読み込む ・回転を止める ・カメラに重力を  作用させる ・床でバウンスさせる ・重力を月面にする ・その他 アセットを使って、 簡単なプログラムを作成
  • 19. ・街を読み込む ・回転を止める ・カメラに重力を  作用させる ・床でバウンスさせる ・重力を月面にする ・その他 アセットを使って、 簡単なプログラムを作成 ・カメラにRidgebodyコンポーネントを設定し、  重力をオンにする ・カメラにスフィアコライダーを設定する  ・マテリアルを作成して、Bouncenessを1に  設定する ・スフィアコライダーにマテリアルを設定する  ・動かしてみる -> 床を突き破って無限に落ちる  (床にコライダが設定されていない)
  • 20. ・街を読み込む ・回転を止める ・カメラに重力を  作用させる ・床でバウンスさせる ・重力を月面にする ・その他 アセットを使って、 簡単なプログラムを作成
  • 21. ・街を読み込む ・回転を止める ・カメラに重力を  作用させる ・床でバウンスさせる ・重力を月面にする ・その他 アセットを使って、 簡単なプログラムを作成
  • 22. ・街を読み込む ・回転を止める ・カメラに重力を  作用させる ・床でバウンスさせる ・重力を月面にする ・その他 アセットを使って、 簡単なプログラムを作成
  • 23. ・街を読み込む ・回転を止める ・カメラに重力を  作用させる ・床でバウンスさせる ・重力を月面にする ・その他 アセットを使って、 簡単なプログラムを作成
  • 24. ・街を読み込む ・回転を止める ・カメラに重力を  作用させる ・床でバウンスさせる ・重力を月面にする ・その他 アセットを使って、 簡単なプログラムを作成 ・Cubeを作成して薄くして床に貼る  Scale y0.1に。Position y-15にしておく ・Boxコライダーに  マテリアルを設定する(バウンス) ・動かしてみる -> まだ早くて酔いそう
  • 25. ・街を読み込む ・回転を止める ・カメラに重力を  作用させる ・床でバウンスさせる ・重力を月面にする ・その他 アセットを使って、 簡単なプログラムを作成
  • 26. ・街を読み込む ・回転を止める ・カメラに重力を  作用させる ・床でバウンスさせる ・重力を月面にする ・その他 アセットを使って、 簡単なプログラムを作成
  • 27. ・街を読み込む ・回転を止める ・カメラに重力を  作用させる ・床でバウンスさせる ・重力を月面にする ・その他 アセットを使って、 簡単なプログラムを作成 ・重力加速度を変更する ・Edit -> Project Settings -> Physics  Gravityで値を変更  デフォルト:x: 0 y: -9.81 z:0  水星 3.70、金星 8.87、地球 9.80、  火星 3.71、木星 24.79、土星 10.44、  天王星 8.87、海王星 11.15、冥王星 0.58、  月 1.62 m/s^2 ・変更して動かしてみる -> 月面くらいがいい感じ
  • 28. ・街を読み込む ・回転を止める ・カメラに重力を  作用させる ・床でバウンスさせる ・重力を月面にする ・その他 アセットを使って、 簡単なプログラムを作成
  • 29. ・街を読み込む ・回転を止める ・カメラに重力を  作用させる ・床でバウンスさせる ・重力を月面にする ・その他 アセットを使って、 簡単なプログラムを作成 ・他のサンプルも試してみる (夕暮れ、夜) ・ビルのロゴを浜松支部のアイコンと差し替え(済) ・重力はスクリプトでも変更可能  Physics.gravity = new Vector3(0f, 0f, -9.81f);  範囲を決めて、ランダムに変更してみる。 ・加速度センサの値によってジャンプ開始と、  最初の加速度を変化させる ・カメラ位置の建物との衝突判定
  • 30. ・アセットを使って、簡単なプログラムを作成 ・作成したプログラムを3DVR化する:Dive編 ・作成したプログラムを3DVR化する:Cardboard編 ・カスタマイズ・タイム
  • 31. ・Dive SDKとは ・SDKのダウンロード ・3Dカメラを設定 ・その他の設定 ・Diveロゴを表示する ・apkのビルド 作成したプログラムを 3DVR化する:Dive編 ・老舗VRヘッドセットメーカー  Drovis社が提供しているUnity用のSDK  https://www.durovis.com/  ・ライセンス文書  ・3Dカメラ・プレハブ  ・マウス操作スクリプト  ・加速度センサPlugin  ・ロゴ画面 ・Cardboardより早く提供されていたので  多くのアプリケーションで使用されている
  • 32. 作成したプログラムを 3DVR化する:Dive編 ・https://www.durovis.com/sdk.html ・Dive_Plugin_2.1.unitypackageをダウンロード ・サンプルにアセットをロードする ・Dive SDKとは ・SDKのダウンロード ・3Dカメラを設定 ・その他の設定 ・Diveロゴを表示する ・apkのビルド
  • 33. ・Dive SDKとは ・SDKのダウンロード ・3Dカメラを設定 ・その他の設定 ・Diveロゴを表示する ・apkのビルド 作成したプログラムを 3DVR化する:Dive編
  • 34. 作成したプログラムを 3DVR化する:Dive編 ・3Dカメラをロードする ・単眼カメラを無効にする ・カメラの位置を高く設定する Position y+15 ・先ほどのアセットで使った  リッジボディとスフィアコライダを設定する ・実行してみる ->  ・Mouse Lookスクリプトが   有効なのでカメラをマウスで操作できる  ・センサがないのでGYRO警告が出る ・Dive SDKとは ・SDKのダウンロード ・3Dカメラを設定 ・その他の設定 ・Diveロゴを表示する ・apkのビルド
  • 35. ・Dive SDKとは ・SDKのダウンロード ・3Dカメラを設定 ・その他の設定 ・Diveロゴを表示する ・apkのビルド 作成したプログラムを 3DVR化する:Dive編
  • 36. ・Dive SDKとは ・SDKのダウンロード ・3Dカメラを設定 ・その他の設定 ・Diveロゴを表示する ・apkのビルド 作成したプログラムを 3DVR化する:Dive編
  • 37. ・Dive SDKとは ・SDKのダウンロード ・3Dカメラを設定 ・その他の設定 ・Diveロゴを表示する ・apkのビルド 作成したプログラムを 3DVR化する:Dive編
  • 38. ・Dive SDKとは ・SDKのダウンロード ・3Dカメラを設定 ・その他の設定 ・Diveロゴを表示する ・apkのビルド 作成したプログラムを 3DVR化する:Dive編
  • 39. 作成したプログラムを 3DVR化する:Dive編 ・Dive SDKとは ・SDKのダウンロード ・3Dカメラを設定 ・その他の設定 ・Diveロゴを表示する ・apkのビルド
  • 40. 作成したプログラムを 3DVR化する:Dive編 ・Dive SDKとは ・SDKのダウンロード ・3Dカメラを設定 ・その他の設定 ・Diveロゴを表示する ・apkのビルド
  • 41. 作成したプログラムを 3DVR化する:Dive編 ・Cubeの位置をy-15からy0に変更 ・重力の設定を月面相当に ・Dive SDKとは ・SDKのダウンロード ・3Dカメラを設定 ・その他の設定 ・Diveロゴを表示する ・apkのビルド
  • 42. 作成したプログラムを 3DVR化する:Dive編 ・Dive SDKとは ・SDKのダウンロード ・3Dカメラを設定 ・その他の設定 ・Diveロゴを表示する ・apkのビルド
  • 43. 作成したプログラムを 3DVR化する:Dive編 ・Dive SDKとは ・SDKのダウンロード ・3Dカメラを設定 ・その他の設定 ・Diveロゴを表示する ・apkのビルド
  • 44. 作成したプログラムを 3DVR化する:Dive編 ・ライセンスで、ロゴ表示が義務付けられている ・デフォルトのロゴはSDKに含まれている  3Dカメラを設定すると3D Splashも可能 ・Unity Free版のロゴも出るので  ロゴが2つ出るのは、起動時に煩わしい ・Unityロゴがステレオ対応じゃないのが残念 ・Dive SDKとは ・SDKのダウンロード ・3Dカメラを設定 ・その他の設定 ・Diveロゴを表示する ・apkのビルド
  • 45. 作成したプログラムを 3DVR化する:Dive編 ・Dive SDKとは ・SDKのダウンロード ・3Dカメラを設定 ・その他の設定 ・Diveロゴを表示する ・apkのビルド
  • 46. 作成したプログラムを 3DVR化する:Dive編 ・Dive SDKとは ・SDKのダウンロード ・3Dカメラを設定 ・その他の設定 ・Diveロゴを表示する ・apkのビルド
  • 47. 作成したプログラムを 3DVR化する:Dive編 ・Android SDKのパスを設定 ・アプリケーション名の設定 ・ビルド後、実機に転送して実行 ・Dive SDKとは ・SDKのダウンロード ・3Dカメラを設定 ・その他の設定 ・Diveロゴを表示する ・apkのビルド
  • 48. 作成したプログラムを 3DVR化する:Dive編 ・Dive SDKとは ・SDKのダウンロード ・3Dカメラを設定 ・その他の設定 ・Diveロゴを表示する ・apkのビルド
  • 49. 作成したプログラムを 3DVR化する:Dive編 ・Dive SDKとは ・SDKのダウンロード ・3Dカメラを設定 ・その他の設定 ・Diveロゴを表示する ・apkのビルド
  • 50. 作成したプログラムを 3DVR化する:Dive編 ・Dive SDKとは ・SDKのダウンロード ・3Dカメラを設定 ・その他の設定 ・Diveロゴを表示する ・apkのビルド 横固定も入れる →
  • 51. 作成したプログラムを 3DVR化する:Dive編 ・Dive SDKとは ・SDKのダウンロード ・3Dカメラを設定 ・その他の設定 ・Diveロゴを表示する ・apkのビルド
  • 52. ・アセットを使って、簡単なプログラムを作成 ・作成したプログラムを3DVR化する:Dive編 ・作成したプログラムを3DVR化する:Cardboard編 ・カスタマイズ・タイム
  • 53. ・Cardboard SDKとは ・SDKのダウンロード ・3Dカメラを設定 ・apkのビルド 作成したプログラムを 3DVR化する: Cardboard編 ・GoogleがCardboard向けに提供している  SDKのうち、Unity用の部分 (Nativeもあり)  Google Cardboard SDK for Unity  https://developers.google.com/cardboard/unity/ ・コードはGitHubで公開されている  https://github.com/googlesamples/cardboard-unity/ ・リリースノート  https://developers.google.com/cardboard/unity/release-notes ・次のGoogle I/Oで何かアップデートが?
  • 54. ・Cardboard SDKとは ・SDKのダウンロード ・3Dカメラを設定 ・apkのビルド 作成したプログラムを 3DVR化する: Cardboard編 ・SDKのダウンロード  https://github.com/googlesamples/cardboard-unity/ blob/master/CardboardSDKForUnity.unitypackage? raw=true ・サンプルを開き、SDKを読み込む
  • 55. ・Cardboard SDKとは ・SDKのダウンロード ・3Dカメラを設定 ・apkのビルド 作成したプログラムを 3DVR化する: Cardboard編
  • 56. ・Cardboard SDKとは ・SDKのダウンロード ・3Dカメラを設定 ・apkのビルド 作成したプログラムを 3DVR化する: Cardboard編 ・機能はプレハブにまとめられているので、  メインカメラにプレハブを追加するだけ ・CardboardHeadプレハブをカメラにドラッグ ・専用のシェーダーが使われ、樽状に変形 ・Unity上の実行では樽変形されない
  • 57. ・Cardboard SDKとは ・SDKのダウンロード ・3Dカメラを設定 ・apkのビルド 作成したプログラムを 3DVR化する: Cardboard編
  • 58. 作成したプログラムを 3DVR化する: Cardboard編 ・Cardboard SDKとは ・SDKのダウンロード ・3Dカメラを設定 ・apkのビルド
  • 59. ・Cardboard SDKとは ・SDKのダウンロード ・3Dカメラを設定 ・apkのビルド 作成したプログラムを 3DVR化する: Cardboard編 ・File->Build Settingsでターゲットを切り替える ・シーンの追加とテクスチャ圧縮の設定 ・画面を横方向に固定、アプリ名を入れる ・ビルドして、実機にて動作確認
  • 60. ・Cardboard SDKとは ・SDKのダウンロード ・3Dカメラを設定 ・apkのビルド 作成したプログラムを 3DVR化する: Cardboard編
  • 61. ・Cardboard SDKとは ・SDKのダウンロード ・3Dカメラを設定 ・apkのビルド 作成したプログラムを 3DVR化する: Cardboard編
  • 62. ・Cardboard SDKとは ・SDKのダウンロード ・3Dカメラを設定 ・apkのビルド 作成したプログラムを 3DVR化する: Cardboard編
  • 63. ・Cardboard SDKとは ・SDKのダウンロード ・3Dカメラを設定 ・apkのビルド 作成したプログラムを 3DVR化する: Cardboard編
  • 64. ・Cardboard SDKとは ・SDKのダウンロード ・3Dカメラを設定 ・apkのビルド 作成したプログラムを 3DVR化する: Cardboard編
  • 65. ・アセットを使って、簡単なプログラムを作成 ・作成したプログラムを3DVR化する:Dive編 ・作成したプログラムを3DVR化する:Cardboard編 ・カスタマイズ・タイム
  • 66. ・取り組んできたサンプルのカスタマイズや、  お手持ちの自作アプリの3DVR化を行ってみてください。 ・ここからはフリータイムになりますので、お時間まで自由に  プログラムを行ってください。 カスタマイズ・タイム カスタマイズ・タイム

×