Three.js line vector to cylinder?

后端 未结 9 1829
粉色の甜心
粉色の甜心 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:16

    A solution working with r94:

    function cylindricalSegment(A, B, radius, material) {
      var vec = B.clone(); vec.sub(A);
      var h = vec.length();
      vec.normalize();
      var quaternion = new THREE.Quaternion();
      quaternion.setFromUnitVectors(new THREE.Vector3(0, 1, 0), vec);
      var geometry = new THREE.CylinderGeometry(radius, radius, h, 32);
      geometry.translate(0, h / 2, 0);
      var cylinder = new THREE.Mesh(geometry, material);
      cylinder.applyQuaternion(quaternion);
      cylinder.position.set(A.x, A.y, A.z);
      return cylinder;
    }
    

提交回复
热议问题