javascript - ThreeJS ExtrudeGeometry HOLE 从点
问题描述
古腾塔格,伙计们!
我试图在我的 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;
}
我得到的是一个没有洞的素色人物
请问为什么会这样?
因为当我添加 absellipse 或 absarc - 孔工作正常。
var hole2 = new THREE.Path();
hole2.absellipse(23, 24, 2, 3, 0, Math.PI * 2, true);
shape.holes.push(hole2);
是否不可能推由线点而不是椭圆或圆弧制成的孔?
如果您知道为什么这不起作用或如何解决它,请提供帮助。
解决方案
推荐阅读
- google-apps-script - 如何在移动设备上禁用 Gmail 插件?
- yocto - 如何在 yocto AGL 中添加 pciutils 包?
- angular - 如何调用多个 API 并在 Angular 6 中订阅?
- javascript - js中不同的动画效果
- java - jersey2 的 Web.xml 不允许来自其他应用程序的休息调用
- sql - 如何迭代变量?我收到错误 PLS-00103
- bash - 如果条件不起作用,则 shell 脚本中的正则表达式
- javascript - 将数组数组转换为带有键的对象
- php - SQLSTATE[HY000] [2054] 服务器向客户端发送未知字符集。请向开发人员报告
- android - 在地图上方叠加