ThreeJS ExtrudeGeometry HOLE来自各点

时间:2018-04-30 12:06:45

标签: javascript three.js

Gutentag,伙计们!

我试图在我的ExtrudeGeometry上打个洞,但它不起作用。

我的代码如下所示:

        var shape = new THREE.Mesh(new THREE.ExtrudeGeometry(drawShape(), options), new THREE.MeshLambertMaterial({color: 0x593788}))

        function drawShape() {

        // create a basic shape
            var shape = new THREE.Shape();

            shape.moveTo(10, 10);
            shape.lineTo(10, 40);
            shape.lineTo(30, 40);
            shape.lineTo(30, 10);
            shape.lineTo(10, 10);

            var hole1 = new THREE.Path();
            hole1.moveTo(12,15);
            hole1.lineTo(15,16);
            hole1.lineTo(16,16);
            hole1.lineTo(16,15);
            hole1.lineTo(12,15);
            shape.holes.push(hole1);

            return shape;
        }

我得到的是一个没有洞的普通形状图

(用剪切工具绘制一个白洞以显示它应该在哪里)---> The Extrude Geometry figure with no hole

请问为什么会发生这种情况?

因为当我添加absellipse或absarc时 - 这个洞工作正常。

        var hole2 = new THREE.Path();
        hole2.absellipse(23, 24, 2, 3, 0, Math.PI * 2, true);
        shape.holes.push(hole2);

Hole

是否不可能推出由线点而不是椭圆或弧形成的孔?

如果你知道为什么这不起作用或如何解决它,请帮助。

0 个答案:

没有答案