Three.js: 如何减去几何?

创建于 2011-12-07  ·  2评论  ·  资料来源: mrdoob/three.js

有什么方法可以减去几何?

我有建筑物的轮廓和内部庭院的轮廓。 我已经按照高度将建筑物的轮廓拉伸,以为建筑物创建实体,但是现在我需要从中间移除庭院。

谢谢

Question

最有用的评论

所有2条评论

我已经找到了答案-不确定这是否是最好的方法,但它是否有效。

我先顺时针添加外部几何图形,然后将位逆时针添加到路径,然后再转换为要拉伸的形状。

        var path = new THREE.Path();
        // outer clockwise
        path.moveTo(-10, 10);
        path.lineTo(10, 10);
        path.lineTo(10, -10);
        path.lineTo(-10, -10);
        path.lineTo(-10, 10);
        // inner anti-clockwise
        path.moveTo(-5, 5);
        path.lineTo(-5, -5);
        path.lineTo(-2, -5);
        path.lineTo(-2, 5);
        path.lineTo(-5, 5);
        // inner anti-clockwise
        path.moveTo(2, 5);
        path.lineTo(2, -5);
        path.lineTo(5, -5);
        path.lineTo(5, 5);
        path.lineTo(2, 5);

        var height = 20;
        var shapes = path.toShapes();
        var solid = new THREE.ExtrudeGeometry(shapes, { amount: height, bevelEnabled: false });
        var mesh = new THREE.Mesh(solid, materials['building']);
        mesh.position.y = height;
        mesh.rotation.x = 90 * Math.PI * 2 / 360;
        scene.add(mesh);
此页面是否有帮助?
0 / 5 - 0 等级

相关问题

fernandojsg picture fernandojsg  ·  85评论

ghost picture ghost  ·  81评论

RicoLiu picture RicoLiu  ·  100评论

mrdoob picture mrdoob  ·  75评论

Mugen87 picture Mugen87  ·  68评论