我试图沿着z轴移动,一个网格的顶点。网格与球体相似,不是球体,而是球体。这是从搅拌机进口的网眼。
问题是,当我沿着z轴移动一个顶点/顶点时,它就像世界坐标,我需要沿着指向网格中心的轴移动它。
例如,在3d模型软件中,我可以将轴改变为法线,以获得这种效果。
我已经检查过了,我可以用multiplyScalar方法来完成这个任务,但是它不能很好的工作,因为我需要在效果和位置之间切换。
得到它的three.js是什么?
警察:对不起,我问了个问题。多年来,我一直在使用javascript,但在three.js的书籍/教程中,我还没有学习到这个概念,我不知道如何获得它。
发布于 2015-11-16 11:55:34
解决这个问题的方法之一是:
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,100的初始矢量从蓝色和红色向同一方向移动。
https://stackoverflow.com/questions/33740428
复制相似问题