#c# #anchor #vuforia #gameobject
#c# #привязка #vuforia #gameobject
Вопрос:
Я следую руководству от udemy, но обнаружил ошибку, которую не могу решить. Моя версия unity — 2018.2.21f1, а версия vuforia — 7.5.26. Это сообщение, которое он публикует: Не удается неявно преобразовать ‘Vuforia.Привязка’ к ‘UnityEngine.GameObject’. Ошибка в строке «myAnchor = m_Positional …». Заранее спасибо :/
// Создать и разместить новый элемент
private void PlaceNewItem(HitTestResult result)
{
m_PlaneFinder.gameObject.SetActive(true);
GameObject anchorGO = null;
GameObject myAnchor = null;
if (m_PositionalDeviceTracker != null amp;amp; m_PositionalDeviceTracker.IsActive)
{
myAnchor = m_PositionalDeviceTracker.CreatePlaneAnchor("MyItemAnchor_" ( m_AnchorCounter), result);
// myAnchor.name = "PlaneAnchor" (m_AnchorCounter);
anchorGO = new GameObject();
anchorGO.transform.position = result.Position;
anchorGO.transform.rotation = result.Rotation;
anchorGO.name = "PlaneAnchor" (m_AnchorCounter);
}
}
Ответ №1:
Это похоже на объект, который вы получаете при вызове
m_PositionalDeviceTracker.CreatePlaneAnchor("MyItemAnchor_" ( m_AnchorCounter), result);
Имеет другой тип, чем GameObject
. Вы могли бы попробовать изменить его на
myAnchor = m_PositionalDeviceTracker.CreatePlaneAnchor("MyItemAnchor_" ( m_AnchorCounter), result) as GameObject;
И посмотрите, решит ли это вашу проблему, но я думаю, что она станет нулевой. Скорее всего, вам нужно каким-то образом преобразовать Vuforia.При необходимости привязать объект к вашему GameObject.
В противном случае вы могли бы попробовать использовать динамический:
private void PlaceNewItem(HitTestResult result)
{
m_PlaneFinder.gameObject.SetActive(true);
GameObject anchorGO = null;
dynamic myAnchor = null;
if (m_PositionalDeviceTracker != null amp;amp; m_PositionalDeviceTracker.IsActive)
{
myAnchor = m_PositionalDeviceTracker.CreatePlaneAnchor("MyItemAnchor_" ( m_AnchorCounter), result);
// myAnchor.name = "PlaneAnchor" (m_AnchorCounter);
anchorGO = new GameObject();
anchorGO.transform.position = result.Position;
anchorGO.transform.rotation = result.Rotation;
anchorGO.name = "PlaneAnchor" (m_AnchorCounter);
}
}