toowing
toowing

Reputation: 23

How to export the mesh after modified the Vertices in Three.js?

I tried to export the bent text geometry in the example of https://threejs.org/examples/webgl_modifier_curve.html by OBJExporter.js. But the result text geometry exported was not bent as seen in the scene. The code of "new OBJExporter..." was added after the code line "scene.add( flow.object3D );" Please advise where I should put the exporter code and what steps I missed to get the text geometry with modified vertices? Great thanks for help!

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); 

Upvotes: 2

Views: 211

Answers (1)

Mugen87
Mugen87

Reputation: 31076

The vertex displacement of the modifier happens on the GPU (in the vertex shader). So you can't use any of the exporters to export the bent/modified geometry.

Upvotes: 2

Related Questions