これからはVRが熱いらしいです。Unity歴が実質1週間ちょっとのミジンコ並みな僕ですが、流行には乗る権利ぐらいはあるはず・・・。
というわけで、Google Cardboard SDKを使ってみることにしました。まあ Cardboardもハコスコも持ってないんでとりあえず二眼カメラを置いて満足することにします。
開始!
とりあえず公式サイトへ行ってSDKを落とします。
https://developers.google.com/cardboard/unity/download
英語だらけで健康優良日本男児の僕にはよくわかりませんが、「>direct link to unitypackage」とかいうそれっぽいリンクをクリックすれば大丈夫でしょう、多分。
1分経過
とりあえずUnityプロジェクトを作ります。名前は漢らしく「Test」で良いでしょう。
2分経過
プロジェクトが出来たら早速さっき落としたunitypackageをダブルクリックしてインポートしてしまいましょう。
よくわかりませんが「Legacy」って書いてあるフォルダは未来に生きる我々にはいらんでしょう。チェック外しておきます。
3分経過
地面が欲しいので適当にTerrain敷いときます。殺風景なのも嫌なので好きなテクスチャでも貼っておきましょう。
僕は迷ったらStandard Assetに含まれているGrassHillAlbedoを貼ってます。
Main Cameraは多分いらなくなるので、消しちゃいましょう。
4分経過
いよいよ二眼カメラを置きます。使ったことないパッケージを使うときはとりあえずPrefabフォルダ内を見てみます。
「CardboardMain.prefab」ってのを見つけました。きっとこれでしょう。
地面以外何もないのも寂しいので適当にCubeでも蒔いときましょう。
さあ、再生ボタンを押しましょう。
5分経過
やった!映った!これで僕も流行に乗れたぞ!
_人人人人人人人人_
> でも動けない <
 ̄Y^Y^Y^Y^Y^Y^Y ̄
ロスタイム
ちょっとずるい気もしますが、Hierarchy内のCardboardMainにCharacterControllerを追加して、キーボード操作を受け取るスクリプトを書いてしまいましょう。
using UnityEngine;
using System.Collections;
public class CardboardMain : MonoBehaviour {
float verocity = 5.0f;
CharacterController controller;
void Start () {
controller = GetComponent<CharacterController>();
}
void Update () {
Vector3 moveVector = new Vector3(Input.GetAxis("Horizontal"), 0, Input.GetAxis("Vertical"));
moveVector *= verocity;
controller.Move(moveVector * Time.deltaTime);
}
}
いい感じに左右の視差が見てとれますね!
感想
とりあえず今回はお試しということでカメラを置いただけですが、特に詰まることも無くVRが実現できましたね。
オブジェクトの配置は普通のプロジェクト同様に出来るとして、後は視点を利用した操作のやり方さえ判れば簡単なVR操作のアプリケーション作りが出来てしまいそうです。
Cardboardは先ほどAmazonでポチったので、届いたらもう少し色々と試してみようと思います。
余談
アプリケーションは5分で出来ましたが、記事を書くのには50分かかりました(^p^)