MRUK смешанная реальность - возникает проблемы с редактированием эффекта устройства (Meta Unity)C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 MRUK смешанная реальность - возникает проблемы с редактированием эффекта устройства (Meta Unity)

Сообщение Anonymous »

Я пытаюсь отредактировать эффект пользователя. У меня есть программа, которая находит конкретный якорь, а затем меняет текстуру только этого якоря, например, потолок изменится от камня к дереву. Тем не менее, это работает только в том случае, если я установил источник данных MRUK в Prefab. Если я установите его на устройство или устройство с помощью Prefab Swarkback (оно должно быть на устройстве или устройстве с приготовлением Prefab), оно больше не функционирует и дает мне ошибку, показанную ниже в изображении и в тексте:

nullReferenceException: ссылка на объект не установлен на экземпляр объекта < /p>
textureChange+< waitforeffectmeshenchengence> d__4.movenext () (At Assets /textureChange.cs: 22) < /p>
вот код, который я использую ниже. Почему у меня есть эта ошибка, и как я могу ее исправить? Кроме того, настройки MRUK:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Meta.XR.MRUtilityKit;

public class TextureChange : MonoBehaviour
{
[SerializeField] private EffectMesh ceilingEffectMesh;
public Material meshMaterial;
public Texture texture1;

// Start is called before the first frame update
void Start()
{
StartCoroutine(WaitForEffectMeshThenChange());
}

private IEnumerator WaitForEffectMeshThenChange()
{
var room = MRUK.Instance.GetCurrentRoom();

while (room.CeilingAnchor &&
!ceilingEffectMesh.EffectMeshObjects.ContainsKey(room.CeilingAnchor))
{
yield return null;
}

var wrapper = ceilingEffectMesh.EffectMeshObjects[room.CeilingAnchor];
var meshGo = wrapper.effectMeshGO;
if (!meshGo)
{
Debug.LogError("No effectMeshGO found on wrapper!");
yield break;
}

meshGo.transform.SetParent(null, /* worldPositionStays= */ true);

meshMaterial = meshGo.GetComponent().material;

meshMaterial.mainTexture = texture1;
}

// Update is called once per frame
//void Update()
//{
// meshMaterial.mainTexture = texture1;
//}
}
< /code>
Вот несколько скриншотов, которые также показывают, как он выглядит, когда он работает и не работает. Как показано, изменение текстуры потолка, если она работает:
Работа с включенной префабацией < /p>
не работает с устройством или устройством с включенным отказа 30 ошибок < /li>
Я попытался переписать код
У меня действительно плохое понимание того, как редактировать определенные теги эффекта, поэтому я много боролся с этим. < /Li>
< /ul>

Подробнее здесь: https://stackoverflow.com/questions/797 ... -meta-unit
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • MRUK смешанная реальность - возникает проблемы с редактированием эффекта устройства (Meta Unity)
    Anonymous » » в форуме C#
    0 Ответы
    4 Просмотры
    Последнее сообщение Anonymous
  • MRUK смешанная реальность - возникает проблемы с редактированием эффекта устройства (Meta Unity)
    Anonymous » » в форуме C#
    0 Ответы
    4 Просмотры
    Последнее сообщение Anonymous
  • MRUK смешанная реальность - возникает проблемы с редактированием эффекта устройства (Meta Unity)
    Anonymous » » в форуме C#
    0 Ответы
    5 Просмотры
    Последнее сообщение Anonymous
  • MRUK смешанная реальность - возникает проблемы с редактированием эффекта устройства (Meta Unity)
    Anonymous » » в форуме C#
    0 Ответы
    5 Просмотры
    Последнее сообщение Anonymous
  • Unity — дополненная реальность
    Anonymous » » в форуме Android
    0 Ответы
    31 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»