THREE.js - 倾斜 ExtrudeGeometry

问题描述 投票:0回答:1

在THREE.js中,有没有一种方法可以使用

ExtrudeGeometry()
,使挤出深度倾斜上升。例如,假设我画了一个奇怪的形状:

shape design

然后我将它向上挤压成网格。然而,我希望它能像这样倾斜上升,而不是平顶。

final result

(附:我使用 Blender 创建示例图像。)

我正在使用以下方法。

const shape = new THREE.Shape()
   .moveTo(0,0)
   .lineTo(1, 0.5)
   .lineTo(2, 1)
   ...
   .lineTo(0, 0);

const extrudeSettings = {
   steps:16,
   depth:10, // <-- Right here is where my question is: can this be adjusted to an angle of some kind?
   bevelEnabled: false
}

const geometry = new THREE.ExtrudeGeometry(shape, extrudeSettings);
const material = new THREE.MeshStandardMaterial({color: 0xFF00FF});
const mesh     = new THREE.Mesh(geometry, material);
scene.add(mesh);

我能做些什么来产生我想要的以指定角度倾斜顶部的效果吗?谢谢!

three.js 3d geometry
1个回答
0
投票

我最终使用了构造实体几何(CSG)和包

three-js-csg
的布尔运算。

npm i --save three-js-csg

创建一个对象,它将以我需要的任何角度切掉原始几何形状。

© www.soinside.com 2019 - 2024. All rights reserved.