相关疑难解决方法(0)

有效地捕捉到三个顶点

我想制作一个捕捉功能来捕捉我的网格顶点.我尝试了几种解决方案.

一种解决方案是为THREE.Sprite场景中的所有顶点添加实例,然后使用a rayCaster来确定数组中是否snap有点intersects.它工作得很好; 这是一个演示的小提琴.
我的想法是在最终的解决方案中隐藏精灵,这样它们就不会被渲染,但我的场景非常大,所以它仍然意味着在我的场景中添加大量的精灵(对于每个顶点,可能有数千个精灵)来检测用我的点击点rayCaster.

var intersects = rayCaster.intersectObject(scene, true);
var snap = null;
if (intersects.length > 0) {
    var index = 0;
    var intersect = intersects[index];
    while (intersect && intersect.object.name === 'snap') {
        snap = sprite.localToWorld(sprite.position.clone());
        index++
        intersect = intersects[index];
    }
    if (intersect) {
        var face = intersect.face;
        var point = intersect.point;
        var object = intersect.object;
        mouse3D.copy(point);
    }
}
if (snap) {
    renderer.domElement.style.cursor = 'pointer';
} else { …
Run Code Online (Sandbox Code Playgroud)

javascript three.js

6
推荐指数
1
解决办法
1644
查看次数

标签 统计

javascript ×1

three.js ×1