Я попробовал простой подход: я создал сериализованный словарь, который сопоставлял идентификатор штрих-кода с соответствующими 3D-моделями, и использовал vuforia для сканирования штрих-кода (прикрепил простой сценарий сканирования штрих-кода) и изменил сценарий, в котором он загружал модель при сканировании соответствующего штрих-кода.
Код: Выделить всё
public class SimpleBarcodeScanner : MonoBehaviour
{
public TMPro.TextMeshProUGUI barcodeAsText;
BarcodeBehaviour mBarcodeBehaviour;
public DictionarySerializer dictionarySerializer;
private GameObject prevModel;
void Start()
{
mBarcodeBehaviour = GetComponent();
prevModel = null;
}
// Update is called once per frame
void Update()
{
if (mBarcodeBehaviour != null && mBarcodeBehaviour.InstanceData != null)
{
string barcodeText = mBarcodeBehaviour.InstanceData.Text;
barcodeAsText.text = barcodeText;
Debug.Log("Scanned Barcode ID: " + barcodeText);
if (dictionarySerializer.GetObjectsDictionary() != null && dictionarySerializer.GetObjectsDictionary().ContainsKey(barcodeText))
{
// Get the corresponding GameObject from the dictionary
GameObject model = dictionarySerializer.GetObjectsDictionary()[barcodeText];
Debug.Log("Loading Model: " + model.name);
// Activate the model
model.SetActive(true);
prevModel = model;
}
}
else if(mBarcodeBehaviour.InstanceData == null)
{
Debug.Log("Barcode not found ");
if (prevModel != null)
{
prevModel.SetActive(false);
prevModel = null;
}
}
}
- это загрузило модель при сканировании ее штрих-кода, но она все равно остается на экране, даже когда я удаляю штрих-код.
как мне реализовать это правильно?
Подробнее здесь: https://stackoverflow.com/questions/784 ... ode-scanni