Я пытаюсь загрузить модель коллады с помощью функции createObject и переместить мою колладу, изменив ее положение в функции animate ().
Я пытался объявить var mario, а затем вызвать init (); и оживить () ;.
В init (); Я вызываю функцию createObject и в animate изменяю ее положение, но объект никогда не определяется, поскольку в моем if ничего не происходит (mario! == undefined).
var mario;
init();
animate();
В init ():
createObject(mario,"dae/mario.dae",50,50,50,0,-28,0,0,0);
В анимации ():
requestAnimationFrame( animate );
if ( mario !== undefined ) {
console.log("working!");
mario.position.z += 1;
}
render();
stats.update();
Моя функция createObject ():
function createObject(object,src,size1, size2, size3, posX,posY, posZ, rotation,audio){
// loading manager
var loadingManager = new THREE.LoadingManager(function(){
scene.add( object );
});
// collada
var loader = new THREE.ColladaLoader( loadingManager );
loader.load( src, function ( collada ) {
object = collada.scene;
object.scale.set(size1,size2,size3);
object.position.x = posX;
object.position.y = posY;
object.position.z = posZ;
object.rotation.z = rotation;
object.traverse(function (child) {
if (child instanceof THREE.Mesh) {
child.castShadow = true;
child.receiveShadow = true;
}
});
if(audio)
object.add(audio);
});
}
Таким образом, объект загружен, но он не перемещается и console.log ничего не печатает.
Может кто-то помочь мне, пожалуйста ?
Спасибо.