37
モバイルVR Daydreamについて GDG神戸 野田 悟志 DevFest Kansai 2016

モバイルVR「Daydream」について

Embed Size (px)

Citation preview

Page 1: モバイルVR「Daydream」について

モバイルVR「Daydream」について

GDG神戸 野田 悟志

DevFest Kansai 2016

Page 2: モバイルVR「Daydream」について

2015年GDG神戸開催イベント

● 扱った言語/技術

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

● イベント

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

合計15回

Page 3: モバイルVR「Daydream」について

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 4: モバイルVR「Daydream」について

自己紹介

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

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

Unity 5使って個人開発

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

10/13にPSVR来た!

OculusTouchとFOVE予約した!

OculusTouchは12/6~15(に来るらしい)、来年1月のFOVEが待ち遠しい。

Daydreamが日本に来るのいつ?

→Japan VR Summit 2 (11/16)で言及あり http://vrinside.jp/news/jvrs2-sec1/

Page 5: モバイルVR「Daydream」について

今日話すこと

● Daydreamとは

● Unityでの導入方法

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

Page 6: モバイルVR「Daydream」について

Daydreamとは

Page 7: モバイルVR「Daydream」について

Google VR

https://developers.google.com/vr/

Page 8: モバイルVR「Daydream」について

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

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

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

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

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

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

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

Page 9: モバイルVR「Daydream」について

Daydream-Ready

● Low Persistence Display

● High Performance SoCs

● Low Latency, High Quality Sensors

Page 10: モバイルVR「Daydream」について

ハイスペックな理由

● 人間はヘッドトラッキングのレイテンシーが20msより長くになると、不自然に感じ

る。その状態が続くとVR酔いが発生する。○ Snapdragon 820(以降)が必要。Snapdragon 820は18ms以下のレイテンシーを実現している。

● フレームレートが低いと上記同様VR酔いが発生する。

○ 没入感の観点から、60FPSでも足りない。理想は120FPS以上。

(http://gamesonytablet.blogspot.jp/2014/03/blog-post.html)

Page 11: モバイルVR「Daydream」について

対応機種(11/25現在)● Google Pixel (HTC) ※国内未発売

○ Snapdragon 821

● Google Pixel XL (HTC) ※国内未発売

○ Snapdragon 821

● Moto Z (Lenovo) ※Android 7.0アップグレード必要

○ Snapdragon 820

● Moto Z Force (Lenovo) ※Android 7.0アップグレード必要。国内未発売 (Verizon)

○ Snapdragon 820

● ZTE Axon 7 (ZTE) ※2017年1月頃にAndroid7.0アップグレード予定

○ Snapdragon 820

Page 12: モバイルVR「Daydream」について

CCD(Compatibility Definition Document)「7.9. Virtual Reality 」https://static.googleusercontent.com/media/source.android.com/ja//compatibility/7.0/android-7.0-cdd.pdf

以下のようなことが書いてある(一例)● ディスプレイ

○ 画像解像度:1080p以上。1440p以上を強く推奨

○ サイズ:4.7インチ~6インチ

● コア○ 最低2つの物理コアが必要

○ VRアプリケーション用に専用のコアを割り当て、ほかのプロセスが実行しないようにする

Page 13: モバイルVR「Daydream」について

GPU性能

GPU : Adreno 530● Snapdragon 820、820A (MSM8996)

○ 407.4~498.5 GFLOPS

● Snapdragon 821 (MSM8996PRO)○ 519.2 GFLOPS

Oculus Ready GPU (Asynchronous Spacewarp) :● NVIDIA GeForce GTX 960

○ 2.30 TFLOPS

PS4 GPU : ● AMD Radeon based graphics engine

○ 1.84 TFLOPS

Page 14: モバイルVR「Daydream」について

他のVRとの違い

● Daydreamの良い点○ 価格が比較的安い

■ Daydream-Readyな端末は6~7万円くらいで入手可能。 HMDは8千円くらい。

■ OculusRift CV1やHTC ViveはハイスペックなPCが必要になる。

● GPUが必須で、それなりに計算能力が高いものを求める。

● 最低スペックで、3万円程度のグラフィックボードでも動くようになっているが、 HMDと

PCで15万以上。だいたい20万近くなる。 (OculusRift CV1は約9万、HTC Viveは約10

万。OculusReady PCで$499も)

■ PSVRは約5万+PS4(Slimなら3万くらい、Proなら4万5千くらい)で8万~9万くらい。

○ 用途が汎用的

■ PSVRはPS4専用なので、用途がゲームに限定される。

■ スマートフォンは生活必需品。汎用的。

○ 持ち運びが楽

■ 出先でVRする人はかなり特殊な気もするが、新幹線とか飛行機とか長時間狭いところにいな

いといけない場合は快適になるらしい

Page 15: モバイルVR「Daydream」について

他のVRとの違い

● Daydreamの悪い点○ ポジショントラッキングがない

■ OculusRift CV1やHTC Vive、PSVRはポジショントラッキングがあるが、 Daydreamはない。

■ 同様にDaydreamのコントローラもポジショントラッキングできない

○ 十分質の良いVR体験ができるとは言い難い

■ モバイルVRとしては良いが、ハイエンド、ミドルレンジに比べ、はるかに劣る

● コンテンツ作成に一工夫入れる必要がある

○ バッテリー持ち、発熱問題

■ バッテリーが激しく消費されたり、発熱の問題がある

Page 16: モバイルVR「Daydream」について

Unityでの導入方法

Page 17: モバイルVR「Daydream」について

https://developers.google.com/vr/concepts/dev-kit-setup

Dev Kit● Viewer

○ Cardboard

● Viewer Phone○ Nexus6P (Android

Nougat)

● Controller Emulator○ Android(API19 or

higher)

Viewer PhoneAndroid NougatDev Kit

Page 18: モバイルVR「Daydream」について

Controller Emulator● Connect

○ Bluetooth

Bluetooth

Page 21: モバイルVR「Daydream」について

Unity Daydreamネイティブ対応

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

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

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

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

Unity Daydream Preview (11/25時点で5.4.2F2-GVR12)https://unity3d.com/jp/partners/google/daydream

Page 22: モバイルVR「Daydream」について

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

Page 23: モバイルVR「Daydream」について

Google VR SDK for Unity

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

Page 24: モバイルVR「Daydream」について

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 25: モバイルVR「Daydream」について

Google VR SDK for Unity● GvrControllerState

○ Disconnected○ Scanning○ Connecting○ Connected○ Error

Page 26: モバイルVR「Daydream」について

Google VR SDK for Unity● GvrController

○ Orientation

Page 27: モバイルVR「Daydream」について

Google VR SDK for Unity● GvrController

○ Gyro○ Accel

Page 29: モバイルVR「Daydream」について

Compile● IL2CPP

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

○ 処理の高速化

○ NDK r10e■ UE4だとNDK r11c

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

Page 30: モバイルVR「Daydream」について

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

Page 31: モバイルVR「Daydream」について

対象年齢

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

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

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

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

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

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

Page 32: モバイルVR「Daydream」について

VR酔い

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

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

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

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

車酔いに似ている。

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

としたくなくなる

Page 33: モバイルVR「Daydream」について

プレゼンス(存在感)

Page 34: モバイルVR「Daydream」について

プレゼンス(存在感)● プレゼンスとは

○ キャラクターが「そこにいる」としか思えない

○ 自分が「ここにいる」と自然に思っている状態

● どういう状況で感じるか○ 自分のことをキャラクターが認知していると感じやすい

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

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

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

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

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

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

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

■ Oculus Riftの「Bullet Train」

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

スを破壊してしまう

Page 35: モバイルVR「Daydream」について

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

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

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

Page 36: モバイルVR「Daydream」について

Oculusベストプラクティス

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

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

Oculusベストプラクティス

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

Page 37: モバイルVR「Daydream」について

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