как изменить позицию FBXModel за три. js - PullRequest
0 голосов
/ 05 августа 2020

Я загрузил fbxmodel на localhost: 8080 с помощью threejs ,, а затем я хочу обновить атрибут модели, такой как позиция, с кодом:


    loader.load( 'models/train/train2.fbx', function ( train ) {     
                        train.traverse( function ( child ) {
                            if ( child.isMesh ) {
                                child.castShadow = true;
                                child.receiveShadow = true;
                            }
                        } );
                        train.scale.set(0.03,0.03,0.03);
                        train.position.set(-150,-2,200);
                        train.name="train";//set a name so i can find it in animate()
                        scene.add( train );
                    });


    function trainMove(){
                    var train=scene.getObjectByName("train");
                    if(train.position.z<PosValue)
                    //I input a int as PosValue so i can change the modle's position,make it a animation.
                        train.position.z++;
                    else
                        train.position.z--;
                }

Я использовал scene.getObjectByName("") чтобы получить модель, я хочу обновить позицию, но консоль дает мне Uncaught TypeError: Cannot read property 'positon' of undefined, когда я запускаю с chrome. Но я могу использовать этот метод, чтобы получить поезд (мою модель FBXModel) в chrome, ConsolePicture , как я могу получить модель и ее positon.z? Большое спасибо за вашу помощь. Спасибо за совет jscastro, и вот Codepen , извините, что у меня нет профессионала.

...