создание блоков загрузки с помощью следующего кода:
function loadChunk (ndx){
var passId = "zChunk" + ndx;
var zPos = ndx * 24;
var addEl = document.createElement('a-entity');
addEl.setAttribute("id", passId);
addEl.setAttribute("gltf-model", "#bound");
addEl.object3D.position.set(0, 0, zPos);
sceneEl.appendChild(addEl);
}
теперь я пытаюсь удалить блоки слишком далеко от меня:
function stepLoad(cPos){
if (cPos / 24 - loadId < 0.5){
return;
}
else if(cPos > loadId){
loadId ++;
loadChunk(loadId + 12);
console.log('load');
sceneEl.removeChild(getElementById("zChunk" + (loadId -13)));
//retrieve chunk with (loadId - 12) and unload it
}
else{
return;
}
};
cPos - это положение камеры.
loadId отслеживает то, что я уже загрузил.
Итак, пока игнорируем, что нет кода для загрузки и выгрузки в другом направлении, который будет внутри оператора else. Прямо сейчас я смотрю на sceneEl.removechild, где я не могу создать правильную ссылку на элемент с идентификатором «zChunk-13». Я проверил, сгенерированный элемент имеет правильный идентификатор. Я предполагаю, что это как-то связано с математикой вложенности в getElementById, вложенном в removechild, даже если бы я мог заставить его работать с другим синтаксисом, я бы предпочел что-то более чистое. Какие-нибудь исправления?