ThreeJS教程:扫描ExtrudeGeometry

ThreeJS教程:扫描ExtrudeGeometry
推荐:将NSDT场景编辑器加入你的3D工具链
3D工具集:NSDT简石数字孪生

扫描ExtrudeGeometry

通过ExtrudeGeometry除了可以实现拉伸成型,也可以让一个平面轮廓Shape沿着曲线扫描成型。

查看案例源码,你可以看到ExtrudeGeometry的一个扫描变换案例。

1.扫描轮廓

// 扫描轮廓:Shape表示一个平面多边形轮廓
const shape = new THREE.Shape([
    // 按照特定顺序,依次书写多边形顶点坐标
    new THREE.Vector2(0,0), //多边形起点
    new THREE.Vector2(0,10),
    new THREE.Vector2(10,10),
    new THREE.Vector2(10,0),
]);

2.扫描轨迹

// 扫描轨迹:创建轮廓的扫描轨迹(3D样条曲线)
const curve = new THREE.CatmullRomCurve3([
    new THREE.Vector3( -10, -50, -50 ),
    new THREE.Vector3( 10, 0, 0 ),
    new THREE.Vector3( 8, 50, 50 ),
    new THREE.Vector3( -5, 0, 100)
]);



3.扫描造型

//扫描造型:扫描默认没有倒角
const geometry = new THREE.ExtrudeGeometry(
    shape, //扫描轮廓
    {
        extrudePath:curve,//扫描轨迹
        steps:100//沿着路径细分精度,越大越光滑
    }
);

上一篇:ThreeJS教程:拉伸ExtrudeGeometry (mvrlink.com)

下一篇:ThreeJS教程:多边形轮廓Shape简介 (mvrlink.com)

NSDT场景编辑器 | NSDT 数字孪生 | GLTF在线编辑器 | 3D模型在线转换 | UnrealSynth虚幻合成数据生成器 | 3D模型自动纹理化工具
2023 power by nsdt©鄂ICP备2023000829号