Thank the lord i am very greatful of this
This is great thank you for adding this.
What about some of the angular constraints?
Take this example: I have an object in mid air, I want to apply angular velocities to the X and Z rotation of the object, and I want to align the Y rotation to a specific angle. So I would want to use an AngularVelocity and AlignOrientation.
From what I understand AlignOrientation will only allow you to apply torque to a minimum of 2 axes by enabling the property âPrimaryAxisOnlyâ. Seeing as AlignPosition will now be able to apply force to either 1, 2 or 3 axes, it would make sense that AlignOrientation can do the same by turning MaxTorque into a Vector3, this would be a lot more cohesive.
And again, AngularVelocityâs MaxForce is a number not a Vector3, so AngularVelocity and AlignOrientation are gonna be fighting each other because Iâm unable to separate their torques into the axes I want. AngularVelocityâs counterpart, LinearVelocity, does allow you to only apply force in specific axes. The current constraints system really just doesnât feel âcompleteâ in a way and itâs been out for a long time now.
So once again BodyMovers (BodyAngularVelocity, BodyGyro) are the better option here despite being deprecated and I am forced to use them to get the functionality I want.
This still does not fix any issue on the topic of AlignOrientation having the minimum 2 axes.
I had a draft in this topic for a few months at one point saying that this would make sense to do but what would the new property be called? They canât just change a property type and expect all those games to still work.
This is what theyâre gonna do for AlignPosition I believe. They could do a similar thing for AlignOrientation.
Very excited for the ForceLimitMode, ForceRelativeTo, and MaxAxesForce features to be added soon. I am currently developing an experience that uses these features. It would also be nice to see these in AlignOrientation, not just AlignPosition.
Good good good. Is the change live yet?
after extensive testing, no; should be soon though
it has been roughly 2 months since this post, do we have any possible ETA?
Sorry for the delay. This feature is now live. Let me know what you think.
Working a treat! Any chance this will appear on AlignOrientation as well?
AlignOrientation is quite a bit more difficult due to the nonlinear nature of the constraint. Do you have any use cases that wouldnât be covered by one or more AlignOrientation constraints covering different Axes? If the goal is to simply disable particular dimensions (by setting some components of a vector torque to zero), we can accomplish that easier with different AlignTypeâs or even OrientationAlignmentModeâs.
I basically need AlignOrientation to only work on one axis, to prevent my trains tipping over. See my quote earlier in this post:
I need to stop my trains tipping over, but still allow them to go round curves and up hills, thus, only limiting the Z axis. If what was added to AlignPosition (or something similar) was added to AlignOrientation this would fix my problem, especially as BodyGyro, which I am still haviung to use, also allows limiting on one axis.
the way youre thinking about this is wrong however, unless youre planning your train to be perfectly flat 100% of the time
How? As shown in this GIF I want to limit the train (or in this case, part) from tilting left and right, effectively the red axis (which is the Z axis on the partâs orientation). The other two I need to freely move for hills and corners.
I believe this is currently possible with AlignOrientation using the PrimaryAxisOnly option and the Perpendicular AlignType. You would create an Attachment with the PrimaryAxis oriented with the Y-Axis of the part and set the PrimaryAxis of the AlignOrientation constraint to be the X-Axis. This should replicate what you had with the BodyGyro when using a non-zero torque only on the Z-axis. As the train turns, you may need to adjust the PrimaryAxis on the AlignOrientation to ensure it can go up and down hills oriented in different directions but I assume you were already doing that when using the BodyGyro. Would this setup work for your case here?
I have attempted to do as you describe, but its proven challenging, and as you say, requires adjusting the PrimaryAxis. It would be a lot simpler to have a way to limit what Axis the AlignOrientation effects, similar to the feature recently added to AlignPosition and what BodyGyro had, for simplicity more than anything.
Iâve been having issues with a similar thing to @TheModsterRB as well.
I need to make a character stand upright but be able to turn freely from physics, and bodygyro works perfectly for this but itâs buggy sometimes.
I tried using primary axis on AlignOrientation but it didnât work (the reasoning is complicated) and I agree that it would be much better if the force could be limited per axis.
Currently I have to use a bodygyro which is definitely not ideal as itâs deprecated but itâs the only thing that does the job correctly.
The basic reason of why the primary axis didnât work is it allowed the character to be rotated upside-up AND upside-down, as it was on parallel mode.
Parallel mode was the closest to it working I could get.
Still looking for AlignOrientation limits.
Started working on a game that needed this about a week ago, so this is great timing, one issue I have though, is that using RigidityEnabled seems to not be compatible with the PerAxis setting, as enabling it hides all the options pertaining to the axes, and forces it to apply to all 3 axes again. Is it possible that this feature could work with rigidity? If not, I guess itâs close enough.
The feature we implemented only relates to how the constraint force is limited. If you want rigid behavior on a per-axis basis, you are much better off using a planar constraint or cylindrical constraint. Is there anything about these constraints that make them unappealing for your scenario?