Это мой код для загрузки моделей:
Код: Выделить всё
const dracoLoader = new DRACOLoader();
dracoLoader.setDecoderPath('jsm/libs/draco/gltf/');
const loader = new GLTFLoader();
loader.setDRACOLoader(dracoLoader);
function loadModel(loader, modelToLoad, jsonDestinationData, jsonItemInfo) {
loader.load(
modelToLoad,
function (gltf) {
const model = gltf.scene;
model.userData = {
description: jsonItemInfo.description,
type: jsonItemInfo.type
};
model.translateX(jsonDestinationData.length);
itemsToRead.push(model);
scene.add(model);
console.log(model.userData);
},
undefined,
function(e) {
console.error(e);
}
);
}
< /code>
[*]modelToLoad[*]
Код: Выделить всё
jsonDestinationData[*]
Код: Выделить всё
jsonItemInfoКод: Выделить всё
itemsToReadЭто мой код для Raycast: < /p>
Код: Выделить всё
raycaster.setFromCamera(mouse, camera);
var intersects = raycaster.intersectObjects(itemsToRead, true);
if (intersects.length > 0) {
var selectedObject = intersects[0].object;
console.log(selectedObject.userData);
}
можно добавить, чтобы добавить модели, чтобы добавить, чтобы добавить модели
, это можно добавить, чтобы добавить модели
). Есть ли что -то отсутствующее в функции Raycast, чтобы правильно извлечь данные или для этого случая эта операция невозможна?
Подробнее здесь: https://stackoverflow.com/questions/797 ... ving-userd
Мобильная версия