New Physics Class: RigidConstraint

Introducing a new class of physics constraint, RigidConstraint! Rigid Constraint_Icon_32px-1

RigidConstraint forms a connection between two Attachments or Bones, analogous to how a Weld or WeldConstraint forms a rigid connection between two parts.


RigidConstraint makes it easy to attach an accessory to an avatar without scripting (use the RigAttachments directly) or to just put two parts together with attachments. This also simplifies existing content pipelines that were mimicking this functionality with Welds.

All this means you can connect rigid bodies at edit time with attachments, without needing to write any code.

How to use

  1. Find the Model tab in Roblox Studio.
    image

  2. Select “RigidConstraint” in the constraints dropdown.
    image

  3. Set the attachment points.

Future plans

We plan to add opt-in automatic destruction. This means the RigidConstraint dynamically breaks based on force limits that you configure if you so choose. The timeline for constraint destruction is not set in stone yet, but consider this a peek into what’s next.

Known issues

The studio dragger tool isn’t quite consistent in how it drags parts joined by RigidConstraints versus other joint types. We plan to make this more consistent this year.


As always, we would love to hear your feedback and how you’re putting RigidConstraint to use. Feel free to post your RigidConstraint creations below!

Thanks,
The Simulation Solver & Core Teams

244 Likes

This topic was automatically opened after 9 minutes.

Exciting!

I’ve written and shared code in the past to manually set C0 and C1 of a Weld when working with attachments to snap them together. CFrames aren’t my strong suit so removing that bit from the equation really helps, a lot like how WeldConstraint doesn’t need you to set C0 and C1 when connecting two parts and instead use their existing offsets.

Could we expect to see Roblox accessories start using RigidConstraints when attaching accessories as opposed to the current behaviour (Weld object)? I’m not sure how much of a technical challenge it may be - we still don’t have Motor6D RightGrips after all.

Constraints are a powerful tool that have come a long way and I’m really glad to see any kind of expansion with them. Much love to the SimCore team delivering these features.

23 Likes

Thank you for this! So useful for someone like me who struggles with this kind of stuff. <3

Also yes, I agree with @colbert2677 that constraints in general are one of the biggest features of this engine. While they are not yet the most stable, they provide such a good starting base for having realistic physics in so many domains!

6 Likes

I was just about to script a system that kinda did this but now I dont have to because it’s now built-in! THANK YOU! :slight_smile:
This will save me a lot of time and definitely makes things easier for those of us who regularly work with attachments!

6 Likes

I can’t wait for this!!!

Can we at least get an estimate when this will be a thing? :pleading_face:

I’d definitely use it to for stress handling in my building system, e.g. an object that is too heavy would need more support parts, otherwise it would fall under its own weight.

5 Likes

As they said it’s not set in stone, next year at the earliest.

3 Likes

I’m not a builder or modeler so what does this mean in simple words?

3 Likes

Amazing! Makes much sense for a future where we will have breaking limits. Can’t wait for that!

Though, I’d be curious to know the performance differences between this and welds for example?
Are those pretty much the same or would there be a drawback if I start using RigidConstraint instead of welds?

6 Likes

THANK YOU for releasing this.

I just noticed that if you try to rotate or move parts that have this on, It would, show this error and stop moving… I am not sure if this is a bug or if I am doing something wrong

7 Likes

Think of it like how the old ‘Weld’ objects used to be, where they’d attach two parts together immediately, except with this constraint: it uses attachments to force the two parts instead.

6 Likes

Good implementation, I can see a lot of good usage of this feature in the future.

3 Likes

One of the use can be to quickly join two parts or group of parts together at a specific location.

28 Likes

Guys, do y’all realize how good this is? You could basically make a physically-accurate building with stress points easily in a physics demolition game. You can attach things that have strengths dynamically without having to code in a bunch of messy nonsense - This is just great!’

Not only that, but it basically looks like you don’t even need to cframe a model together anymore, rigid constraint is flexible enough just connecting it will poof it to where it needs to be instantly. That’s what we’ve been missing - an alignposition “rigid” was never enough. This is the compliance we wanted.

THanks blox devs fam

14 Likes

We plan to add opt-in automatic destruction. This means the RigidConstraint dynamically breaks based on force limits that you configure if you so choose.

This could be really useful for vehicle destruction without having to connect touch events for a ton of parts and comparing velocity of hits!

4 Likes

Very eager to see the next stage of development for the Rigid constraint available to developers asap :slight_smile:

1 Like

Same thing happened to me when I was trying to move it. Atleast I’m not the only person experiencing this bug

2 Likes

THANK YOU!

This simplifies so much! NO more will we have to do complex cframe math to attach objects to players using welds or motors. It is also incredibly helpful that these constraints use attachments as inputs, instead of full-on parts like weldconstraints did.

This update has allowed me to easily attach this lantern I made in both runtime and studio!

The RigidConstraint perfectly works alongside other constraints, such as the RopeConstraint I added connecting the branch to the lantern. During playtesting I couldn’t help but notice how perfectly the RigidConstraint kept the branch attached.

My only problem is the fact I have to edit the attachment orientation in order to change the position of the rigid parts. And when adjusting the orientation, it seems inverted.

Love it!

12 Likes

I’d like to use this feature, but it seems it still needs work. I encountered a similar issue before,

however this time I am using the roblox branch.

7 Likes

How does this compare to Welds or WeldConstraints? Curious to know if there’s any difference functionality wise as I switched to WeldConstraints after experiencing Welds occasionally breaking in my vehicle chassis system, although they only offered a minimal improvement if any.

3 Likes