Rotating Wheels: Looking for Best Approach

I have recently made a module to place a model along predicted keyframes at determined intervals. Seen here:

It works perfectly well, minus the lack of rotation in the wheels. I simply want them to spin on their “axle”.

I’ve tried HingeConstraints:

They weren’t snapping fast enough to the realtime position while rotating. So I upped the MaxTorque:

HingeConstraints are now my enemy.

Here are the options I see remaining:
Motor6D, manually changing welds, some sort of BodyForce, or some AngularVelocity object. I would really appreciate some experienced direction as to which path I should take.

Some details about the rig:
It’s a model of unanchored parts all WeldConstraint’ed to one root. The root’s CFrame gets set, and the parts follow. Each wheel is a model, with all components WeldConstraint’ed to a wheel root. The wheel root would be attached to the body and rotate. I am looking for the most intuitive mechanism for this.

1 Like

you can put a BodyAngularVelocity in there, and rotate the wheels depending on their speed

Would that work around a moving axle?

I just tested it, it does move the axle, but it also affects the whole vehicle as well(assuming that the wheels have can collide on. And assuming you use set primarypartcframe

I found a video that might help:

I would 100% use Motor6D.

[30 characters]

1 Like

Could you explain why you’d choose to use Motor6D for wheels? I personally would try to work with constraints and I’m pretty sure that’s the normal nowadays, just they can be a little awkward to work with if you aren’t familiar with them.

Honestly the only reason I got is that I find them really easy to work with. You just change their velocity, and the wheels turn. I’m not sure what the norm nowadays is, but I think motor6d will work just as well, atleast it has for my projects.

With the Moro6d, if I wanted to make it rotate constantly, would I just set the DesiredAngle to a very high number and let it spin?

1 Like

I’d say you should check which way the vehicle is going first. Then you set it like 360 degrees every fifth second or so, depending on the velocity.

I’m sure you’ve found a solution by now but when it comes to changing velocities of a motor just set the DesiredAngle to inf, or a huge huge number, and then change the MaxVelocity from there based on the speed.

1 Like