Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.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
3d 沿z轴移动网格顶点_3d_Three.js - Fatal编程技术网

3d 沿z轴移动网格顶点

3d 沿z轴移动网格顶点,3d,three.js,3d,Three.js,我试图沿着z轴移动网格的顶点。网格类似于球体,而不是球体,但类似于球体。这是从blender导入的网格 问题是,当我沿着z轴移动一个垂直/顶点时,它就像世界坐标一样,我需要沿着指向网格中心的轴移动它 例如,在3d模型软件中,我可以将轴更改为法线以获得此效果 我已经检查过,我可以使用MultilyScalar方法来实现这一点,但效果不好,因为我需要在效果之间切换,我应该移动位置 获得它的three.js方法是什么 对不起,没有问题。我已经使用javascript多年了,但是我还没有在three.j

我试图沿着z轴移动网格的顶点。网格类似于球体,而不是球体,但类似于球体。这是从blender导入的网格

问题是,当我沿着z轴移动一个垂直/顶点时,它就像世界坐标一样,我需要沿着指向网格中心的轴移动它

例如,在3d模型软件中,我可以将轴更改为法线以获得此效果

我已经检查过,我可以使用MultilyScalar方法来实现这一点,但效果不好,因为我需要在效果之间切换,我应该移动位置

获得它的three.js方法是什么


对不起,没有问题。我已经使用javascript多年了,但是我还没有在three.js的书籍/教程中学习到这个概念,我不知道如何获得它。

解决这个问题的方法之一:

            var box1 = new THREE.Mesh(
                new THREE.BoxGeometry(10,10,10),
                new THREE.MeshBasicMaterial({color: 0xff0000})
            );
            scene.add(box1);

            var box2 = new THREE.Mesh(
                new THREE.BoxGeometry(10,10,10),
                new THREE.MeshBasicMaterial({color: 0x00ff00})
            );
            box2.position.set(100,100,100);
            scene.add(box2);
            var box3 = new THREE.Mesh(
                new THREE.BoxGeometry(10,10,10),
                new THREE.MeshBasicMaterial({color: 0x0000ff})
            );
            box3.position.set(100,100,100);
            scene.add(box3);

            var direction = box1.position.clone().sub(box2.position).normalize();
            var move = new THREE.Vector3(0,0,100);
            var moveCorrected = direction.multiplyScalar( move.length() );
            box3.position.add(moveCorrected);
-绿色立方体从蓝色和红色向同一方向移动,初始向量为0,0100