Unityメモ – Cloud BuildでGoogleVR版とGearVR版両方ビルドする様にしてみる(Unity5.6版)

Posted: 2017年7月10日 カテゴリー: プログラミングメモ, Unity, Unity メモ, VR
タグ:, , , , , ,

以前に書いた記事ですが、UnityのGoogleVRネイティブ対応によって少し変わりましたので、変更部分を紹介します。え、元記事を更新しろ?いや、そんなメンドk・・・

GearVR用apkのビルド
まずGearVR用のビルドの仕方を紹介します。
Player Settings>Other Settings> Virtual Reality SDKs
のVR用SDK一覧に”Oculus”を追加して一番上になる様に配置してください(GearVR向けなら他は消しても大丈夫です)。

後はアンドロイド向けにビルドすればGearVR様にビルドされます。

 

ビルド用のスクリプト
CloudBuild上の設定は前の時と殆ど同じなので、まずそちらを参照してください
– Cloud BuildでGoogleVR版とGearVR版両方ビルドする様にしてみる

今回の変更点はビルド時に呼び出すスクリプトの処理で、VirutalRealitySupportedをオンにするだけの代わりにSDKsの設定も行う処理を追加します。

まずGearVR用の処理を実装します:

using UnityEditor;

//デバイス名の定数宣言
 public class VRDeviceTypes
 {
 public const string _NONE = "None";
 public const string _OCULUS = "Oculus";
 public const string _CARDBOARD = "cardboard";
 public const string _DAYDREAM = "daydream";
 }

public class BuildSetup
{
// GearVR版のアプリの名前に付け足す文字
public const string GEAR_VR_TEXT = "_Gear";

public static void SetupGearVR()
{
PlayerSettings.virtualRealitySupported = true;
PlayerSettings.productName += GEAR_VR_TEXT;

// デバイス設定
string[] devices = new string[] { VRDeviceTypes._OCULUS };
UnityEditorInternal.VR.VREditor.SetVREnabledDevicesOnTargetGroup(BuildTargetGroup.Android, devices);
}
}

まずVR設定をオンにし、その後に使用するデバイスの配列を作成しています。この配列は1眼2眼切替で紹介した使用するデバイス指定と同じ文字列を使用して宣言します。次にVREditor.SetVREnabledDevicesOnTargetGroup()はプラットフォームの指定と、宣言したデバイスの配列を受け渡す事でVirtual Reality SDKs設定を上書きする事ができます。

次にCardboard用の処理です。中身は基本的に同じで、デバイス宣言が主な変更箇所です:

 public static void SetupCardboard(BuildTargetGroup buildTarget)
 {
 PlayerSettings.virtualRealitySupported = true;
 string[] devices = new string[] { VRDeviceTypes._NONE, VRDeviceTypes._CARDBOARD };
 UnityEditorInternal.VR.VREditor.SetVREnabledDevicesOnTargetGroup(buildTarget, devices);
 }

プラットフォームを引数から取っているのは、AndroidとiOSどちらにも対応できるようにする為です。あとはこれの呼び出し処理です

public static void SetupCardboardAndroid()
{
SetupCardboard(BuildTargetGroup.Android);
}

public static void SetupCardboardiOS()
{
SetupCardboard(BuildTargetGroup.iOS);
}

これで準備完了です。後はCloudBuildのビルド設定で各メソッドの呼び出しを行うだけです。

 

Cardboard(Android)向け

 

GearVR向け

 

以上になります。

長らくぐだってたから脳みそのリハビリせねば・・・

 

コメント
  1. […] Unityメモ – Cloud BuildでGoogleVR版とGearVR版両方ビルドする様にしてみる(Uni… […]

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中