Tweening Welded Objects

It seems that you cannot tween objects that are welded together.

In this example, all the objects are welded to the blue part VIA weld constraints.

In order to fix this, I have resorted to tweening a number value, and using a Value.Changed function to set the model primary part CFrame using the value’s value as a guide, however, this creates more work than needs to be done. The desired effect is this:

Unless I have done something wrong, I believe this is a bug.

Update: It works with any other type of constraints, just not welds.

https://gyazo.com/b9555215466329c18a7f0ad2adb618cb

6 Likes

TweenigBug.rbxl (17.3 KB)

This file has a script in workspace.

Looks like you’re tweening the Position property. This is the intended behavior for that property.

Tween the CFrame property instead. Tweening the CFrame property will move the whole welded assembly together.

Changing the Position, Orientation, or Rotation properties will update the values of any rigid joints to allow the part to move. They always did this for WeldConstraints, and used to do a “safe move” and destroy any other weld joints until we changed it to be consistent with WeldConstraints. The current behavior is described more here.

I’d recommend against setting these non-CFrame properties in scripts at all. They’ve always had, and continue to have, weird side effects.

Our API reference doesn’t describe the behavior correctly. Sorry about that. I’ll talk to the docs team.

29 Likes

Hello! how do we tween CFrame?
Can’t find any that teaches me how

CFrame value interpolation

CFrame:Lerp

CFrame property tweening

2 Likes