Parse collada .dae file vertex positions, textures, normals and animations
collada-dae-parser
parses a collada file and outputs JSON. This is useful for displaying skeletal animations in the browser.
collada-dae-parser
is only concerned with giving you JSON. An animation system is outside of this modules scope, but skeletal-animation-system could be a useful start.
# API
$ npm install --save collada-dae-parser
# CLI
$ npm install -g collada-dae-parser
If you're unfamiliar with skeletal animation, the demo is a good starting point. Here's where we're parsing our collada
file and buffering our graphics data. We're parsing at runtime in the demo, but in a real application you'd want to parse your collada files during a build step.
# Run the demo locally. Changes to the `src` and `demo` directories will live reload in your browser
# PRs and issues are welcome!
git clone https://github.com/chinedufn/collada-dae-parser
cd collada-dae-parser
npm install
npm run demo
collada-dae-parser
tries to be useful for WebGL games and interactive demos, but does not try to support the entire collada spec. If you're trying to parse a model
that is not supported, collada-dae-parser
will try to let you know how to tweak it.
Output stringified JSON to stdout
# parse from stdin
cat my-3d-model.dae | dae2json > parsed-model.json
# parse from file
dae2json my-3d-modal.dae > parsed-model.json
parseDae(xmlFile)
-> object
This function returns the parsed collada object.
Required
Type: string
or Buffer
Your collada file data. Not the filename, the file contents.
TODO: Document this
var parseDae = require('collada-dae-parser')
var parsedCollada = parseDae(fs.readFileSync(fileName))
console.log(parsedCollada)
/*
{
armatureName: 'MyRig',
jointNamePositionIndex: {...},
jointInverseBindPoses: {...},
keyframes: {...},
vertexNormalIndices: [...],
vertexNormals: [...],
vertexPositionIndices: [...],
vertexPositions: [...],
vertexUVIndices: [...],
vertexUVs: [...]
}
*/
Type: Object
lorem ipsum
Type: Object
lorem ipsum
Type: Object
lorem ipsum
Type: Array
lorem ipsum
Type: Array
lorem ipsum
Type: Array
lorem ipsum
Type: Array
lorem ipsum
Type: Array
lorem ipsum
Type: Array
lorem ipsum
MIT