Bug with Align Position not applying any forces ("Full Freeze" or "Anchor")

I have a problem with AlignPosition constraint and possibly AlignOrientation, this is more of a Bug than a problem, because i reviewed all possible problem sources and simply found nothing.

Basically what i am trying to achieve is a Grab system, im using align position and align orientation since bodymovers are outdated. To make grabbing smooth and convenient i pass the calculations to client via server request, no problems are found within network passing since i’ve checked the held problematic part had my ownership in every each of its component that can be set a network owner.

This bug consits of Multi-part models with welds just completly freezing upon adding the force, i use TwoAttachment mode and second attachment is in the part which updates with every frame according to How you would’ve implemented a grab system in a game.

Here is the video that shows the issue (Ex. 1: Part that just freezes, it seems like its too heavy, but i checked and found out it can freeze mid-air if grabbed; Ex. 2: Normal part with 2 welds, it just seems to be working completly normal and that how it should work)

The blue line in Ex.1 is AlignPosition force with ReactionForceEnabled, it shows where it must be, but for some reason it’s just frozen.

Also wanted to note that unwelding a part from that model makes u able to grab the unwelded part (the rest of the model still remains intact) and also if u grab the union thats used in the part, the issue dissapears, but still most of my models in game don’t feature a Union in each of them.

Hope roblox Support sees this and adds this to their fix list, im 100% sure its a bug of the engine.

2 Likes

Definitely seems like that should work, all the ownership stuff and setup sounds 100% correct.

This would seem to me like a replication issue, I know this is a common effect from the server having ownership while trying to moving it on the client (because the server isn’t overriding the client’s update because it doesn’t move on the server but the client isn’t running physics because it doesn’t have ownership).

It would also be worth checking if removing the AlignPosition and the AlignOrientation causes the part to stop floating. Maybe it’s being set somehow to “go to” it’s own position + orientation.

This part is really strange. So it works only if the BasePart being dragged is a Union? I wonder if perhaps this means it’s a problem in the code (though honestly Unions can be buggy as heck, so I wouldn’t be surprised if this was some sort of edge case) or a problem with the structure of the object.

Could you send a screenshot of the AlignPosition properties? I could triple check them for you.

Maybe also a picture of the explore for the model. Have you tried this for other models too? Does the same thing happen for all of them?

Also just to double check, I assume you’re using WeldConstraints? Welds are more likely to have problems since they’re depreciated, though Roblox should still be fixing bugs related to them and this shouldn’t happen.

What is the purpose of ReactionForceEnabled here? I recall this just applies forces to the assemblies of both the attachments. Perhaps if the second goal attachment is inside the model too it’s causing it to apply a canceling force? Wouldn’t explain the problem completely but might be something to look at.

Idk why it only works when grabbing a union, its real weird, also it doesnt not set any go to’s because i use two attachment mode which is automatically homing at each other

here is the align pos properties (and yes, it does stop floating once i remove the forces)

изображение_2024-02-28_215912520

ReactionForceEnabled so it’s more smooth.

Oh and also, the second attachment (where the parts grip point should move to) is set to an anchored part which i updated the cframe of, so it should work, which does work with Ex. 2.

Also one of my observations: I found out that setting the the part (thats grip point aims to) to false anchored and updating it’s CFrame then toggling RigidityEnabled will cause the part to atleast move although that movement is not enough because it just scattles around the floor, but alteast its some progress.

1 Like

I assume that Attachment1 gets set later?

Gotcha. That should work.

Would reaction forces make it more smooth? I think it would just try to pull on the anchored part in the opposite direction.

Perhaps as an experiment try setting RigidityEnabled and ApplyAtCenterOfMass to true and set RigidityEnabled to false to rule out any weird physics things.

This part is really confusing. I guess this means something about the forces is causing the parts to float?

A long shot guess is that this might be from ApplyAtCenetOfMass being false in the AlignPosition causing the torque it applies to conflict with the AlignOrientation’s torque, causing the AlignPosition’s force to be maxed out.

Another theory is that because ReactionForceEnabled tries to apply equal and opposite forces, because the second part is anchored (and forces can’t be applied) it doesn’t apply the other forces. In regular physics, if there isn’t a reaction force then the other force can’t exist, though in Roblox’s engine it’s ambiguous how anchored parts “take” force.

It might be worth trying the simplified physics settings above. If those work, perhaps the force just needs to be set relative to the mass of the model’s assembly.

Found some kind of resolve, although it’s a little possessed, still a weird bug by that i found.

Thanks for your help stranger! I really appreciate you spent your time on my issue, your contribution will be noted into the Refinery Caves 2 credits!

1 Like

It looks like it’s over correcting. Maybe a lower responsiveness is needed? What settings produced that?

(I’ve gtg.)

I wonder why does the UI look so green, compared to the ‘modernier’ style of the original Refinery Caves… (I played the original months ago :cool: and have a huge warehouse, I wonder if there will be trading objects, since I wanted to create a shop there.)

Also, when I tried using both AlignPosition and AlignOrientation it was very buggy (the objects could clip throught other objects), I’d use LineForce with AlignOrientation. But, It’s a pretty old game I was creating, and unrelated to the concept of Refinery Caves. Maybe, Roblox fixed the bugs AlignPosition had.

Maybe reducing MaxVelocity drastically? It looks like it’s overshooting, I’d create a script that changes MaxVelocity depending on the distance of the object every RunService.Heartbeat.

i weld the grip part to something anchored and change its cframe via welds
the bug source was the grip part not being anchored. (The ui is not green, just the cash frame is)

1 Like

Oh, I thought the ‘+’ button didn’t refer to cash. But, I’d assume is just a monetization-related feature.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.