首页 > 解决方案 > 如何在 three.js 中更改 FBXModel 的位置

问题描述

我已经用threejs加载了一个fbxmodel到localhost:8080,然后我想用代码更新模型的属性,例如位置:

    loader.load('models/train/train2.fbx', function (train) {     
                        train.traverse(函数(子){
                            如果(孩子.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";//设置一个名称,以便我可以在 animate() 中找到它
                        场景.add(火车);
                    });


    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 运行时,控制台会给我。但是我可以使用这种方法在 chrome、ConsolePicture中获取火车(我的 FBXModel),我如何获取模型及其 positon.z?非常感谢您的帮助。感谢 jscastro 的建议,这里是Codepen,很抱歉我没有专业人士。

标签: three.jsfbx

解决方案


推荐阅读