vrm_url
in the NFT metadata for URLs to the web optimized models in the future
We're confident with what we have to send Pas any avatar to use in game dev. This time also doubles as an opportunity to advocate for wider adoption of open standards using the optimized VRM files we produced as a case study while debugging integration issues.
Limitations
Impact
Quickest and most effective optimization deals with textures. It can reduce file size a TON as seen here: 26 MB -> 2 MB
However, if the model has too many bones as seen in this example it will still be given a poor rating. Hyperfy will load the VRMs regardless.
I tested with one of the biggest models in the web optimized batch and was able to optimize it from 27 MB -> 7.5 MB, confirming that majority of the file size is contained in the texture files. This one required 2x image resolution downscaling, but it was hardly noticeable. Anime aesthetic is very forgiving though.
I did some more quick and dirty optimization tests using glTF Compressor to apply KTX2 textures and the new Needle Cloud tool for optimizing VRM files. The sample I chose was one of the biggest files from the web optimized batch, if it works on that it can work with anything. I was able to get <8 MB by downsizing the textures to 2K, however Needle Cloud was able to one shot optimize the VRM flawlessly 2x better.
Needle Tools team has unlocked the code for VRM optimization with the power of meshopt and KTX2. I also believe they're the first to ever get VRM + meshopt working, kudos!
It's around maybe 50 cents per optimization using Needle Cloud, and they are open to bulk deals. I think it's worth it when we're satisfied with current models.
Dverso.io had no issues with the VRMs I uploaded, even the 27 MB ones worked fine as well as the KTX2 optimized ones. Their VRM support is really good, they even have a vtuber mode where you can utilize the blendshapes in the face in the web based platform. It's like social vtubing.
Oncyber only allows avatar uploads up to 8MB. Many of those in the version with less blendshapes work, but many are slightly over that.
Oncyber V2 just came out, and they modified the uploader which is now forcing uploads through some kind of pipeline. Our quickest and most effective measures for optimization are broken in this version, and I'm currently talking with the team in order to fix.
Date | Gender | File Size (MB) | Triangle Count |
---|---|---|---|
7-15-24 | Female | 12.58 | 67,069 |
6-21-24 | Male | 5.09 | 34,497 |
8-5-24* | Female | 28.78 | 67,069 |
8-3-24* | Male | 22.00 | 34,673 |
*High End Vtuber Exports (All 52 Arkit blendshapes, high end vtubing capable)
Less blendshapes, more optimized for web
Date | Gender | Metric | Average | Max | Min |
---|---|---|---|---|---|
7-15-24 | Female | File size (MB) | 12.58 | 26.12 | 7.07 |
7-15-24 | Female | Triangle count | 67,069.54 | 209,479.00 | 19,941.00 |
6-21-24 | Male | File size (MB) | 5.09 | 11.45 | 3.12 |
6-21-24 | Male | Triangle count | 34,497.55 | 111,940.00 | 19,799.00 |
File size:
Triangle count:
File size:
Triangle count:
All 52 Arkit blendshapes, high end vtubing capable
Date | Gender | Metric | Average | Max | Min |
---|---|---|---|---|---|
8-5-24 | Female | File size (MB) | 28.78 | 42.31 | 23.27 |
8-5-24 | Female | Triangle count | 67,069.54 | 209,479.00 | 19,941.00 |
8-3-24 | Male | File size (MB) | 22.00 | 36.00 | 14.00 |
8-3-24 | Male | Triangle count | 34,673.25 | 112,119.00 | 19,979.00 |
File size:
Triangle count:
File size:
Triangle count: