Compression is a straightforward way to minimize network requirements by shrinking asset sizes. It’s particularly valuable for VR spaces, where we often see elaborate environments with many large assets that extend download times.
As part of this release, each High Fidelity server now provides two forms of compression, an open source solution for converting and compressing asset textures to the KTX format, and an implementation of Google’s open source Draco format for mesh compression.
Together, these two forms of compression significantly reduce the time to render in High Fidelity environments and enable progressive loading, as demonstrated in the video below:
We chose to implement compression for both textures and meshes because, while it is typical that textures are the most significant part of an asset download by size, mesh objects can sometimes include unneeded complexity that increase their size significantly. Mesh compression mitigates these unanticipated file size issues.
Providing compression from within the High Fidelity server itself gives our users a basic asset pipeline, allowing them to retain control of uncompressed, original versions of an asset offline, while sharing out compressed versions to other users on the High Fidelity network. This makes compression a natural part of the creation and publication process.
High Fidelity differs from other social VR platforms in that it is decentralized, and in this case, this manifests as the ability for our users choose to use or ignore the compression tools available with the server. They also retain the ability to decline to update to subsequent iterations of the technology. As such, we plan to provide clear guidance on the reason and value for any future changes we make. Currently, we anticipate:
- Further research on the many configurable elements of Draco with an emphasis on a solution that makes a loading VR environment available to users as quickly as possible.
- Simplification of assets to provide level of detail (LOD) appropriate for to available processing and rendering power
- Expand to other formats beyond FBX
- Additional work on the open-source FBX library developed as part of this project