Hot answers tagged

3

As pointed out in the comments above, the Hinge Joint is not the right type of constraint to use for a sliding door. It handles rotational movement, like a door that swings. For a sliding door, we'd instead use what's called a "Prismatic Joint" Unfortunately, Unity doesn't have a built-in 3D Prismatic Joint component the way it does for springs and hinges. ...


2

You are correct about the fact that the limit isn't a min-max limit, but rather constraints in both directions. So if your goal is to limit your movement range to 0.2 units, your limit has to be set to 0.1 (-0.1 - 0.1). For this to work correctly, your initial "button" position has to be centered between the desired min- and max-position. You can then add ...


1

I used the method @DMGregory suggested and rotated the joint before setting the limits. Since the joint limits rotation and also cannot be disabled I created a script that rotates and then adds the joint. public class ConfigJoint : MonoBehaviour { private ConfigurableJoint joint; [SerializeField] private Rigidbody connectedBody; [Header("...


1

Assuming you are interested in having an enemy that behaves roughly like the Chain Chomp from Mario, rather than one that respects real-world rope physics, I can think of an approach that might work for you. To start with, consider the two possible cases: 1) The head of the snake is at the maximum distance, D, from the rooted point. That is, the chain is ...


1

In most constraint-based physics systems I have seen the contacts are implemented as a constraint, which constrains the two bodies from penetrating the contact. Box2d is no exception. Each degree of a constraint is solved aspart of the jacobian matrix, although some details about ordering of constraints does exist to improve stability. I would study the ...


1

Yes, you would add a distance-constraint (known also as ball-socket joint) between the segments, and keep doing your normal physics on each segment. There is a really simple and effective way to satisfy these constraints, which can be implemented in only a few lines of code. The idea is that you reduce the error in a constraint partially, over and over for ...


1

I solved this by give the little force and forcely wake their rigidbody to every chain over there when it unlinked!


1

The function you are looking for is SetMaxMotorForce. This function is analogous to SetMaxMotorTorque for b2RevoluteJoints.


1

This is a really interesting question and had me thinking about it. I don't think it's a physics question because you want a non physical response. In A you want the left hand block to hover in the air where as, physically, I would expect A to fall and constrain to block B too. So I am not sure that this is a physics problem. Your diagram shows that B is ...


1

You might have these stutters with your car because of the collision update being to slow. You can try setting the collsion update mode on your car's rigidbody to continues dynamic or continues for smoother collision detection. Another solution might be to not use the physics engine but instead make objects move in game code. In a infinite runner game like ...


1

If you apply too much force to a plank, then the connecting joint is going to break. So that should be your indicator that the plank needs to be destroyed. At first, I'd just destroy the plank when the joint of the plank breaks. I think that's pretty much what's happening in the video you linked to. You could further refine the process by doing something ...


1

A possible answer: Angular velocity for the example listed above is w=2 {q_conjg} {q_dot} which turns out to only have a non-zero value in the last term (i.e., only w.z is non-zero). This makes sense since rotation and is about z-axis. If so, imposing an angular velocity that is not aligned with the z-axis would be inconsistent leading to blow up.


Only top voted, non community-wiki answers of a minimum length are eligible