Nearsighted Penguin March

    obj-file-parser
    DefinitelyTyped icon, indicating that this package has TypeScript declarations provided by the separate @types/obj-file-parser package

    0.5.3 • Public • Published

    npm version Build Status

    obj-file-parser

    Open source, re-usable Wavefront 3D object file (.OBJ) parser written in javascript and distributed freely as an NPM package.

    Features

    • Support for (.OBJ) files only, see mtl-file-parser for mtl files
    • Case insensitive, flexible parser
    • Simple JS object output
    • Polygon group support
    • Smoothing group support
    • ES5 syntax for support across virtually all platforms
    • No dependencies

    Installation

    npm install --save obj-file-parser

    Usage

    const OBJFile = require('obj-file-parser');
    
    const fileContents =
      'v 0 0 0 \n' +
      'v 0 1 0 \n' +
      'v 1 0 0 \n' +
      'f 1 2 3';
    
    const objFile = new OBJFile(fileContents);
    
    const output = objFile.parse(); // see description below

    Output

    The extracted model data and list of material library references are returned in the following format:

    {
      models: [
        {
          name: 'unit_cube',
          vertices: [
            { x: 1.0, 2.0, 3.0 },
            ...
          ],
          textureCoords: [
            { u: 1.0, v: 2.0, w: 3.0 },
            ...
          ],
          vertexNormals: [
            { x: 1.0, y: 2.0, z: 3.0 },
            ...
          ],
          faces: [
            {
              material: 'brick',
              group: 'group1',
              smoothingGroup: 0,
              vertices: [
                { vertexIndex: 1, textureCoordsIndex: 1, vertexNormalIndex: 1 },
                ...
              ]
            }
          ]
        },
        {
          ...
        }
      ],
    
      materialLibraries: [
        'mat_lib1.mtl',
        ...
      ]
    }
    

    More to come

    obj-file-parser is being actively maintained and developed. Comments, feedback and bug reports always welcome.

    Donation

    Help me make this obj-file-parser and other tools better!

    paypal

    Install

    npm i obj-file-parser

    DownloadsWeekly Downloads

    165

    Version

    0.5.3

    License

    MIT

    Unpacked Size

    12.6 kB

    Total Files

    7

    Last publish

    Collaborators

    • wesunwin