Я пытаюсь отобразить объект для каждой записи в базе данных и прикрепить текст, такой как URL, заголовок и описание, к каждому объекту в зависимости от их относительных записей в базе данных.
Пока у меня есть куб для каждой записи в БД, отображаемой на сцене, однако данные регистрируются как неопределенные. Из того, что я вижу, мой код должен работать, но на самом деле это не так.
getData()
async function getData() {
try {
var response = await fetch('/api/indexvr');
var data = await response.json();
for (var i = 0; i < data.length; i++) {
cube = new THREE.Mesh(geometry, material.clone());
cube.userData = {
id: data.id,
URL: `/vr/${data.id}/`,
title: data.title,
description: data.description
};
cube.position.x = i;
scene.add(cube);
console.log(cube.userData)
//group.add(data)
}
} catch (e) {
console.error(e)
}
}
Выше приведен код для извлечения каждой записи в моей коллекции MongoDB (это список путей к файлам и таких данных, какзаголовок файла, описание и метки).
Из примеров, которые я нашел, похоже, что 'userData' - путь.
В настоящее время я могу наводить курсор на объекты, и они меняют цвет с помощью Raycasting. В будущем, когда я преодолею это препятствие, я создам способ видеть текстовые данные, такие как заголовок, когда объект находится над курсором, и приводить к URL при нажатии.
Я новичок в three.js, и это сбивает меня с толку.