Announcing three-freeform-controls
For the last few months I have been working (on/off) on a controls library for THREE.js
objects. Finally got the time to finish the docs and api reference.
It provides 6-dof rotation and translation controls and is built to be fully customisable (something that I found to be lacking in TransformControls).
Documentation: https://ashishchaudhary.in/three-freeform-controls/
Github: https://github.com/tocttou/three-freeform-controls
Examples: https://ashishchaudhary.in/three-freeform-controls/docs/examples
The following features are currently implemented:
- translation controls with 3 degrees of freedom
- rotation controls with 3 degrees of freedom
- translation and rotation controls about axes at arbitrary axes
- plane controls for translation restricted to an arbitrary plane
- rotation controls in the eye plane
- free-pick controls for translation in the eye plane
- fixed mode controls (retain orientation wrt. object rotation)
- inherit mode controls (make controls follow object rotation)
- custom objects as controls handles
- enabling partial controls only
- multiple instances of controls anchored to a single object
- different instances of controls anchored to a different objects
- snap to grid
- translation limits along individual axes
The following two tasks are next on the radar:
- A-frame component
- tests
Excited to take the project forawrd!