Vertex deformation

We’ve talked about this for ages, but nobody (to my knowledge) has made a thread about it.

What is vertex deformation?
Vertex deformation is the act of moving the verticies that 3d objects render to. This is how limbs are moved/stretched in animations, for example.

Why do we need it?
This opens up a door to several things that are a huge part in every 3d game engine. It’s long overdue and can do so many things including custome rigs (w/ bones, limbs, and joints), live mesh deformation, etc.

Implementation
Implementation shouldn’t be hard. For example, we could have a live editor (similar to constraints) which could select a vertex and make it an instance:
Instance (MeshVertex)
Vector3 : Position (0, 0, 0)
Instance : Adornee (Obj)
String : Name “Vertex”

Obviously this is just an idea, there are several implementation methods that ROBLOX can experiment with. Support?

26 Likes

Feature Requests > Client Features

If you don’t know where a feature request / bug report should go, just guess, it’s better not to post in Feature Requests / Bug Reports itself.


I don’t think vertex deformation on such a low level is feasible. I’d like to see that we can add skeletons to meshes and animate those using some kind of animation format, instead of individual vertices.

No comment on whether or not it’ll happen (I don’t really know!), but that’s probably not how you would want it. Deformation doesn’t really happen on a per-vertex basis in modern games.

Instead, you make a rig with bones that have well-defined rotation axes, offsets, and sizes. It’s usually a hierarchy, where you have a root “hip” bone and legs and upper spine coming off of that. Then you “weight paint” vertices.

Each vertex can be assigned to N bones (usually 8?) and you decide a weight for each one. The weights add up to 1, so when you render the mesh, you have a vertex shader that looks up each bone transformation and interpolates between them. This way, you can have some vertices at transition areas, like shoulders, hips, and knees, and you’ll get a smooth gradient.

13 Likes

Yeah, it’s called “skinning”, and it’s been around since Half-Life 1 times.

9 Likes

That is one update I would absolutely love to see being implemented.

1 Like

I’d like to continue on this in hopes of consideration.

It’s been well over two years now and I was wondering if vertex deformation was discussed among the team(s) recently.
Reason I’m asking is because as I’m working on my game, I’m starting to get annoyed by how almost everything except for constraints is completely static on ROBLOX.

I’ve really been trying to get clothing to work well, and so far this has worked best with BallSocketConstraints.
Although, it still doesn’t give me the effect I was hoping for and even if I do get it to work, possibilities are very limited with constraints especially on character models.
The same goes for attempting to make hair physics.

Vertex deformation would be very useful for these kind of things, as I hope we’ll be able to make our games more visually appealing in the future.

5 Likes

Only info I could find on if this would be coming. I keep my fingers crossed it’s on the roadmap for 2019.

5 Likes

Major support - this would allow for so many possibilities from physics-based vehicle damage, physically influenced clothing, parachutes that get caught on trees, swaying leaves in trees, more posable character models, waving flags, etc. I could go on but I think the point is clear :stuck_out_tongue: I’m definitely an advocate for this one.

6 Likes