Confused about addForce behavior on 3D objects w/ sub-objects in 2D movement
in a 2.5D game style... When I apply a force to my object equipped with other objects in the forward direction, it works fine. But when I go in the reverse direction, it eventually turns around on its own.
How do I stop this?
Detailed Explanation
Game is a type of 2.5D
I have some objects with varying masses that are equipped by another parent object using FixedHinges.
These objects are symmetrically placed on the parent object so that the respective left/right are mirrors.
Front/Back are not symmetric.
All movement in my game is in 2D only in the xy plane.
All objects are 3D Objects lying in 3D space that are not all perfectly aligned with the 2D xz plane of movement but all center of masses are manually set to be lying on the 2D xz plane of movement (y=0).
All drag and angular drag on each object are set to 0.
There is no friction anywhere as they are hanging in space with no gravity.
All colliders of equipped objects are set to ignore collisions with every other equipped object and the parent object while equipped.
I have the parent's transform's rotation in x and z set to zero and position in y set to zero in Update().
Results
When I addForce to the parent object in a straight line forward: it works perfectly fine. Goes straight while gaining lots of speed and stays balanced.
When I addForce to the parent object in a straight line backwards: once it gets up to speed, it eventually rotates so that the object faces more-or-less forward in the direction of movement (which was initially reverse). I believe most of the weight is concentrated near the back side of the parent object.
When its about to turn, I can see that the object's transform starts to have small rotations in the x and z axis for some reason before it rotates about the y axis as described above. I have the transform's rotation in x and z set to zero and position in y set to zero in Update()...
How can I stop it from doing this? What causes this rotation when the forces are straight and center of masses are aligned and balanced left/right? It works in the forward direction, why would there be any instability in a no-friction no-drag environment for the reverse direction?
Your answer
Follow this Question
Related Questions
AddRelativeTorque and gameobject's angularVelocity 1 Answer
Predicting max jump height of a force impulse 1 Answer
How to throw an object towards a hit.point in first person? 0 Answers
Avoid varying output on same amount of force applied to a Rigidbody2D. 0 Answers
How to make object land on certain point?,How to make object land on certain point?? 0 Answers