works with unity tutorial services quickstart gvr google for cardboard android unity3d google-vr

android - with - Divisor de unidad de Google VR, configuración y botón Atrás ocultos en v0.9



unity vr android (5)

¿Alguien sabe cómo deshabilitar el separador, la configuración y el botón Atrás en la última versión de google vr sdk para la unidad?

Intenté configurar NativeUILayerSupported en false y poner un retorno en el DrawUILayer heredado, pero todavía se muestra.

Parece que las formas antiguas de hacerlo ahora están totalmente desaprobadas.


Intente deshabilitar la configuración de su secuencia de comandos de la cartulina en Configuración de capa de la interfaz de usuario en falso.

Haz esto desde la interfaz y no desde el código.


Estoy usando el SDK de Google VR para Android, no el Google VR Unity, y esta es mi solución:

En Android, el método obsoleto para ocultar dos botones es

// called by VrView setSettingsButtonEnabled(false);

Como ahora no puedo usarlo, solo encuentra estos dos botones y ocúltalo yo mismo:

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


Para iOS intente cambiar lo siguiente: En 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; }


@PerryHart estaba atrapado en el mismo problema mientras usaba Google VR SDK. El problema está en las últimas versiones de GVR SDK. No hay interfaz para desactivar botones y otras capas de IU. Pero Google VR SDK 0.8 y menos de 0.8 proporciona una interfaz a través de la cual puedes hacerlo fácilmente.

Deshabilitar estas capas del código es un complejo silencioso y perdí mis 2 semanas para hacer esto a través del código en la versión GVR 1.xx.

Puede descargar Google VR SDK 0.8.0 desde aquí.


Mi escenario:

  • Aplicación Gvr-Ar con Gvr para solo The Gyroscope (Gvr Eyes no está representando nada, usando cámaras propias)
  • Comentó la clase completa de Renderer de mensajes (lo que también significa que no tengo cálculo de distorsión de lente, y puedo usar la pantalla completa sin la forma del lente en las cámaras)

Lo que funcionó para mí (usando gvr 1.3):

ingrese a la secuencia de comandos de AndroidDevice.cs y comente las siguientes líneas marcadas con algunos ###

// 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

Tengo un Escenario raro, por lo que si tienes habilitado el modo vr y esto no funciona, podrías intentar también comentar el cuerpo de la función SetVRModeEnabled ()