42
VRはじめよう! GDG神戸 野田 悟志 なにわTECH

VRをはじめよう!

Embed Size (px)

Citation preview

Page 1: VRをはじめよう!

VRをはじめよう!

GDG神戸 野田 悟志

なにわTECH道

Page 2: VRをはじめよう!

自己紹介

Page 3: VRをはじめよう!

自己紹介

GDG神戸 オーガナイザー (Manager)

VR歴2015年6月頃にCardboard、7月にOculusRift DK2を入手

Unity 5使って個人開発

2016年はVR勉強会いっぱいやってる(5回+一部セッション3回)6/11にCV1来た!

10/13にPSVR来た!

12/10にOculusTouch来た!

FOVE予約した!来年1月のFOVEが待ち遠しい。

Daydreamが日本に来るのはいつ…?

Page 4: VRをはじめよう!

2015年GDG神戸開催イベント

● 扱った言語/技術

Go、Angular、Android、AndroidWear、WebAudioApi、AndroidTV、Cardboard、Polymer、Firebase、TensorFlow

● イベント

I/O Extended、I/O報告会、忘年会

合計15回

Page 5: VRをはじめよう!

2016年開催/開催予定02/28 GDG神戸 機械学習勉強会 [AlphaGoの論文を読む会 ]

03/12 Unity入門勉強会(PG向け)

04/16 Angular 2ハンズオン勉強会

04/24 VRに興味ある人のための Unity入門講座【関西】

04/30 Cloud Vision Api & Tensorflow勉強会

05/18-19 Google I/O Extended 2016 ライブストリーミング in Kobe

05/28 Cardboard勉強会

06/11 Google I/O Extended 報告会 2016 in 関西

06/25-26 VRアプリ開発勉強会

07/30 Progressive Web Appsハンズオン勉強会

09/10 Android Nougat(7.0)勉強会

11/12 KOF2016 セミナー 『モバイルVR「Daydream」でVRの世界にふれてみる』

11/27 Devfest Kansai 2016

12/10 Angular2勉強会

12/29 GDG神戸 2016年忘年会

Doorkeeper GDG神戸コミュニティページ https://gdgkobe.doorkeeper.jp/

Page 6: VRをはじめよう!

今日話すこと

Page 7: VRをはじめよう!

今日話すこと

● VRとは

● VRコンテンツを作る上で知っておきたいこと

● UnityでのVRコンテンツの作り方

Page 8: VRをはじめよう!

VRとは

Page 9: VRをはじめよう!

VR(Virtual Reality)日本語では「人工現実感」や「実質的な現実」。

Virtual は「実質的な」、「事実上の」という意味なので、「仮想現実」は誤訳。

HMD(ヘッドマウントディスプレイ)を装着し、目の前の映像の中の世界に入っているよ

うな感覚(没入感)を得ることが出来る。

また、その世界の登場人物(動物)が、実際にそこに存在してるかのような感覚(存在感

:プレゼンス)を得ることが出来る。

2016年はVR元年と呼ばれ、Oculus Rift CV1、HTC Vive、PlaystationVR(PSVR)、Daydreamなど様々なVRのHMDがリリースされた。

Page 10: VRをはじめよう!

HMD比較 価格

https://www.vive.com/jp/

https://www.oculus.com/

http://www.jp.playstation.com/psvr/

Oculus Rift CV1 ( + Touch)

118,400円(海外発送:送料10,800円込)

HTC Vive107,784円(国内配送:送料別、税込)

PlayStation VR49,980円(Camera同梱版、税別)

Page 11: VRをはじめよう!

HMD比較 価格

http://www.samsung.com/jp/product/gearvr

Galaxy Gear VR (2016)

約12,000円(定価$99.99)(Amazon: https://goo.gl/0E2zD3で7,480円)

https://vr.google.com/daydream/headset/

Daydream$79(約9千円)(国内未発売)

https://vr.google.com/intl/ja_jp/cardboard/

Cardboard約1,000円~

Page 12: VRをはじめよう!

HMD比較 価格

HMD PC or PS or スマートフォン 合計

Oculus Rift CV1 ( + Touch)

118,400円 約10万円(8万~40万円くらい) 約22万円

HTC Vive 107,784円 約10万円(8万~40万円くらい) 約21万円

PlayStation VR 49,980円 3万~5万円くらい 約8万円

Galaxy Gear VR 約12,000円 5万~8万円くらい 約6万円

Daydream $79(約9千円) 6万~10万円くらい 約7万円

Cardboard 約1,000円~ ものによる(3万~10万円くらい) 約3万円

Page 13: VRをはじめよう!

HMD比較 メリット・デメリット体験の質 入手性 世界出荷台数

http://www.moguravr.com/trendforce-vrhmd/

Oculus Rift CV1 非常に良い 比較的容易い 約65万台

HTC Vive 非常に良い 容易い 約46万台

PlayStation VR それなりに良い やや難しい 約150万台

Galaxy Gear VR 悪くはない 容易い 不明(月間利用ユーザは約100万人)

Daydream 悪くはない 日本では入手不可 不明

Cardboard 物によるが期待しない方が良い

容易い 約500万台以上

Page 14: VRをはじめよう!

HMD比較 メリット・デメリット開発の敷居 一般普及の期待度

Oculus Rift CV1 低い 低:HMD・PC共に安価になれば、大

HTC Vive 低い 低:HMD・PC共に安価になれば、大

PlayStation VR 高い(ライセンスがいる) 大:PS4が約5千万台販売されている

Galaxy Gear VR 低い 中:GalaxyS7/S7edgeの出荷台数が約2千万台

Daydream 低い 中:必要なスペックは2年後にはほぼ全機種満たすと予想すると、大

Cardboard 低い 大:すでに多く出ている

Page 15: VRをはじめよう!

HMD おすすめ(個人的な見解)● VRを体験したいなら、Oculus Rift CV1

○ 質が良い

○ 座った状態で楽しめる

■ Viveは広い部屋が必要

○ ハンドコントローラのTouchがでて、ルームスケールにも対応した

● アプリ開発事業なら、GearVR (またはDaydream)○ 一般ユーザにリーチしやすい

■ スマートフォンはすでに世の中に普及していて、一般ユーザが入手する下地ができている

■ Cardboardが一番多いが、Cardboardの場合、端末によって質が悪くなるというコントロール

できない面があり、制約がきつく、アプリや事業自体のブランドに影響が出る可能性がある

■ 2年後を見据えれば、機種が固定される GearVRより、Daydreamの方が良さそう

○ すでにアトラクション施設や漫画喫茶で GearVRは使用されている

■ アトラクション施設等への売り込みも期待できそう

Page 16: VRをはじめよう!

VRコンテンツを作る上で知っておきたいこと

Page 17: VRをはじめよう!

対象年齢

必ず13歳以上を対象とする。

13歳未満の場合、視覚の未発達により、障害が残る可能性がある。

● VRでは2つのディスプレイを使い、物を立体的に見ることができるようになっている。

● 自然な立体視と異なるため、斜視になる可能性がある。● 立体的にものを見るには、立体視細胞が必要になる。斜視になると立体視細胞の

成長の妨げとなり、立体的にものを見ることができなくなる可能性がある。

MoguraVR「なぜ13歳未満の子供は、Oculus Riftを使用してはいけないのか?医学的な見地からの警鐘」http://www.moguravr.com/13yearsold-limitation/

Page 18: VRをはじめよう!

VR酔い

視覚情報は自分が動いているように見えてい

る(感じている)が、実際に体は動いていないた

めに、情報の不一致から起こる不快な現象。

特に移動時の加減速で発生しやすい。

車酔いに似ている。

一度酔うと、そのコンテンツや最悪VRは二度

としたくなくなる

Page 19: VRをはじめよう!

VR酔い対策

対策として、移動手段をワープ移動(加減速が0)にしたり、

視点を3人称視点にしたりする。

下記記事が参考になる。

MoguraVR「VR酔い防止に向けて。これまで登場したVRでの酔わな

い移動方法のアイデアまとめ。」

http://www.moguravr.com/against-vr-nausea/

Page 20: VRをはじめよう!

プレゼンス(存在感)

Page 21: VRをはじめよう!

プレゼンス(存在感)● どういう状況で感じるか

○ 自分のことをキャラクターが認知していると感じやすい

■ キャラクターが自分の方を見る

■ Oculus Riftの「Lucky's Tale」や「Mikulus」、PSVRの「サマーレッスン」

○ 冒頭で、自分がどういう状況にいるのか、どういう役なのか、を教えておく。その世界に誘導する

■ Oculus Riftの「Henry」や「Damaged Core」

● 「Henry」では、Henryがどういう状況にいるか説明がある

● 「Damaged Core」では、チュートリアルを通して、自分がどういう役なのか説明がある

○ 自分の手があるとよりそれらしく感じる

■ Oculus Riftの「Bullet Train」

■ アバターでなくていい。もし女性が男性のアバターやその逆だと違和感でしかなく、プレゼン

スを破壊してしまう

Page 22: VRをはじめよう!

プレゼンス(存在感)GOROmanさん

「VR におけるプレゼンスの維持と破壊」

http://qiita.com/GOROman/items/41f620957120d2b52ac3

Page 23: VRをはじめよう!

Oculusベストプラクティス

VR酔いをはじめ、どうやればより良いVRコンテンツを作れるかについて、Oculus がベス

トプラクティスを公表している。

Oculusベストプラクティス

http://static.oculus.com/documentation/pdfs/ja-jp/intro-vr/latest/bp.pdf

Page 24: VRをはじめよう!

UnityでのVRコンテンツの作り方

Page 25: VRをはじめよう!

Unityゲームエンジンの一つ。3Dや2Dゲームが作れ、VRにも対応している。

様々な物理演算がAPIで提供され、3Dモデル等もAssetStoreから取得でき、誰もが

ゲームを作れるようになっている。

Unity以外にはUnreal Engine 4(UE4)が有名。

12/18時点ではUnity 5.5.0f3が最新。

http://japan.unity3d.com/

Page 26: VRをはじめよう!

Hierarchyビュー:シーンを構成するGameObject(3Dモデル等)の一覧

Sceneビュー:シーンでGameObjectが実際に置かれている状況を見るたり、操作することができる

Gameビュー:カメラが映し出している画面(実際のゲーム画面)が表示されるProjectビュー:

実際のファイル構成

Inspectorビュー:Hierarchyビューで選択しているGameObjectのポジション等の情報

Page 27: VRをはじめよう!

Edit > Project Settings > Player

Virtual Reality Supportedにチェックを入れる

Oculus Rift対応(ステレオカメラ化)

Page 28: VRをはじめよう!

Oculus Touch対応

Assets > Import Package > Custom Package

OculusUtilities.unitypackageをインポートする

Oculus Utilities for Unity 5 (V1.10.0)https://developer3.oculus.com/downloads/

Page 29: VRをはじめよう!

Oculus Touch対応

Assets > OVR > Prefabs > OVRCameraRigをHierarchyビューにD&D

HierarchyビューでMain Cameraを選択し、Inspectorビューで、「Main Camera」の横のチェックボックスのチェックを外す。これで Main Cameraが無効になる

Page 30: VRをはじめよう!

Oculus Touch対応

Oculus Avatar SDK > Unity > OvrAvatar.unityPackageをインポートして、Assets > OvrAvater > Content > Prefabs > LocalAvaterをHierarchyビューにD&D

Oculus Avatar SDK (V1.10.1)https://developer3.oculus.com/downloads/

Page 31: VRをはじめよう!

Oculus Touch対応

実行すると、こんな感じで、 Touchの位置をとって、手のアバターを表示してくれる。Touchに触れているかどうかも見ているので、サムズアップとかもできる。

Page 33: VRをはじめよう!

https://github.com/scarviz/DaydreamSample-GVR1.0.3※Readmeに実装方法あり

Page 34: VRをはじめよう!

Unity Daydreamネイティブ対応

UnityのDaydreamネイティブ対応版を使用すると、チェックボックスにチェックを入れる

だけでステレオカメラ化される。

コントローラを使用するには、SDKが必要になる。

現在(12/18)では、Preview版のみで、Unity5.6から対応予定。

Unity Daydream Preview (12/18時点で5.4.2F2-GVR13)https://unity3d.com/jp/partners/google/daydream

Page 35: VRをはじめよう!

Google VR SDK for Unity

https://developers.google.com/vr/unity/controller-basics

Page 36: VRをはじめよう!

Google VR SDK for Unityvoid Update() {

if(GvrController.IsTouching) { /* タッチしている状態かどうか */ }if(GvrController.TouchDown) { /* タッチしたかどうか(1フレーム後) */ }if(GvrController.TouchUp) { /* タッチをやめたかどうか(1フレーム後) */ }Vector2 pos = GvrController.TouchPos; // タッチパッド上のタッチ位置

if(GvrController.ClickButton) { /* クリックしている状態かどうか */ }if(GvrController.ClickButtonDown) { /* クリックしたかどうか(1フレーム後) */ }if(GvrController.ClickButtonUp) { /* クリックをやめたかどうか(1フレーム後) */ }

if(GvrController.AppButton) { /* Appボタンを押下している状態かどうか */ }if(GvrController.AppButtonDown) { /* Appボタンを押下したかどうか(1フレーム後) */ }if(GvrController.AppButtonUp) { /* Appボタンの押下をやめたかどうか(1フレーム後) */ }

}

Page 37: VRをはじめよう!

Google VR SDK for Unity● GvrControllerState

○ Disconnected○ Scanning○ Connecting○ Connected○ Error

Page 38: VRをはじめよう!

Google VR SDK for Unity● GvrController

○ Orientation

Page 39: VRをはじめよう!

Google VR SDK for Unity● GvrController

○ Gyro○ Accel

Page 41: VRをはじめよう!

Compile● IL2CPP

○ C#からC++にコンバート

○ 処理の高速化

○ NDK r10e■ UE4だとNDK r11c

○ Edit > Project Settings > Player の Other Settings > Configuration

Page 42: VRをはじめよう!

ご清聴ありがとうございました