Three.js line vector to cylinder?

后端 未结 9 1850
粉色の甜心
粉色の甜心 2020-12-14 23:53

I have this to create a line between 2 points:

var geometry = new THREE.Geometry();
geometry.vertices.push(new THREE.Vector3(0, 0, 0));
geometry.vertices.pus         


        
9条回答
  •  星月不相逢
    2020-12-15 00:24

    ArrowHelper since pull request #3307 are based on quaternions.

    This works in three.js r58:

        var cylinderMesh = function(point1, point2, material)
        {
            var direction = new THREE.Vector3().subVectors(point2, point1);
            var arrow = new THREE.ArrowHelper(direction.clone().normalize(), point1);
    
            var rotation = new THREE.Vector3().setEulerFromQuaternion(arrow.quaternion);
    
            var edgeGeometry = new THREE.CylinderGeometry( 2, 2, direction.length(), 10, 4 );
    
            var edge = new THREE.Mesh(edgeGeometry, material);
            edge.rotation = rotation.clone();
            edge.position = new THREE.Vector3().addVectors(point1, direction.multiplyScalar(0.5));
    
            return edge;
        }
    

提交回复
热议问题