En este momento estás viendo Errores al actualizar Vuforia en Unity de la versión 9 a la versión 10

 – Unity

Errores al actualizar Vuforia en Unity de la versión 9 a la versión 10 – Unity

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

Deja una respuesta