The type or namespace name 'SmartTerrain' could not be found (are you missing a using directive or an assembly reference?)
The type or namespace name 'PositionalDeviceTracker' could not be found (are you missing a using directive or an assembly reference?)
Этих ошибок не было в версии 9, но в версии 10 они влияют на ход проекта, пожалуйста, помогите мне.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System;
using Vuforia;
public class ARManager : MonoBehaviour
{
public PlaneFinderBehaviour finder;
SmartTerrain smartTerrain;
PositionalDeviceTracker positionalDeviceTracker;
...........
тл;др: Эти типы больше не существуют, так как они больше не нужны.
Я бы начал с Vuforia — Руководство по миграции для проектов Unity Vuforia Engine.
В общем, для любой библиотеки программного обеспечения вполне вероятно, что вещи и API меняются между основными версиями - действительно, такое критическое изменение является одной из основных причин для выпуска новой основной версии вообще!
This page documents the changes between Vuforia Engine version 9.8 and version 10 as the API has fundamentally changed. Use this overview to learn about the native changes and for migrating your existing projects to the new API.
Так что прочитайте, что использовать вместо этого или что изменилось в API => что ты нужно изменить в вашем коде, чтобы принять - или придерживайтесь версии 9, если она работает для вас, и вам не нужны новейшие функции;)
В ваших конкретных случаях
Ground Plane
Some more advanced Ground Plane APIs have changed. Apps that were using not just the game objects above, but additional runtime scripting APIs might have to be adapted.
The Smart Terrain Tracker has been removed. It no longer needs to be managed manually. Consequently, checking for Ground Plane support at runtime has changed.
Vuforia Engine 9.8:
SmartTerrain smartTerrain = TrackerManager.Instance.GetTracker<SmartTerrain>(); if (smartTerrain == null) Debug.Log("SmartTerrain returned null. GroundPlane not supported on this device.");
Vuforia Engine 10.0:
if (VuforiaBehaviour.Instance.World.AnchorsSupported == false) Debug.Log("GroundPlane not supported on this device.");
и
Device Tracking
Access to device tracking has been simplified and is now available centrally through
VuforiaBehaviour.Instance.DevicePoseBehaviour
.Resetting Device Tracking
Vuforia Engine 9.8:
var deviceTracker = TrackerManager.Instance.GetTracker<PositionalDeviceTracker>(); deviceTracker.Reset();
Vuforia Engine 10.0:
VuforiaBehaviour.Instance.DevicePoseBehaviour.Reset();
Registering to updates to the device tracking status
Vuforia Engine 9.8:
private void Start() { DeviceTrackerARController.Instance.RegisterDevicePoseStatusChangedCallback(OnDevicePoseStatusChanged); } void OnDevicePoseStatusChanged(Vuforia.TrackableBehaviour.Status status, Vuforia.TrackableBehaviour.StatusInfo statusInfo) { Debug.Log("OnDevicePoseStatusChanged(" + status + ", " + statusInfo + ")"); … }
Vuforia Engine 10.0:
private void Start() { VuforiaBehaviour.Instance.DevicePoseBehaviour.OnTargetStatusChanged += OnDevicePoseStatusChanged; } void OnDevicePoseStatusChanged(ObserverBehaviour behaviour, TargetStatus targetStatus) { Debug.Log("OnDevicePoseStatusChanged(" + targetStatus.Status + ", " + targetStatus.StatusInfo + ")"); }
Enabling and disabling Device Tracking
Vuforia Engine 9.8:
public void ToggleDeviceTracking(bool enableDeviceTracking) { var posDeviceTracker = TrackerManager.Instance.InitTracker<PositionalDeviceTracker>(); if (enableDeviceTracking) posDeviceTracker.Start(); else posDeviceTracker.Stop(); }
Vuforia Engine 10.0:
public void ToggleDeviceTracking(bool enableDeviceTracking) { VuforiaBehaviour.Instance.DevicePoseBehaviour.enabled = enableDeviceTracking; }
@rew вы вообще читали ответ и документ по миграции? ;) Вкратце: Эти типы больше не существуют, так как они больше не нужны. -> Итак, что делать: удалить эти поля и реорганизовать код в соответствии со связанной документацией по миграции.
Привет, я добавил строки, отредактировав вопрос, пожалуйста, посмотрите, ошибки только в части объявления, а не в рабочей части, я думаю, что мне не хватает какого-то файла заголовка или пространства имен... Пожалуйста, посмотрите на линии и скажите мне, что делать ..