Git Product home page Git Product logo

assimp2json's Introduction

assimp2json

JSON exporter for Open Asset Import Library

Convert files in 40+ 3D file formats, including Collada, 3DS, OBJ, LWO, FBX, Blender, X, STL, PLY, MS3D, B3D, MD3, MDL, DXF and IFC to plain json.

Convert models online here. (Select JSON as output format)

Download Windows binaries here. (v2.0, October 2013)

quak

Introduction

assimp2json is a command line tool designed to expose the import capabilities of assimp, the Open Asset Import Library to WebGl developers. The tool takes a single 3d model as input file, imports it using assimp and converts the result to json.

assimp2json is platform-independent, its only dependency is assimp itself.

Output Format

The output format is a one-by-one translation of Assimp's C datastructure , with a few changes to make the resulting json look more natural. All fields are lower-case and the prefixes (such as m, pc, ..) are omitted. Array lengths are not written as this information is implicitly given. Empty arrays are not written at all, i.e. a node without children doesn't have an empty children:[] field.

The /samples folder contains some sample assimp.json files.

assimp.json files carry a little format header in the JSON root element. This allows them to be disambiguated from other JSON-based 3D formats (such as Three.JS scenes). The numeric value specifies the assimp2json format version in (major, minor, revision) format. Currently, only 100 is defined.

 "__metadata__": {
 	 "format" : "assimp2json"
 	,"version": 100
 }

Build

The build system for assimp2json is CMake. To build, use either the CMake GUI or the CMake command line utility. Note: make sure you pulled the assimp submodule, i.e. with git submodule init && git submodule update

Usage

$ assimp2json [flags] input_file [output_file] 

(omit the output_file argument to get the json string on stdout)

Invoke assimp2json with no arguments for detailed information.

Future Plans

I plan to build a proper content pipeline for WebGl assets based on assimp, assimp2json, possibly OpenCTM, WebP and Crunch/DXT to be able to preprocess 3D assets and their textures for fast streaming. Stay tuned, or drop me a note if you want to help out.

assimp2json's People

Contributors

acgessler avatar

Watchers

whaison avatar James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.