Three.js 加载Obj文件和测量工具
我成功加载了一个obj文件,但我正在尝试添加一个测量工具,用两点标记三维模型,并在它们之间画一条直线。类似Potree的东西(不幸的是,它不支持.obj文件)。当我使用three.js时,如何做到这一点Three.js 加载Obj文件和测量工具,three.js,Three.js,我成功加载了一个obj文件,但我正在尝试添加一个测量工具,用两点标记三维模型,并在它们之间画一条直线。类似Potree的东西(不幸的是,它不支持.obj文件)。当我使用three.js时,如何做到这一点 添加一个mousedown侦听器 从相机到鼠标位置的光线投射 将交点A、B另存为Vector3 计算A和B之间的距离 缩短代码: function onDocumentMouseDown( event ) { var vector = new THREE.Vector2(); v
mousedown
侦听器相机
到鼠标位置的光线投射Vector3
function onDocumentMouseDown( event ) {
var vector = new THREE.Vector2();
vector.set(
( event.clientX / window.innerWidth ) * 2 - 1,
- ( event.clientY / window.innerHeight ) * 2 + 1 );
var raycaster = new THREE.Raycaster();
raycaster.setFromCamera( vector, camera );
var intersects = raycaster.intersectObjects( model.children );
if ( intersects.length > 0 ) {
pointA = intersects[ 0 ].point;
// some logic to save pointB
// on the second click...
//pointB = intersects[ 0 ].point;
var distance = pointA.distanceTo( pointB );
// draw Line
var geometry = new THREE.Geometry();
geometry.vertices.push( pointA );
geometry.vertices.push( pointB );
var material = new THREE.LineBasicMaterial();
line = new THREE.Line( geometry, material );
scene.add(line);
}
}
例如,距离输出在控制台中:
Three.js r107发布您已经尝试过的内容,我需要这样做:(不幸的是,这个工具还不支持.obj文件)。