Add Simple (llmesh) GLTF Model Import
planned
Signal Linden
Add support for basic mesh import using GLTF by allowing the Second Life viewer to select GLTF content and converting it to SL's internal mesh format, similar to how Collada (DAE) import works now.
This simplified approach will be easier to implement than larger GLTF initiatives which involve implementing scene hierarchy to Second Life, UDP protocol changes, physics extensions, additions to the SL asset system, etc. While not perfect, it will allow much simpler content, and provide a good stepping stone for future enhancements.
Suggestions:
- Allow the viewer to select a *.glbor*.gltffile when uploading a model
- Preview this mesh in the mesh preview window
- Detail PBR materials that will be imported (+ include their cost in the calculator)
- Multi-object scenes should be imported as a coalesced object, similar to Collada
Log In
TwilightVaramek Atheria
seems nice id rather they finish the full gltf spec tho and bring it into SL insted of half assing stuff like they have done for years
Signal Linden
planned
Kathrine Jansma
The good part is to have an alternative for the dying Collada ecosystem soon.
The bad part is that it makes it easier to abandon glTF full support when you just have covered a small part, because someone can call the half finished state as "done".
Maybe do it like others, add it and slap a big "Feature Preview" Label on it, until its done. And if you are at it, add greyed out checkboxes for all the still missing features, to make utterly clear whats still missing. Kind of checklist style for all the glTF spec.
Crexon Resident
Kathrine Jansma 100% this. We get half-assed unfinished attempt at something. LL pats themselves on the back and we the users suffer from a another broken system on top of the many others.
The biggest thing that might come up is if the GLTF content doesn't follow the Kronos spec we get another thing in SL that is "legacy" that must be preserved even if it means worse new content.
Nyx Onyx
Signal Linden would be great if you could add tick boxes for what to upload, which I am missing in the current material uploader which let me choose only one or all in a .gltf / .glb file.
Ai Austin
It would be good to go back to the principle that if glTF mesh and any PBR materials on it displays in the Khronos Model Viewer then it will be considered a bug if it does not look identical in Second Life. Everyone will know where they are then with any development tool used.
Ai Austin
glTF mesh open, display and even save to inventory was actually working pretty well back in early 2024, right up to versions in June 2024. Early viewer dev versions up to around "Second Life Project Gltf Development 7.1.9.9491082776" continue to work fine and render the glTF meshes that are opened and saved and all faces properly. But later versions don't. Davep indicated it was some experiments with GPU instancing and a glitch with vertex normal handling that broke this.
See https://github.com/secondlife/viewer/issues/1873 for more detail, and SLurl to some example full perm test meshes on the Aditi Beta Test grid.
Darien Caldwell
Pretty sure I read they are already working on this.
Utilizator Mode
This is a good idea in spirit but bad in execution, I agree that it would be a good starting point for further GLTF development but the part about just converting it to .DAE is self defeating. It seems that LL has forgotten the original purpose of implementing GLTF, which is hosting costs and .DAE format being uncompressed and large in file size compared to the compressed GLTF container which can be a lifeline for SL.
It is vital that you do this right and implement this this format properly even if you cant implement all of its features (or any) right of the bat, at least implement support for the container itself as is and do not convert anything to .DAE at all. It will help slow the balooning server costs and ensure that you still have a job a few years down the line, And like you said, it will also serve as a good platform for future GLTF feature implementation projects to build on.
Journey Bunny
Utilizator Mode Note that they are not converting it to DAE. Dae is a scene description format, GLTF is a scene description format; both formats exist for the purpose of communicating a description about all of the "stuff" in a 3D scene from one place to another. At both ends, it's up to a specific program to decide what to do.
On your end, you might use something like Blender to make your scene. That saves all kinds of program-specific extra tool and editing info along with models. So, when you're ready to upload to SL, you export to DAE which is a "standardized" description of your scene, freed from any Blender-specific properties.
On LL's end, the server reads a DAE file and pulls out just the data it needs. This information is converted to LL's own internal llMesh format--a format that is better optimized for storage size and streaming, and is better suited for LL to make a metaverse.
Right now, a problem is emerging: the DAE format ceased update support 6 years ago, and the code for implementing it has many security vulnerabilities (115). Blender will drop that format in 2026.
The GLTF format is a newer description format with all the same scene properties as DAE, plus new kinds of data that should be useful for improving SL in the future. Just like DAE, the GLTF format is not meant to be used to make or display the scene; it's meant to be used to carry the information from one kind of system (creation tool) to another kind (live playback tool) while clearly labeling all the parts that the two systems have in common and dropping data that is only useful on one end.
We cannot currently get GLTF objects into the llMesh format. So this feature is simply that--giving the SL servers the ability to use a current, not-obsolete format to import mesh content.
The nice thing is....IF we can get this format supported, then LL will be able to add new features to the server to do even more things with mesh in the future, and the GLTF format can carry more kinds of common data (things like custom skeletons, built in animations). None of that will ever be possible, though, if LL can't get a new kind of scene description format working with their server. So, this is that step.
Utilizator Mode
Journey Bunny my bad, i assumed they use DAE internally, but either way i remember a few years ago when the new owner and all the company heads were doing these live streams, they said one of the biggest problem right now is hosting costs and the current model format (the internal one) is a contributing factor to these costs and it is why GLTF was proposed
Jack Nimble
I think this would be quite a wise way to start work towards proper and full glTF implementation, but I do think it needs to be accompanied by a clear roadmap for the rest of the spec. If it were me, I would include something additional from the spec as a peace offering/treat. I.e. if you’re already folding material upload into object upload, finish off the work that was already done on Transmission and add that in. “glTF Uploads & Transmission Materials - A New Way to Bring Objects Into SL and to See Through Them!” or something like that. Alternatively or in addition, you could remove some of the limitations people were looking forward to saying goodbye to thanks to glTF (faces per object, etc.)
Essentially, I think this idea is great as a small update but if LL shows its willingness to continue the glTF project by taking it just a further step forward, however that may be, while clearly establishing the plan for future development, it could be seen as a more interesting update, rather than a capitulation to the idea that LL was wrong to endeavour to introduce modern 3D content creation technologies and techniques into SL.
In short, this idea just needs to be accompanied by something that at least seems a bit innovative.
Extrude Ragu
I dislike the idea, it's a -1 from me. I think it's important the job is done properly. I want a modern feature set for SL, one that I can tell my friends who have moved to creating on VR Chat is worth coming back for. If I just wanted to convert a gltf to a collada i'd write a script myself.
Signal Linden
Extrude Ragu the goal is not to subvert longer term plans --but is intended to be an easy to implement method of allowing some degree of content compatibility. You may be able to write a script to perform asset conversion, but many 3D artists and users cannot, and would appreciate a built-in way to easily upload GLTF content in a short timeframe.
Rheia Silvercloud
Signal Linden If I may be bold, I am in agreement with Jack above and to a lesser degree Extrude as well. Not to put too fine a point on it, but at the moment, it feels to many I've spoken with that LL is currently comfortable with leaving the featureset as it is now - a partially-implemented peace offering to modernization, and that it is currently scrambling hard and fast to satisfy some fairly impossible requests by individuals whom are loud but at the same time are on minimum-spec or lower machines demanding SL look and run as it did 20 years prior.
A defined, publicly-visible road map towards feature implementation, along with a proposed fairly solid timeline for such, as well as slowly making more features available from both GLTF and its' extensions (where possible) would go a very long way towards maintaining and even increasing both interest and good will towards LL and SL on the whole.
The biggest fear I have is that LL will implement exactly what you are suggesting, then go "Oh, this is good enough." and decide to not go further, either for a long period of time or possibly ever. That fear needs be allayed, not merely in myself but others whom have seen this behavior prior (or, at least, this was left, unanswered, as the public impression).
Many thanks for giving this a listen!
Kuuko Shan
Signal Linden this feels like LL going back at "let's do things half way and not touch them anymore in the future".
I though LL were doing a great effort on including every glTF feature to make it so we can not just upload currect glTF files but also upcoming updates to the standard, including extensions. Being "fine" with this feels like a way of just pushing even further back those possible new updates and features.
From the past 15 years, LL efforts into updating and improving SL has been quite weak, specially for the past decade. The last couple of years seemed to indicate otherwise with the game moving forward with a big number of desired features. This suggestion feels like a step back into the old direction of the game development of not doing much, or just doing the minimum necessary.
I feel like we should keep the initial idea of bringing the whole glTF specs into SL in a way that major changes and updates can easily be ported over in future updates. Having glTF mesh import in a limited way is not a priority for most creators. If importing glTF files is a feature that needs to be speed up, I guess the best solution would be to focus on it so it gets properly done. We have already spent a lot of time waiting for some eye candy features that has been pushed back due viewer's performance. And I am really glad that the performance has improved so much but now is time to go back to what was planned and what has to come.
I guess we could say that this suggestion is fine as long as the complete thing is implemented later on, but I feel this could cause more harm than good. There were already several things in PBR that has been left a bit "not so ok" simply because some people (who does not knows about the matter at all) keeps making noise about them so I would rather have things done right with the right time needed if necessary. If this won't allow anything other than just upload a regular static mesh as glTF, I see it extremely unnecessary. There are already free converters out there that can generate an easily compatible DAE file to upload for SL.
The purpose and main interest in people to use the glTF file format is precisely to make usage of the advanced features that your suggestion plans to leave out, the features that are not avilable within collada format.
Load More
→