GodotVR / godot_openxr

(Maintenance mode) OpenXR drivers for the Godot Game Engine v3.x
MIT License
278 stars 45 forks source link

Re-export the valve_hand_models to compress the extremely large textures #237

Open goatchurchprime opened 1 year ago

goatchurchprime commented 1 year ago

These models consume about 40Mb each, and so between them they will often double the APK file size for some textures that nobody really wants for hand tracking. https://github.com/GodotVR/godot_openxr/tree/master/demo/addons/godot-openxr/assets/valve_hand_models

If we go back to the original ".blend" files and export them to GLB now they are about 200Kb, which is about 200 times better! https://github.com/JoeLudwig/xrsandbox/tree/master/projects/xrsandbox/assets/models/valve_hand_models

These are 4k x 4k textures, so it looks like they were done with the wrong compression in perhaps an earlier buggy GLTF exporter, so we should just do them again.


On a related note, this issue has caused me to go on a long journey to find out why we couldn't seem to remove the textures by editing them in Blender without the exported skeleton being unusable for hand-tracking.

It resulted in this question about why the bone orientations keep being messed up: https://blender.stackexchange.com/questions/277270/how-to-make-the-gltf-import-preserve-skeleton-bone-orientations

where someone pointed out this feature on the import: image

If you use it (or import the original .blend files) you can now see all the bones have to splay outwards to get it to export with the correct orientations for OpenXR image

This doesn't make it easy when it comes to rigging our own hand models, but does at least fix this problem.