Introducing a new class of physics constraint, RigidConstraint!
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
Find the Model tab in Roblox Studio.
Select āRigidConstraintā in the constraints dropdown.
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.
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!
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.
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!
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!
This will save me a lot of time and definitely makes things easier for those of us who regularly work with attachments!
Can we at least get an estimate when this will be a thing?
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.
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?
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
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.
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.
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!
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.
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.