π§΅#gltf-progressive
Hi!
It can be done with gltf transform too of course. Here is a draft document for the gltf-progressive extensions format: https://github.com/needle-tools/gltf-progressive/tree/main/NEEDLE_progressive (not the mesh and texture extension name is NEEDLE_progressive)
Why would you prefer re-implementing the file processing?
I am building a product configurator SaaS and all our models and backend stuff are already in firebase. Users have a DAM where they upload models and embed to theirs sites etc. Moving to needle cloud would require us to rewrite many of these things. And I am the only developer in our two people startup lol.
Got it. But you don't need to move to Needle Cloud - you could use our CLI to get the compressed files where you would run gltf-transform. So hosting and the whole infra can stay the way it is.
Wow, thatβs great to know. This?
No currently available via needle-cloud cli's optimize command: https://engine.needle.tools/docs/cloud/#deploy-from-the-cli
You can run npx needle-cloud help for options. Currently not all options are exposed in the cli but if that's something you'd be interested in we can see whats missing and how we can add it.
Help for optimize command: npx --yes needle-cloud help optimize. By default it doesnt give you progressive assets so you need to add the --progressive flag if I remember correctly.
Using the --token <your-token> param you just pass in an access token that you created in your team on Needle Cloud
Hello <@373346625025736705> did you have a chance to try it yet?
Hey not yet. We have been busy with preparing the client site for the BlackFriday. I will hopefully try it end of this week to early next week. Will update here
Got it π
Hey marcel, sorry to bother you again. I tried generating LODs with gltf-transform per mesh and followed the schema. I also downloaded the model with the lods from demo, everything seems identical. Yet, when I load the model, it does not load the higher LODs. I understand it might not be your responsibility to answer my "gltf-transform" question. In any case, sharing it...
I tried building the extension locally as well, and printed with debugprogressive. For both the needle cloud models(LOD) and my "gltf-transform" seems identical. I would really appreciate your advise in this regard.
Do you have a demo (ideally with code)? Otherwise it might take too much time to guess whats different π
Thanks for the reply. Uploading the code, 2 min
Nothing seems to go smoothly today, just a git commit and itβs 1 hour!! Sorry.
Hello, thanks for your replies. I am catching up with the conversation. To clarify, do we need to use your CLI for the compressed files?
Hello <@272528485732450305> sorry for pinging again, just making sure you got the code
Hi, yes I got the message but didnt get to look into it further yet
I tried with the overrideLodLevel as well, but that also did not work.
<@373346625025736705> for debugging you can use ?debugproressive (as an URL parameter) it will log some info.
the LOD meshes/files don't have the extension - they usually do as well and gltf-progressive is looking for that. Maybe this could be changed to fallback to the only mesh or texture in the glTF (if it's only one) - but maybe there's a reason why that won't work (gotta check back with the code, can't recall rigth now). Anyways for your problem it should be solved if you add the progressive extension to the mesh/texture with the same guid.
I think one reason to not do the fallback is that we'd like to be able to batch multiple meshes/textures into one glTF in the future to reduce the amount of individual requests. E.g. sometimes individual lods are very small and performance wise it would be better to combine many into one file (also for cases where many low quality lods are positioned close to each other and likely be loaded together)
Hi, the CLI is only needed if you want Needle to handle compression (and potentially hosting)
Thanks marcel for the response. I have been debugging with debugproressive , and feel dumb how I not saw the guid warning. Let me dig a bit. Thank you
No worries, lots of stuff is logged with that flag ^^
https://polymuse.neetorecord.com/watch/37d17f7e1f5dd85fff39 Something is happening now π
it worked!!!! β€οΈ
yay!
what was the bug above? It looked like meshes were updating but then broken
Thanks a lot. The Density Calculation and lod array was inverted in my lod generation.
and also each lod was containing all the meshes
Ah ok π cool that you got it working
Seems like you did it quite quick too π
[AI]
Now comes the hard part of cleaning the mess it created
Thanks very much for your time. I truly appreciate the work Needle doing. the unity integration is amazing.
You're welcome. Please ping me once this is in production or can be seen in action somewhere