Using a RigidConstraint, when I attach a BasePart via Attachment to a skinned mesh via Bone, both of which the client is the network owner of, replication breaks on the skinned mesh side of things… is this intended or should it be considered a bug?
I love this update! I used to be stuck using AlignPosition to kind of simulate a “weld” between two attachments.
Thank you. Really nice addition.
It would be great to have some “soft” weld constrain, where the other connected part will not join the assembly. To have two assemblies welded together is currently only possible by using, e.g. Hinge constrain. Or by copying CFrame, but that causes visual glitches.
YES! Finally! Not only do we have a new rigid constraint that makes sense (goodbye Weld.C0
/C1
), but they will be force-breakable too!
You can do this using AlignPosition/AlignOrientation with RigidityEnabled set to true
This will be really useful for cars crashing when the force damage comes out
Using this new constraint breaks down skinned mesh rendering - see my bug report here:
Is there a way when making the constraint break on force to show how much force is being applied to the constraint?
Hey! That’s a really good idea! I assume that there will be an event or something. Perhaps this information will be passed to any connected events?
I don’t quite agree with this. For me the JointInstance | Roblox Creator Documentation and JointInstance | Roblox Creator Documentation properties of the weld are really useful, as I can move entire welded assemblies just be editing the joint offset on a single weld.
I understand that the WeldConstraint | Roblox Creator Documentation was meant to replace the Weld | Roblox Creator Documentation, and I do use it. However, whenever there’s an instance when I need to move a connected instance and all the parts connected to it, it’s easier to use the C1
property of a weld. This isn’t to say that the weld constraint is useless or inferior by comparison. Quite the opposite in fact! However, the C1
provides information about the joint offset automatically so I don’t have to calculate it manually.
While this is quite the long tirade, my point is that I wish that the WeldConstraint
had these properties or some implementation of them. It’s already using some offset internally, so why don’t we have access to it? It would be a lot easier if we did.
I hate WeldConstraint
with a passion. It has some weird inscrutible internal state that gets corrupted randomly and misaligns parts for no reason. There are horror stories of entire builds being lost because I connected things with WeldConstraint
in Studio. I tried to move the build and everything got misaligned by the WeldConstraint
s, even though the game wasn’t running. Then, because they kept their weird internal state, even after I pressed undo, they continued to corrupt the build every single time I tried to do ANYTHING to it.
I don’t remember if I was ever able to recover it.
Wow, this has never happened to be, but I can confirm that I would be very irked to have something like this happen.
How long ago was this? Has anything like this happened recently? If so, then I hope that the RigidConstraint
won’t use a similar internal state. Otherwise this very same thing could happen as well.
Instant fan! Threw a non-skinned accessory on my skinned mesh and added a RigidConstraint, and boom!
This is not strictly the case. WeldConstraint is meant to replace Weld for manually created joints, however Welds are not deprecated. They’re still fully supported, and it does make sense to use them in the case where you want to script the offset between objects.
Unfortunately WeldConstraint did have a rocky past, and didn’t have the level of polish it should have when initially released. At this point it should be fully stable however, if you have experienced issues with WeldConstraint within the last year we’d be interested to hear more.
i dont even know what weldcontraint mean and im a scripter i feel so ashamed
TL;DR: WeldConstraint is like a weld but it joins things together at the offset they had right before you created it rather than you having to manually enter a C0 / C1.
thank you very much for the explanation!
Just to be sure RigidConstraint is like a Weld with C0, C1, equal to the respective Attachments ObjectSpace in relation to their BasePart Parent right?
I feel it would be less efficient with tons of them due to the two attachments, or even in the acute sense against a WeldConstraint for a hat or adornment, just one instance.
WeldConstraint’s low barrier to usage confuses me as to why this was made like is it something else?
I think an better way to conceptualize it is that RigidConstraint is the simplest constraint: It’s a constraint with zero degrees of freedom, exactly snapping the two Attachments together.
It’s not intended that you will be using a “ton of” RigidConstraints. The idea behind RigidConstraints is rather to snap together high-level objects at pre-defined locations, for instance attaching accessories to your character or attaching together large prefab sections of your level. Those aren’t use cases where you’ll be needing that many of them.
Apologies if this has already been raised but is there any ideas or plans to add this force based snapping feature to WeldConstraints?
The systems in my game revolve around building & this feature would be very useful to have for more dynamic creations however to use Attachments doesn’t play as well with my systems as using WeldConstraints where I can just set the two parts.
I understand this would be expensive to compute so having it as a toggle property might be possible?
Sorry again if this has been raised already, just looking for clarification that this is not planned to ever come to WeldConstraints.
Thank you!
Waiting for the day when Roblox gets reduced-coordinate multibodies and this actually becomes true…
(assemblies are a form of this for welds)
Destructible brick walls.