LoginSignup
3
5

More than 5 years have passed since last update.

Google VR SDK for iOSを試してみた

Posted at

簡単な使い方

1.CocoaPodsを使って導入する。

Podfile
target アプリ名 do
  pod 'GVRSDK'
end

2.Bridging-Headerファイルを作る。
(*Build Settingsへの追加をお忘れなく。)

Bridging-Header.h
#import "GVRPanoramaView.h"
#import "GVRWidgetView.h"
#import "GVRVideoView.h"

3.パノラマ写真なら「GVRPanoramaView」、動画なら「GVRVideoView」を使う。

例)パノラマ写真

panoramaView.swift
//変数宣言
var panoramaView: GVRPanoramaView!

//デリゲートとボタン表示の設定
panoramaView.delegate = self
panoramaView.enableFullscreenButton = true
panoramaView.enableCardboardButton = true

//loadメソッドを使って画像を表示する。
let panoramaImage = UIImage(named: "panorama.jpg")
panoramaView.load(panoramaImage)
//または
pano.load(panoramaImage, of: <GVRPanoramaImageType>)
/*
PanoramaImageTypeはkGVRPanoramaImageTypeMonoかkGVRPanoramaImageTypeStereoOverUnder
panoramaView.load(panoramaImage)の場合はkGVRPanoramaImageTypeMonoとなる。
*/

例)360度動画

videoView.swift
//変数宣言
var videoView: GVRVideoView!

//デリゲートとボタン表示の設定
videoView.delegate = self
videoView.delegate = true
videoView.delegate = true

//loadメソッドを使って動画を表示する。
let videoPath = Bundle.main.path(forResource: "sample", ofType: "mp4")
//URLで読み込むため変換
let videoUrl: URL = URL(fileURLWithPath: videoPath!)
videoView.load(videoUrl)
/*
もちろんサーバー上にあるファイルも指定可能。
HSL対応なので環境さえ揃えればストリーミング配信もできる。
*/

あとは適宜デリゲートメソッドを実装していく。
主なメソッドは下記、細かなことはリファレンスで確認を。

video.swift
//コンテンツのロードが成功した時に呼ばれるデリゲートメソッド
func widgetView(_ widgetView: GVRWidgetView!, didLoadContent content: Any!) {
}

//コンテンツのロードが失敗した時に呼ばれるデリゲートメソッド
func widgetView(_ widgetView: GVRWidgetView!, didFailToLoadContent content: Any!, withErrorMessage errorMessage: String!) {
}

//画面がタップされた時に呼ばれるデリゲートメソッド
func widgetViewDidTap(_ widgetView: GVRWidgetView!) {
}

使ってみた感想

360度のパノラマ写真とか動画をみるアプリなら十分イケる。
でもcardboard対応ゲーム(SceneKitと組み合わせるとか)を作るのはけっこう面倒。
(ググった限りは使用例はGVR-SceneKitくらい。)
Unity向けSDKも用意されているのでゲーム用途なら素直にそっちを使った方が断然楽。
Daydreamに対応しているので今年リリースされる予定の「VIVE standalone headset with Daydream」と「Lenovo standalone headset with Daydream」に期待。

3
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
5