MoveTo movement exception


The white pet is a model that I imported externally using moveTo. Why does it not stop when it reaches its destination, but only stop after crossing it, while the red one is normal? Why is that? The imported model is humanoid, and I have converted it to humanoid. The following image shows the construction of the model
44b1ccd9a4b79ab22045f4f32c29a26d

Could you show how you are calling MoveTo?

Since it looks like the model is sliding at the end, my guess is that the mesh of the rig is colliding with the ground below where the HRP is located. This is something I had to deal with a lot when first importing rigged custom models. I had to do a lot of experimentation to get this right.

Essentially, it boils down to this: the “feet” or “legs” of your model ideally should have CanCollide off. Go into an empty Baseplate, hit Play, and assuming your character is R15, look at the individual parts. You’ll notice that none of the parts in the legs or arms are actually collide-able (see image)


If you play around with your character a bit, you’ll find that what’s actually holding you up is your HumanoidRootPart. The height of your character is determined by a property in Humanoid called “HipHeight”.

This is how I suggest you fix your issue:

  1. Before hitting play, make all of your Model’s parts un-collide-able except the HumanoidRootPart. You can have HRP collide-able but generally I think it’s better to keep that one collide-able for general collision purposes. Also, make sure that your HRP is smaller than your Model’s bounding box. Notice how in the default R15 rig, it’s 2x2x1 studs, which is much smaller than the character model itself.
  2. Disable the MoveTo script temporarily or anything that makes the Humanoid walk, we’re just gonna be testing and adjusting
  3. Hit Play and observe your model. Observe where its feet are. Go into the Humanoid (while in Play test) and change the HipHeight property until the feet are exactly where they should be. From your video, it seems like they are probably close because of the fact that the model is sliding, but I would just mess around with it to be sure. Save this HipHeight value.
  4. Stop your play test, and adjust the Humanoid HipHeight value to the HipHeight value you found during the play test.

While keeping all of the feet parts (or any parts that could potentially collide with the ground below the HRP) CanCollide = false, your model should go to where you want it to go to, and no longer slide around.

image


I set it up according to your instructions, but still couldn’t succeed

Can you make sure that the Humanoid’s RootPart property is set to your HumanoidRootPart and not the part called RootPart?

Is the dragon sliding a bit? Do you notice any acceleration/deceleration? Ideally, the dragon remain at the same speed the whole time. If it’s not accelerating or decelerating, then it’s probably not the rig.

The imported model does not have a humanoidRootPart, it was built by myself. Below is the structure of the rootpart
image

I meant did you make sure to set the HumanoidRootPart property of Humanoid to your created HumanoidRootPart

yes,Yes, I did set the humanoid rootpart attribute of humanoid to the humanoid rootpart I created,But I found that by canceling and recombining the model and then reassembling it, the moveto function normally, but the positions of the animation and bones have changed