3

Unity用の最新のGoogle vr SDKでDivider、設定、および戻るボタンを無効にする方法を知っている人はいますか?

NativeUILayerSupported を false に設定して、従来の DrawUILayer に戻り値を設定しようとしましたが、それでも表示されます。

それを行う古い方法は現在完全に廃止されているようです。

4

5 に答える 5

0

UI Layer Settingsの下のCardboardスクリプトの設定を falseに無効にしてみてください。

コードからではなく、インターフェイスからこれを行います。

于 2016-09-12T09:25:18.540 に答える
-1

私のシナリオ:

  • ジャイロスコープ用のGvrを備えたGvr-Arアプリ(Gvr Eyesは、独自のカメラを使用して物をレンダリングしていません)
  • ポストレンダラークラス全体にコメントしました(つまり、レンズの歪みが計算されておらず、カメラのレンズ形状なしでフルスクリーンを使用できることも意味します)

私にとって何がうまくいったか(gvr 1.3を使用):

AndroidDevice.cs スクリプトに入り、### でマークされた次の行にコメントを付けます。

// Copyright 2015 Google Inc. All rights reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
#if UNITY_ANDROID && !UNITY_HAS_GOOGLEVR

using UnityEngine;

/// @cond
namespace Gvr.Internal {
  public class AndroidDevice : GvrDevice {
  //  private const string ActivityListenerClass =                    ######
  //      "com.google.vr.platform.unity.UnityVrActivityListener";     ######

    private static AndroidJavaObject activityListener;

    public override void Init() {
      SetApplicationState();
      base.Init();
      ConnectToActivity();
    }

    protected override void ConnectToActivity() {
      base.ConnectToActivity();
      if (androidActivity != null && activityListener == null) {
  //      activityListener = Create(ActivityListenerClass);            #####
      }
    }

    public override void SetVRModeEnabled(bool enabled) {
      CallObjectMethod(activityListener, "setVRModeEnabled", enabled);
    }

    public override void ShowSettingsDialog() {
   //   CallObjectMethod(activityListener, "launchConfigureActivity"); #####
    }

    public override void OnPause(bool pause) {
      base.OnPause(pause);
      CallObjectMethod(activityListener, "onPause", pause);
    }

    private void SetApplicationState() {
      if (activityListener == null) {
     //   using (var listenerClass = GetClass(ActivityListenerClass)) {  ###
    //      CallStaticMethod(listenerClass, "setUnityApplicationState"); ###
   //     }                                                            #####
      }
    }
  }
}
/// @endcond

#endif  // UNITY_ANDROID && !UNITY_HAS_GOOGLEVR

私は奇妙なシナリオを持っているので、vr モードが有効になっていてこれが機能しない場合は、SetVRModeEnabled() 関数の本文にコメントを付けることもできます。

于 2017-07-04T09:06:58.520 に答える