annotate
Utility to split THREE.js model (exported from 3D Studio Max) with single animation into seperate parts based on frame ranges.
Description
This utility refactors THREE.js JSON model files that were exported using ThreeJSAnimationExporter.ms
plugin to maintain few animations instead of a single “Action” animation. List of resulting animation names and frame ranges has to be provided.
Supported Formats
- THREE.js JSON (.js)
Usage
annotate.py [-h] [-u] -i FILE -o FILE range [range ...]
Split THREE.js model animation into seperate parts.
positional arguments:
range range in format "name=frame..frame"
optional arguments:
-h, --help show this help message and exit
-u, --gui run in GUI
-i FILE input file name
-o FILE output file name
example:
annotate.py -i model.js -o model.new.js idle=1..10 walk=11..20
Current Limitations
- No known limitations
Dependencies
- Python 2.7 or 3.1
- Requires THREE.js >= r71 for output animation to work properly.
Optional dependencies
- PyQt4
- argparseui
Example usage
./annotate.py -i model.js -o model.new.js idle=1..10 walk=1..20
// ...
this.animation = new THREE.Animation(
mesh,
geometry.animations.walk,
THREE.AnimationHandler.CATMULLROM
);
// ...
Contribution
I highly encourage you to participate in the development of this utility. Author: Andrew Dunai