微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 Three.js 中修改顶点后如何导出网格?

如何解决在 Three.js 中修改顶点后如何导出网格?

我尝试通过 OBJExporter.js 导出 https://threejs.org/examples/webgl_modifier_curve.html 示例中的弯曲文本几何体。但是导出的结果文本几何体没有像场景中看到的那样弯曲。 代码行“scene.add(flow.object3D);”后面增加了“new OBJExporter...”的代码 请告知我应该在哪里放置导出器代码以及我错过了哪些步骤来获取带有修改顶点的文本几何?非常感谢您的帮助!

const loader = new THREE.FontLoader();

            loader.load( "fonts/Microsoft_YaHei_Regular.json",function (
                font
            ) {

                const geometry = new THREE.TextGeometry( "1 234567890",{
                    font: font,size:0.25,height: 0.02,//0.05 thickness
                    curveSegments: 12,bevelEnabled: true,bevelThickness: 0.02,bevelSize: 0.01,bevelOffset: 0,bevelSegments: 5,} );

                geometry.rotateX( Math.PI );
                
                geometry.rotateY( Math.PI );

                const material = new THREE.MeshStandardMaterial( {
                    color: 0x99ffff
                } );

                const objectToCurve = new THREE.Mesh( geometry,material );

                flow = new Flow( objectToCurve );
                flow.updateCurve( 0,curve );
                scene.add( flow.object3D );
                

                const exporter = new OBJExporter();
                const result = exporter.parse(flow.object3D); 

解决方法

修改器的顶点位移发生在 GPU 上(在顶点着色器中)。所以你不能使用任何导出器来导出弯曲/修改的几何体。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。