Errores al actualizar Vuforia en Unity de la versión 9 a la versión 10
– UnityAssets3Free
hola , me llamo Juan y para hoy os traigo
esta unity pregunta
No se encontró el tipo o el nombre del espacio de nombres ‘SmartTerrain’ (¿falta una directiva de uso o una referencia de ensamblado?)
No se encontró el tipo o el nombre del espacio de nombres ‘PositionalDeviceTracker’ (¿falta una directiva de uso o una referencia de ensamblado?)
Estos errores no estaban en la versión 9 pero en la versión 10 están afectando el flujo del proyecto, por favor ayuda
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System;
using Vuforia;
public class ARManager : MonoBehaviour
{
public PlaneFinderBehaviour finder;
SmartTerrain smartTerrain;
PositionalDeviceTracker positionalDeviceTracker;
...........
1 respuesta 1
tl; Dr: Estos tipos ya no existen porque ya no son necesarios.
empezaría en Vuforia – Guía de migración para proyectos Vuforia Engine Unity.
En general, para cualquier biblioteca de software, no es improbable que las cosas y la API cambien entre las versiones principales; de hecho, ¡este cambio disruptivo es una de las razones principales para lanzar una nueva versión principal!
Esta página documenta los cambios entre Vuforia Engine versión 9.8 y versión 10 cómo ha cambiado fundamentalmente la API. Use esta descripción general para obtener más información sobre los cambios nativos y para migrar sus proyectos existentes a la nueva API.
Así que lea qué usar o qué cambió en la API => qué tú tiene que cambiar su código para adoptar, o quedarse con la versión 9 si funcionó para usted y no necesita las funciones más nuevas;)
En sus casos específicos
plano de la tierra
Se han cambiado algunas API de plano de tierra más avanzadas. Es posible que sea necesario adaptar las aplicaciones que usaban no solo los objetos de juego anteriores, sino también API de secuencias de comandos en tiempo de ejecución adicionales.
El rastreador de terreno inteligente fue removido. Ya no es necesario administrarlo manualmente. En consecuencia, la verificación de soporte del plano de tierra en tiempo de ejecución ha cambiado.
Motor Vuforia 9.8:
SmartTerrain smartTerrain = TrackerManager.Instance.GetTracker<SmartTerrain>();
if (smartTerrain == null)
Debug.Log("SmartTerrain returned null. GroundPlane not supported on this device.");
Motor Vuforia 10.0:
if (VuforiaBehaviour.Instance.World.AnchorsSupported == false)
Debug.Log("GroundPlane not supported on this device.");
y
seguimiento de dispositivos
El acceso al seguimiento de dispositivos se ha simplificado y ahora está disponible de forma centralizada a través de VuforiaBehaviour.Instance.DevicePoseBehaviour
.
Restablecimiento del seguimiento del dispositivo
Motor Vuforia 9.8:
var deviceTracker = TrackerManager.Instance.GetTracker<PositionalDeviceTracker>();
deviceTracker.Reset();
Motor Vuforia 10.0:
VuforiaBehaviour.Instance.DevicePoseBehaviour.Reset();
Suscribirse a actualizaciones de estado de seguimiento de dispositivos
Motor Vuforia 9.8:
private void Start()
DeviceTrackerARController.Instance.RegisterDevicePoseStatusChangedCallback(OnDevicePoseStatusChanged);
void OnDevicePoseStatusChanged(Vuforia.TrackableBehaviour.Status status, Vuforia.TrackableBehaviour.StatusInfo statusInfo)
Debug.Log("OnDevicePoseStatusChanged(" + status + ", " + statusInfo + ")");
…
Motor Vuforia 10.0:
private void Start()
VuforiaBehaviour.Instance.DevicePoseBehaviour.OnTargetStatusChanged += OnDevicePoseStatusChanged;
void OnDevicePoseStatusChanged(ObserverBehaviour behaviour, TargetStatus targetStatus)
Debug.Log("OnDevicePoseStatusChanged(" + targetStatus.Status + ", " + targetStatus.StatusInfo + ")");
Activación y desactivación del seguimiento de dispositivos
Motor Vuforia 9.8:
public void ToggleDeviceTracking(bool enableDeviceTracking)
var posDeviceTracker = TrackerManager.Instance.InitTracker<PositionalDeviceTracker>();
if (enableDeviceTracking)
posDeviceTracker.Start();
else
posDeviceTracker.Stop();
Motor Vuforia 10.0:
public void ToggleDeviceTracking(bool enableDeviceTracking)
VuforiaBehaviour.Instance.DevicePoseBehaviour.enabled = enableDeviceTracking;
nota: si aun no se resuelve tu pregunta por favor dejar un comentario y pronto lo podremos de nuevo , muchas gracias
por hoy,espero que te halla servido