Android Google VR Unity Divider,设置和后退按钮隐藏在v0.9中

Android Google VR Unity Divider,设置和后退按钮隐藏在v0.9中,android,unity3d,google-vr,Android,Unity3d,Google Vr,有人知道如何在最新的google vr sdk for unity中禁用分隔符、设置和后退按钮吗 我尝试将NativeUILayerSupported设置为false,并在遗留的DrawUILayer中添加一个返回值,但它仍然显示 现在看来,较旧的操作方法已被完全弃用。尝试禁用用户界面层设置下硬纸板脚本上的设置 从界面而不是代码执行此操作。我使用的是适用于Android的Google VR SDK,而不是Google VR Unity,这是我的解决方案: 在android中,不推荐使用的隐藏两个

有人知道如何在最新的google vr sdk for unity中禁用分隔符、设置和后退按钮吗

我尝试将NativeUILayerSupported设置为false,并在遗留的DrawUILayer中添加一个返回值,但它仍然显示


现在看来,较旧的操作方法已被完全弃用。

尝试禁用用户界面层设置下硬纸板脚本上的设置


从界面而不是代码执行此操作。

我使用的是适用于Android的Google VR SDK,而不是Google VR Unity,这是我的解决方案:

在android中,不推荐使用的隐藏两个按钮的方法是

// called by VrView
setSettingsButtonEnabled(false);
因为现在无法使用它,所以只需找到这两个按钮并自己隐藏即可:

findViewById(R.id.ui_back_button).setVisibility(GONE);
findViewById(R.id.ui_settings_button).setVisibility(GONE);

对于iOS,请尝试更改以下内容: 在Unity中,Plugins/iOS/CardboardAppController.mm->

@implementation CardboardAppController

- (UnityView *)createUnityView {
  UnityRegisterViewControllerListener(self);
  UnityRegisterAudioPlugin(UnityGetAudioEffectDefinitions);
  UnityView* unity_view = [super createUnityView];
  //createUiLayer(self, (UIView *)unity_view); <- comment this line
  return unity_view;
}
@实现CardboardAppController
-(UnityView*)创建UnityView{
UnityRegisterViewControllerListener(自我);
UnityRegisterAudioPlugin(UnityGetAudioEffectDefinitions);
UnityView*unity_视图=[super createUnityView];

//createUiLayer(self,(UIView*)unity_view);@PerryHart我在使用Google VR SDK时遇到了同样的问题。问题是在最新版本的GVR SDK中,没有界面来禁用按钮和其他UI层。但Google VR SDK 0.8及以下版本提供了一个界面,您可以通过该界面轻松操作

从代码中禁用这些层非常复杂,我花了2周的时间通过GVR1.xx版本中的代码来完成这些工作

您可以下载我的场景:

  • Gvr-Ar应用程序,带Gvr,仅用于陀螺仪(Gvr眼睛不渲染物体,使用自己的相机)
  • 评论了整个后期渲染器类(这也意味着我没有计算镜头分割,可以在没有镜头形状的情况下使用全屏)
什么对我有效(使用gvr 1.3):

进入AndroidDevice.cs脚本,并对以下标有###


我有一个wierd场景,因此如果您启用了vr模式,但这不起作用,您也可以尝试对SetVRModeEnabled()函数的主体进行注释

“看来旧的方法现在已经完全不推荐了”什么是旧的方法?SDK的早期版本只是有一个复选框(可能是下拉框)关于是否显示后退按钮,您仍然可以通过浏览github repo中的标记找到SDK的旧版本。实际上,注释或删除这些标记非常重要:activityListener=Create(ActivityListenerClass);
// 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