scene.Add (Object) crea un "TypeEerror non impossibile: Impossibile leggere la" lunghezza "della proprietà di indefinito"

StackOverflow https://stackoverflow.com/questions/8381584

  •  28-10-2019
  •  | 
  •  

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?

È stato utile?

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top