google vrと開発ノウハウ

41
2016/06/25 VRアプリ開発勉強会 GoogleVR開発ノウハウ GDG神戸 野田悟志

Upload: satoshi-noda

Post on 13-Feb-2017

658 views

Category:

Software


0 download

TRANSCRIPT

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

GoogleVRと開発ノウハウ

GDG神戸 野田悟志

2015年GDG神戸開催イベント

● 扱った言語/技術

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

● イベント

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

合計15回

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 Kobe05/28 Cardboard勉強会

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

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

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

自己紹介

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

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

Unity 5使って個人開発

2016年はVR勉強会いっぱいやってる

6/11にCV1来た!

Magic The ShouterOculusGameJam(VRGameJam)2015 大阪会場

2015/11/28-29

ディフェンス系ゲーム。迫ってくる

敵を、魔法を唱えて迎え撃つ。

OculusRift用ゲーム。

https://github.

com/ShingoKobayashi/MagicTheShoute

rProject/releases/tag/0.2

LOOK BACK WESTERNCardboardハッカソン

Unityクリエーターズ/GDG京都 2015/12/12-13

西部劇風早打ちゲーム。西部劇のガンマンのよ

うに、お互いに背を向けあい、3つ数えたら振り

返って撃つ。

Cardboard用ゲーム。

https://github.

com/scarviz/WesternHatsGunman/releases/tag/0.1.0

Google VR

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

Daydream-Ready

● Low Persistence Display

● High Performance SoCs

● Low Latency, High Quality Sensors

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

Dev Kit● Viewer

○ Cardboard

● Viewer Phone○ Nexus6P

(AndroidN DP4 or higher)

● Controller Emulator○ Android(API19 or

higher)

4

Controller Emulator● Connect

○ Bluetooth (not BLE)

Headset Settings (DP4)

Bluetoothを有効にし、コントローラとペアリングしておく位置情報が必要な場合は、Locationを有効にし、高精度に設定する

7回タップする

Google VR SDK for Unity

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

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フレーム後) */ }

}

Google VR SDK for Unity● GvrControllerState

○ Disconnected○ Scanning○ Connecting○ Connected○ Error

Google VR SDK for Unity● GvrController

○ Orientation

Google VR SDK for Unity● GvrController

○ Gyro○ Accel

開発ノウハウ

開発ノウハウ

1. 何をつくるか考える

2. AssetStoreを利用する

3. 音源サイトを利用する

4. GitHubを利用する

5. GoogleDriveなどの共有ストレージを利用する

6. 役割分担をする

1.何をつくるか考える

● ジャンルを何にするか○ ゲーム?癒し系?

■ さくっと面白いものを作るならゲームの方がおススメ

● ポイントになるものを1点決めておく○ これが一番良いといえる点を把握しておく

■ モチベーションにもつながる

■ 途中で迷わないように。ただし、こだわり過ぎないように

● Sceneはひとつにしておく○ 1日だけの開発で作れるものは限られる

■ 無理せず完成させることを考える

2.AssetStoreを利用する

● フリーでも使えるものは山ほどある○ フリーじゃなくても値段以上の価値はある

● 日本語でも検索できるが、英語でも検索してみる

● DemoSceneがあれば、土台はそのまま利用することもできる○ 別名でSceneを保存すればOK

● 3Dモデルの場合、アニメーションがついているものを選べば

楽○ 逆についていないと大変かも

● 商用利用もOK○ アプリに含めるのはOK。そのまま再配布してはダメ。

3.音源サイトを利用する

● 魔王魂○ http://maoudamashii.jokersounds.com/○ 豊富で利用規約も使いやすいようになっている。

○ 商用利用可。著作表記のみでOK。必ず規約は読むこと。

■ http://maoudamashii.jokersounds.com/music_rule.html

4.GitHubを利用する

● GitHubはこわくない○ それでも難しいんでしょって人向けに、GitのGUIツールもある

■ http://www.backlog.jp/git-guide/intro/intro2_1.html○ プログラマでないなら無理して使う必要はない(共有ストレージ参照)

● AssetStoreなどで入手したものはコミットに含めないように気

を付ける○ .gitignoreで対象のAssetのフォルダを指定すれば含まれない

○ 後から個別にImportすれば復元できる

○ .gitignoreファイルの例(そのままファイルを取得して、Import AssetsやBGMの

ところを自分のプロジェクトに合わせて変更すればOK)■ https://raw.githubusercontent.com/scarviz/WesternHatsGunman/master/.gitignore

5.GoogleDriveなどの共有ストレージを利用する

● 仕様やリソースファイルの共有に使う○ 拾ってきたリソースはGitHubで共有できないので、クローズドな共有ストレー

ジで受け渡しする

○ GoogleDriveだと共有権限がつけやすい(Gmailのアドレスが分かればOK)○ AssetStoreで取得したものはURLを載せる資料を用意しておくと、後々便利

6.役割分担をする

● Scene作成○ どこに何を配置するか

○ タイトルなどのUIをどうするか

■ CanvasのRender ModeはWorld Spaceで考える

● コード実装

● 素材集め○ Asset、音源、絵を探す

○ さくっと作れるなら作るのもあり

○ 素材が良ければ、それなりに見栄えのするものができる。逆に素材が甘いと

残念なものができるよ