scene.Add (Object) crea un "TypeEerror non impossibile: Impossibile leggere la" lunghezza "della proprietà di indefinito"
Domanda
Ottenere quell'errore nella mia console JavaScript (in Chrome) con un oggetto Collada che sto tentando di aggiungere con un caricatore di base. Viene specificamente dallo "scene.add (oggetto)" di esso. Tutto il resto sembra funzionare bene. Il codice per il caricamento dell'oggetto è il seguente
var ltable;
var furnLoad = new THREE.ColladaLoader();
function addlt(){
furnLoad.load('../Models/Furniture/foldingLongTable.dae', function(collada){
ltable = collada.scene;
ltable.scale.x=ltable.scale.y=ltable.scale.z=1;
ltable.updateMatrix();
ltable.position.x=ltable.position.z=ltable.position.y=0;
});
scene.add( ltable );
}
Questa funzione è chiamata durante l'inizio di una pagina che, altrimenti, funziona bene. Quella pagina può essere trovata qui(Versione senza questa tabella ha lo stesso URL ad eccezione di un 4 anziché a 3 alla fine) e l'oggetto specifico qui.
Quale sarebbe il modo consigliato per superare questo errore?
Soluzione
Risolto. I caricatori Collada odiano solo far parte di qualsiasi funzione e non funzionano quando sono dentro. Quindi la correzione è averli al di fuori delle funzioni e funzionano bene.
Altri suggerimenti
La risposta a questo problema è dovuta alla posizione del scene.add()
essere al di fuori della funzione di callback. Viene chiamato prima che il callback spara, quindi l'errore indefinito.