Joan's web log
I have open sourced and released SharpQuill. This is a .NET library for reading and writing Oculus Quill scenes.
It is under the Apache 2.0 license and has no external dependencies. Check it on github.
Features
- .NET Standard 2.0+.
- Reads, creates, modifies and saves Oculus Quill project files.
- Exposes the scene hierarchy, transforms, drawings, paint strokes, vertices, animation (frame by frame and key framed animation).
- Supported layer types: Group, Paint, Viewpoint, Camera. Not supported: Sound, Picture, Model.
Non features
- It does not have any higher level functions to convert 3D assets, point clouds or other assets into Quill paint strokes. It is focused on providing a data model and read/write operations.
- On import it does not perform tessellation of the paint strokes to 3D meshes.
Use cases
Some of these use cases assume additional application-level code. The library itself is focused on the lower level data model.
- Exchange data with other VR painting programs or traditional programs.
- Merge multiple Quill scenes by cherry picking layers from various sources.
- Convert traditional assets into spatial drawings and open them in Quill.
- Create procedural VRÂ paintings and render them in Quill.
Limitations
- The application state file (state.json) is currently not parsed and a default one is created on output.
- Attachment layers of type Sound, Picture and Model are not currently supported.
- The scene thumbnail is not supported.
- The transform matrices from old projects (≤ Quill 1.3, circa 2017) are not supported. A work around is to open the file in a recent version of Quill and save it back.