Super optimizing your GLB files - Texture Compression with ZenCompress
ฝัง
- เผยแพร่เมื่อ 1 พ.ค. 2023
- You can download ZenCompress for free here:
github.com/paradowskicreative...
This technique is useful for webXR, VR, AR, and any other use where you need highly performant, super optimized textures on your 3D models.
Thanks so much to Mozilla Hubs and Paradowski for creating the technology to make this possible! - ภาพยนตร์และแอนิเมชัน
Thanks for making this tutorial, Conor! Wanted to add a quick tip for anyone whose scenes/models contain armature animations. When exporting your separated glTF from Blender, make sure that the “Animation > Skinning > Include All Bone Influences” setting is OFF at export. That setting injects some extra joints/weights info into the exported glTF JSON that ZenCompress can't parse, which results in an error during .glTF import. Bone animations should re-export to .glb from ZenCompress just fine with that setting disabled.
Super helpful 😊
Thank you 👍
Finally a man who is not talking a lot of bullshit to fill out the video, going straight on and deliver! You are the man!
Thanks so much!! Glad you find it useful!!
Great Video Conor!
I noticed the editing at 3:04 - 3:17 Duplicate takes otherwise when i go to deal with GLB files ill definitely refer back to this! Thanks for the tutorial!
Hahaha yup! Gotta check to see if you're paying attention y'know 🫣
on my experience with ktx2 textures on three.js I had a problem losing texture data like metallic, normal... it was basically just diffuse data, I asked on a dc channel and i was told that ktx2 is actually and old way to process textures, therefore it was not a good resource if you wanted detailed textures. Hope it helps!
thanks for the vid! im exporting from sketchup to gltf and opening in Zen Compress but Im having the error "object reference not set to an instance of an object". No idea what that is, tried googling but got even more confused. I guess im gonna try from sketchup to blender to gltf although not much exp with Blender.
Blender will be easy enough to use if it's just for re-exporting. I would definitely try that. If it doesn't work, maybe just try exporting out a cube from SketchUp to see if the problem persists. If it does not, you can import your object piece by piece until you find the thing that is triggering the error.
Very good video, congratulations. Are these glb models capable of being imported into 3dvista?
Thanks! And I don't know! Never used 3dvista.
Why did you not show the Draco compression that is built into Blender in this comparison?
Great question! ZenCompress doesn't seem to support Draco compression currently. Though it would be a great thing to add.
If I were to use draco compression, I wouldn't be able to use zencompress' etc1s or uastc compression. So this video is just for textures, not models!
You may of worked it out but Basis is googles texture format
hy connor! I got a problem while importing the gltf file in zen compress it says buffer file not found
Try renaming your export! Someone in the discord had the same error and that worked for them!
@@ConorW the export was successful thanks but I got another error while importing the glb file into blender. The error says "Extension KHR_texture_basisu is not available on this addon version"
@@syedkhalid9829 Blender doesn't currently support basis compression. This is a very-end-of-the-pipeline procedure. It should be considered the final step.
Hey Connor very detailed and informative video, although I encounted "Invalid typed array length: 436376" when I tried to uplaod the final glb file to GLTF report. Any idea what this issue is ?
Not sure! Make sure the file name is short and doesn't have any funny characters. Also, try it on a simple object like a textured cube, to see if you get the same error.
Both my Windows Defender & Norton deleted automatically marked ZenCompress as unsafe and deleted it from my PC. Any idea why? @Connor?
No idea why. Make sure you're downloading it from the correct source, but there's nothing malicious about the official release.
When I try to import the gltf it says "object reference not set to an instance of an object" Any idea how to fix that?
I am not sure! It is probably something specific to that gltf file. My recommendation is to start with the simplest object and get that to work, then add the material, or continue advancing the object incrementally closer towards the erroring object until you find what specific thing is tripping it up. You can also ask the good people in the hubs discord for help, there are many!
same here, just export the object, cant simplify that. do you solve it?
A while back, a couple of folks (one of which was me) expressed interest in learning about compression. Is THIS your answer?
Please dont' read my question as critical or sarcastic. :)
@@markkuykendall5475 it's the first of many answers to that question!! Thanks for your support Mark!
.basis uses google webp as texture image format
can we convert gltf to glb?
I'm sure there are plenty of converters online, but you can export out .glbs from blender!
is this crypto?
no, this is dog.
hi conor, i tried this, but when i upload the compressed glb to mozilla hub spoke it say "cannot read properties of undefined (reading 'uri')" do you have any solution for this?
Strange! Does it happen on the uncompressed .glb?
Can you simplify the textures and shaders, say just a checkerbox texture on a cube, and see if that works?
Add your textures / shaders / geo one at a time until you find what triggers the issue.
If you need further help, join the hubs discord and mention me (conorw) in the #art channel and we'll work it out
Yeah I am having the same issue
F**k this dude is good, love it ! after 10 sec of watching ! BOM sub it , i like this kind of TH-camrs , Straight and Eloquent. thank u . sir can you drop down you email or some thing that we can be in touch, for question asking . peace
hey thank you so much dude! I try to make the content that I would watch haha. You can find me in the Mozilla Hubs discord server!