[Live] Changes to Motor6D.Transform and Motor.CurrentAngle

No. But if you’re not using the Transform property at all you should not use Motor6D. They’re meant for animation, and changing Motor6D.Transform is very efficient for that and we’re currently optimizing it even more. Otherwise you should just use a Weld, which has the same effect with less overhead.

If you are animating C0/C1 you probably shouldn’t that, since that avoids any of the optimizations we have for animated Motor6Ds. It’s measurably more expensive.

2 Likes

If they are also being controlled by an Animator, yes. Animator will still overwrite Transform before Stepped, and Transform will be applied to move the parts immediately after Stepped.

Changes made any other time will be overwritten before they can take effect.

If there is no Animator you can change Transform at any time. Stepped is still the most appropriate place, the latest possible time closest to when it is applied, where you’ll have the most up to date inputs possible.

3 Likes

That honestly sounds like a neat idea for a module, to set/disable replication however you want. However, it could come with some implications, like people using it for the wrong reasons when doing all that per client would be the better option.

2 Likes

But if the 6DMotor uses the .CurrentAngle & .DesiredAngle property is it affected?

1 Like

Had to check, CurrentAngle and DesiredAngle are affected. I’ll update the post.

2 Likes

I made System for that, which replicates every instance to server only when that instance contains “ReplicatedConnection” object. Would be this useful? If I posted that to #resources:community-resources?

2 Likes

Ok, today is Monday. I don’t see the update in production. Works fine in Studio with the beta checkmark. When does it hit production?

Seems like some animators were maybe confused by this post, so here’s my summary:

  • Before Roblox would pick which side of the animation as the parentPart and the childPart based upon the assembly root part. This causes issue when root part swaps around.
  • Now parentPart is always Part0 and childPart is always part1

Other hot take-aways from this post:

  • Update animations on stepped, use transform only
  • Motor6D be cheap

Questions I have:

  • Does Motor6D velocity/desired angle/current angle do anything?
  • Why would you use this over a traditional hinge constraint?
  • Are these properties performance friendly?
6 Likes

Thanks for the summary.

Answers I have:

  • Yep… Not that I’d recommend using them. If the Motor6D is not animated by an Animator or the Transform property it will function exactly as they do on the ancient legacy Motor instance that they are inherited from.
  • You might use the if you wanted something to have some constant rotation, it was a purely visual effect, and you wanted no amount of force to be able to stop it. Parts connected by a Motor6D are a single rigid body. The movement has no physical velocity attached to it and doesn’t apply any torque. It’s an animated weld. I’d usually use a hinge constraint instead.
  • Same performance cost of an animated Motor6D in general.
4 Likes

It’s in the release queue, but the queue is long today. Might be later today or more likely earlier tomorrow at this rate.

3 Likes

Took an extra day but it’s enabled now, as of 4:14 PM, April 21st PST.

8 Likes

Best update ever. I had been dealing with this odd behaviour for a long while which lead me to either abandoning the project or create ugly solutions for those Motor behaviour.

Definitely looking forward to see how this gonna go!!

I can’t seem to see this option in my Beta list in Studio.

The update is live now.
(30 ch)

As much as I’d want to like this update, you just broke a massive amount of vehicles uploaded to Roblox, also putting tens (if not hundreds) of games on halt so we can fix our cars.

3 Likes

Interesting… Not on my screen.

This is so epic. Mind blown.

So whenever I try to animate my own custom rig with the legacy Motor6D handler, It gets weird (and frustrating real quick). Hopefully this works. Thanks.

“If you think this change might affect you, you can enable it now in Studio Beta Features:”

A warning was set out a week ago to tell users to enable the beta in studio to test it and prepare their games for the fixed release.

I think that this could be a useful change!

This change just inverted all my DesiredAngle inputs…

I understand why this change has to occur but it sucks that many older games who dont update will now potentially have inverted Motor6D behavior with regard to DesiredAngle.

4 Likes