Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/431.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何平移、旋转、缩放GLTF 3D模型(Three.js)_Javascript_Three.js_Translate_3d Model_Gltf - Fatal编程技术网

Javascript 如何平移、旋转、缩放GLTF 3D模型(Three.js)

Javascript 如何平移、旋转、缩放GLTF 3D模型(Three.js),javascript,three.js,translate,3d-model,gltf,Javascript,Three.js,Translate,3d Model,Gltf,我想知道在模型加载到场景后是否可以平移、旋转和缩放模型。另外,我正在寻找一种更好的方式来使用加载的,因为我有多个模型,我想添加到我的程序中,但我不想调用'loaded.load(…);每一次 以下是我使用的: var loader = new THREE.GLTFLoader(); loader.load( 'models/model_environment/scene.gltf', function ( gltf ) { cube_Geometry = new T

我想知道在模型加载到场景后是否可以平移、旋转和缩放模型。另外,我正在寻找一种更好的方式来使用加载的,因为我有多个模型,我想添加到我的程序中,但我不想调用'loaded.load(…);每一次

以下是我使用的:

var loader = new THREE.GLTFLoader();

loader.load( 'models/model_environment/scene.gltf', 
    function ( gltf ) {

        cube_Geometry = new THREE.BoxGeometry(10,10,10);
        cube_Material = new THREE.MeshNormalMaterial();
        cube_Mesh = new THREE.Mesh(cube_Geometry, cube_Material);
        cube_Mesh.position.set(0,5,0);
        canvas_Scene.add(cube_Mesh);
        canvas_Scene.add(gltf.scene);
        modelsLoaded = true;
    }, 
    undefined, 
    function ( error ) {
        console.error( error );
    } 
);
请注意,已加载的模型在Y轴(地面)上低于0:


我是否必须更改.bin和/或.gltf文件中的某些内容?以前从未使用过这些工具…在将
gltf.scene
添加到场景中时,如果首先将其声明为变量,则可以使用位置、旋转、缩放api
let model=gltf.scene;model.position.y=5。如果希望对gltf模型中的每个网格进行粒度控制,则需要遍历gltf.scene并定义每个模型,并根据需要进行操作。至于加载多个模型,您需要递归调用loader.load来加载每个模型。3.LoadingManager可能会帮助您管理它。太好了。谢谢你的回答。我会让你知道它是否对我有效。有点赶大学论文。可能会在一年后回复你