小编The*_*tor的帖子

Three.js:使用THREE.SceneUtils.attach / detach函数添加和删除子对象的正确方法

使用three.js,并改编了此处提供的West Langley文章中的说明: Three.js:添加和删除旋转对象的子代,我设置了一个WebGL场景,其中添加了五个立方体网格。最初,所有对象都是场景的子级,然后,我将它们附加到第五个“ parentCube”多维数据集,并沿Y轴平移100个单位,从而平移其他四个多维数据集,然后分离它们。

之后,我想独立地将“ parentCube”多维数据集(以前是四个多维数据集的父级)转换回原点,但是,当我执行该转换时,其他四个多维数据集网格也将与前一个父级多维数据集网格一起转换,甚至当我拆下它们时。

这可能是一个非常基本的问题,但是考虑到以上所有详细信息,如何在不影响其他多维数据集的位置的情况下独立转换“ parentCube”呢?我的支队哪里出问题了?任何帮助,将不胜感激。谢谢 :)

这是我用来执行上述所有操作的代码示例:

        //Create parentCube mesh
        var parentCube = new THREE.Mesh(new THREE.CubeGeometry(100, 100, 100, 10, 10, 10), new THREE.MeshBasicMaterial({ color: 0xa1ff11, wireframe: true }));
        scene.add(parentCube);

        //...create materials for the child cubes....

        //create child cube mesh
        for(var i = 0; i < 4; i++)
            cubeMesh[i] = new THREE.Mesh(new THREE.CubeGeometry(100, 100, 100, 30, 30, 30), materials[i]);

        //--> Set child cube world positions before the attachment to parentCube mesh
        cubeMesh[0].position.set((100 / 2),(100 / 2),(100 / …
Run Code Online (Sandbox Code Playgroud)

3d three.js

5
推荐指数
2
解决办法
9554
查看次数

标签 统计

3d ×1

three.js ×1