Security News
pnpm 10.0.0 Blocks Lifecycle Scripts by Default
pnpm 10 blocks lifecycle scripts by default to improve security, addressing supply chain attack risks but sparking debate over compatibility and workflow changes.
collada-dae-parser
Advanced tools
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)
/*
{
keyframes: {...},
vertexNormalIndices: [...],
vertexNormals: [...],
vertexPositionIndices: [...],
vertexPositions: [...],
vertexUVIndices: [...],
vertexUVs: [...]
}
*/
src: basic cli (potentially pull into own repo, but start here)
src: Allow file buffer to be passed in
src: Factor in bind shape matrix
src: Stop exporting bind shape matrix
demo: fix normals in demo lighting
src: Remove callback from API
warning: Throw descriptive error message if user attempts to export multiple geometries
src / demo: add a textured demo model
src: rounding values. Currently lots of .999999 and 1.000001
src: All of the TODO: statements in code
demo: full screen demo with controls overlay
demo: toggle between 2 animations
demo: Support mobile touch events
demo: allow zoom in, zoom out in demo
doc: Add a GIF of every test fixture animation and demo
doc: Documentation
warning: Somehow let the user know if their joints use non rigid transforms - until we actually support this
A separate package that uses collada-dae-parser to implement a stateless skeletal animation system
MIT
FAQs
Parse collada .dae 3d animation files into json
We found that collada-dae-parser demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
pnpm 10 blocks lifecycle scripts by default to improve security, addressing supply chain attack risks but sparking debate over compatibility and workflow changes.
Product
Socket now supports uv.lock files to ensure consistent, secure dependency resolution for Python projects and enhance supply chain security.
Research
Security News
Socket researchers have discovered multiple malicious npm packages targeting Solana private keys, abusing Gmail to exfiltrate the data and drain Solana wallets.