Ich möchte Scheitelpunkte mit Liniensegmenten verbinden. Das ist, was ich mit einfachen Linien bekommen habe. Es funktioniert gut.Three.js Tubes nicht lang genug
let line2 = (from : Vector3, to : Vector3) : THREE.Line => {
var lineGeometry = new THREE.BufferGeometry();
var positions = new Float32Array(3 * 2);
positions[0]=to.x;
positions[1]=to.y;
positions[2]=to.z;
positions[3]=from.x;
positions[4]=from.y;
positions[5]=from.z;
lineGeometry.addAttribute('position', new THREE.BufferAttribute(positions, 3));
let lineMaterial = new THREE.LineBasicMaterial({ color: 0x0f35ff });
let line = new THREE.Line(lineGeometry, lineMaterial);
return line;
};
Aber wenn ich zu Röhren Problem wechseln auftreten, Länge kürzer werden.
-Code für Rohre, Positionsdaten gleich ist.
let tube = (from : Vector3, to : Vector3) : THREE.Mesh => {
let path = new THREE.LineCurve3(to, from);
let tubeGeometry = new THREE.TubeGeometry(path, 32, 0.05, 8, true);
let material = new THREE.MeshBasicMaterial({color:0x3212ac});
let mesh = new THREE.Mesh(tubeGeometry, material);
return mesh;
};
dies tatsächlich der Fall war, danke –