我们如何使用线连接两个球体? 我希望它像用绳子或弹性物体连接的球一样 有人能指出一些样品吗?
答案 0 :(得分:2)
在两点之间绘制箭头很简单:
var startPoint = new THREE.Vector3(10,20,30);
var endPoint = new THREE.Vector3(70,80,90);
var direction = new THREE.Vector3().subVectors(endPoint, startPoint).normalize();
var arrow = new THREE.ArrowHelper(direction, startPoint, startPoint.distanceTo(endPoint), 0xCC0000 );
scene.add(arrow);
仅画一条线有点棘手:
var lineGeometry = new THREE.Geometry();
lineGeometry.vertices.push( new THREE.Vector3(10,20,30), new THREE.Vector3(70,80,90) );
lineGeometry.computeLineDistances();
var lineMaterial = new THREE.LineBasicMaterial( { color: 0xCC0000 } );
var line = new THREE.Line( lineGeometry, lineMaterial );
scene.add(line);
答案 1 :(得分:0)
我所指的是物理引擎。
可在此处找到示例 http://schteppe.github.io/cannon.js/
答案 2 :(得分:0)
如果要为两个对象之间的线条赋予“弹性感”,可以使用BezierCurve
。 Three.js
中包含的几种不同类型。
例如,请查看this link以获取更多信息。
我不太明白你在自己的答案中对于物理引擎的意义,但是如果你打算生产像线一样的水平绳索,你最好使用一些THREE.Line
连接并激活物理引擎,例如cannon.js
。我认为你最好使用THREEx.cannon.js来轻松整合两者。