Skip to main content

obj-exporter

Three.js OBJExporter utility for exporting 3D geometry to Wavefront OBJ format. Use when converting Three.js scenes, meshes, or geometries to OBJ files for use in other 3D software like Blender, Maya, or MeshLab.

Informações da origem

Repositório
benchflow-ai/skillsbench
Última atividade na origem
24 de janeiro de 2026 às 08:31
Idioma detectado do SKILL.md
inglês
Estrelas
1.837
Forks
371

Opções de instalação

Por padrão, está selecionado o prompt que primeiro revisa a origem. Você pode mudar para um comando direto ou baixar uma cópia local.

Revise os arquivos de origem

Leia o SKILL.md e os arquivos complementares exibidos pelo SkillsMP antes de decidir se vai instalar.

Exibindo SKILL.md

SKILL.md
Instruções da origem · Visualização somente leitura
name
obj-exporter
description
Three.js OBJExporter utility for exporting 3D geometry to Wavefront OBJ format. Use when converting Three.js scenes, meshes, or geometries to OBJ files for use in other 3D software like Blender, Maya, or MeshLab.
# OBJExporter Guide ## Basic Structure OBJ is a text-based 3D geometry format: ``` # Comment v x y z # Vertex position vn x y z # Vertex normal f v1 v2 v3 # Face (triangle) f v1/vt1/vn1 v2/vt2/vn2 v3/vt3/vn3 # Face with texture/normal indices ``` Example: ``` # Cube v 0 0 0 v 1 0 0 v 1 1 0 v 0 1 0 f 1 2 3 f 1 3 4 ``` ## Three.js OBJExporter Three.js provides `OBJExporter` in examples: ```javascript import { OBJExporter } from 'three/examples/jsm/exporters/OBJExporter.js'; const exporter = new OBJExporter(); const objString = exporter.parse(object3D); // Write to file (Node.js) import fs from 'fs'; fs.writeFileSync('output.obj', objString); ``` ## Exporting with World Transforms To export geometry in world coordinates: ```javascript // Update world matrices first root.updateMatrixWorld(true); // Clone and transform geometry const worldGeometry = mesh.geometry.clone(); worldGeometry.applyMatrix4(mesh.matrixWorld); // Create new mesh for export const exportMesh = new THREE.Mesh(worldGeometry); const objData = exporter.parse(exportMesh); ``` ## Merging Multiple Geometries ```javascript import { mergeGeometries } from 'three/examples/jsm/utils/BufferGeometryUtils.js'; const geometries = []; root.traverse((obj) => { if (obj instanceof THREE.Mesh) { const geom = obj.geometry.clone(); geom.applyMatrix4(obj.matrixWorld); geometries.push(geom); } }); const merged = mergeGeometries(geometries); const mergedMesh = new THREE.Mesh(merged); const objData = exporter.parse(mergedMesh); ``` ## Node.js ES Module Setup For running Three.js in Node.js: ```json // package.json { "type": "module" } ``` ```javascript // script.js import * as THREE from 'three'; import { OBJExporter } from 'three/examples/jsm/exporters/OBJExporter.js'; ```
Ver no GitHub