Possible lower-cost alternative to cloth simulation / flexi mesh - Velocity Bones.
tracked
Medea Destiny
Some kind of cloth simulation would be great, I think everyone agrees on that. Except that it's computationally very expensive, and while it's practical in a game where you've only got one main character and care can be taken to avoid much simulation happening at any one time, SL needs to render up to a hundred (sometimes more) "main characters" at a time.
There's already a feature request in for some kind of cloth simulation tracked here: https://feedback.secondlife.com/feature-requests/p/weighted-clothing-material-with-collision -- in the thread people have discussed some things like collision volumes to stop the mesh intersecting, which was always a problem with the old flexi solutions too. All these things would be great, but maybe there's a computationally cheap way we can at least get part of the way? People have tried things using spare bento bones and animating, but that doesn't coincide with actual avatar movements, so it's really no more than a gimmick.
I admit this is a bit beyond my wheelhouse, but I had a crazy idea, spoke to a few people about it, and they seem to find it intriguing, so I'm bringing it here. I call it "Velocity Bones".
Imagine we have an extra (or maybe a few) bone in the skeleton, which mirrors existing bones, but all motion is
delayed
. When you move your avatar, the velocity bone starts moving a second behind the rest of your avatar, and stops moving a second after it. When you play an animation, the velocity bones will animate as per their mirror bones, but start a second later. This gives a bone that rigged mesh can be weighed to, which will be where you just were a second ago, and catch up with you when you come to rest. For example, imagine a ponytail with the end of the tail weighted to this velocity bone. You move left, the ponytail will trail to the right. You stop, the end of the tail catches up with you. You jump down from something, it bounces upwards. You dance, the end of the tail takes a little time to catch up with the top of the tail, giving a basic simulation of inertia.
This doesn't solve collision problems, doesn't allow for things being moved by wind, but otherwise could provide us with something akin to what people used to use flexi for with attachments. We could have a cape flowing behind us, that moves dynamically as we fly. We could have moving hair. Clever people might even be able to put a bit of reasonably convincing movement into a dress with it. Best of all, it should be pretty computationally cheap.
As I say it's beyond my technical wheelhouse -- I'm not sure how practical it would be to split-animate a skeleton in this way. However people have been crying out for flexi mesh or
something
for years, and since the idea occurred to me I thought I'd throw it out there and see if it gets any traction.Log In
Spidey Linden
Merged in a post:
Flexi Mesh
Journey Bunny
Back in 2024 when GLTF mesh project was getting looked-into by dear Runitai, there was a lot of chat about mesh cloth and the impracticalities and learned lessons about MD-to-Sansar, and I asked the following:
Could the viewer possible simulate a collision shape made of hulls along bones, scaled by avatar deformer weights? Like a kind of viewer-side auto-generated rough collision skellie that mesh could "opt in" to being deformed by? Would get rid of storing all the data in the asset, provide flexi-like basic movement to a pre-draped clothing item
Runitai Linden replied with:
flexi mesh is practical
auto-rig a mesh to a flexi prim at runtime, animate mesh with the flexi anim
see also physics bones you could rig to
So! At the time, Runitai was working on GLTF and I didn't bother with a feature request bc he was on top of it. But since he's gone on to other things...I realized I ought to capture this in a request, and put his winsdom on how it'd be done in there!
Summer Serendipity
We women need skirts that FLOW not stick to us like cement blocks ! Flexi in SOME form is the answer . How about it guys???
Chrissey Resident
Love Lexy mess for gown and hair. Is this possible?
Violaine Villota
Flexi mesh all day pretty please!
steph Arnott
The issue has always been the huge computation load on the servers.
Miyushu Babii
steph Arnott doesnt WOW have it?
Rheia Silvercloud
steph Arnott The point here is to have it rendered client-side, and thus only the flags for its' existence and the flexi-prim it's rigged to have parameters sent, which in this case would be the same definitions as exist currently, just with a link connecting it to the mesh asset. More than likely, this would be some form of XML file or a similar, compressible text-based file, or, equally, stored as some form of Fast Prim Parameters to allow rapid transfer. All graphical computations, including collisions, would thus be handled entirely on the client's end of the spectrum. A bit of a sanity check here would be to have the option to limit how many are rendered at the same time and at what resolution (how many points of articulation), with the latter going down based upon LOD.
Kuuko Shan
I am in favor of this feature, but we should do it properly. glTF already has some support for dynamic bones with colliders and some physical properties. We should get that into SL. I do not want some "hacky silly" way of doing it; I want to do it in the same way that it's being done for every single game and engine out there. Basically, allow for custom bones and, with them, physical dynamic ones. I am fine with having certain custom bones limits per avatar as well as one for dynamic ones.
Ikaros Alpha
Years ago Qarl Linden gave us flex prims and sculpties. We were very happy with him in general. Het got fired nonetheless. Then came mesh. We needed clothes to form around any avatar automatically. Crowdfunding(!) brought back Qarl (Karl Stiefvater). He worked out "Mesh Deformer". In the mean time designers had adopted 'liquid mesh'. Mesh deformer was (near) ready but guess what the leadership of that time did? They shelved it! And gave in to "liquid mesh" which they had first opposed. I have a profile pick about where Karl can be found nowadays. Just saying.
Liberty Fairelander
This truly is a fascinating idea. That said, I think if it is implemented, LL should turn all the current bones into your "velocity bones" and create all new bones for the avatar movement. This way, all existing mesh items would (theoretically) have this feature upon release of the new boneset without need for content creators to go back and re-rig things, or force the resident to buy entirely new wardrobes in order to utilize the feature.
Spidey Linden
marked this post as
tracked
Issue tracked. We have no estimate when it may be implemented. Please see future updates here.
Vincent Nacon
This has come up before with the developers when working on GLTF mesh with nodes (bones) management in the same scenegraph. Once GLTF is complete, there's a chance that we could pick a bone-chain and apply "flexi" property to it through a LSL script function.
Medea Destiny
Vincent Nacon That sounds interesting! My suggestion is obviously pretty primitive and a thought about how to get something functional at a low cost, but something like that which is more flexible (apologies for the pun) would certainly be welcome.
Load More
→