Best way to move several models but still have physics affect them?

My end goal here is to be able to click anywhere on a baseplate or part, and have the model slide to where ever I clicked.

Some Extra Details
  • To increase elevation, the model has to slide up a wedge.
  • The model has welded parts.
  • I’d prefer not using humanoid because having 100+ humanoids causes lag (correct?).

I’ve tried BodyPosition but the model ends up floating if you click a higher elevation (rather than being forced to go up a wedge).

Another problem I’m having is keeping the model upright (due to it being un-anchored). I tried a BodyGyro which sort of does the trick, but the model still is able to fall over and such.

Any ideas? Keep in mind, there are likely going to be upwards of 300 models moving at a given time. All of which have to have separate movements.

Set your BodyPosition’s maxForce on the y axis to 0. Then, it can only slide left/right/front/back.

Yes, but when it tried to go up a wedge, they model will freak-out and tip over.

Ah yeah, that seems about normal. You can also throw in a body gyro to keep it stable. Note, though, that it won’t slide up a ramp with “good” looking angles unless you add scripts to adjust this BodyGyro when you detect a ramp underneath you.

If you’re interested in scripting this, just do a raycast down each ~1 second or so, and use the surface normal to orient your body gyro. You might benefit from taking a few raycasts at different points on the model.

What if I used a Body Velocity then used a Body Gyro to keep the model upright? The main issue is that the Body Gyro doesn’t seem to work 100% of what’s needed.

How does this solve the issue of the body gyro?

You can try, though. I’m not sure it’ll get you what you want.

You can also try using an AlignOrientation, which I find to be easier to understand – especially since you can leave a free axis.