Ich mache Kopien von einem 3D JSON-Modell, das ich animiert habe, und es funktioniert, wenn ich nur 1 Modell in der Szene habe.Threejs Cloning Meshes Animation
Aber wenn ich versuche, einige Kopien zu machen, erscheint es den folgenden Fehler:
Uncaught Typeerror: kann nicht lesen Eigenschaft ‚0‘ von undefiniert.
Die folgende Funktion ist, wo der Fehler verweist:
for(i =0; i < enemics_generats; i++){
var enemic = dolent.clone(true); //Clone from original model
enemic.name = i.toString();
if (i > 5){//set 5 visible, the rest invisble
enemic.visible = false;
}
else{
enemic.visible = true;
}
enemic.box = new THREE.Box3().setFromObject(enemic);//Box collider
enemic.box_helper = new THREE.BoxHelper(enemic); //Box to be displayed on the scene
//ERROR IS ON THIS 2 FOLLOWING LANES
enemic.mixer = new THREE.AnimationMixer(enemic);
enemic.mixer.clipAction(enemic.animations[ 0 ]).play(); //HERE IS WHERE THE ERROR APPEARS
enemics.push(enemic);//Add to the array
scene.add(enemic);//Add to scene
scene.add(enemic.box_helper);
}
Vielen Dank für Ihre Zeit.
Wo Ihre Animationen Eigenschaft oder Funktion definiert ist. –
Der JSON-Loader liest die Animationen aus der Datei und speichert sie in der Animationseigenschaft. –
Also, "dolent" (das ist das ursprüngliche geladene Modell), hat die Animation im Inneren. –