constant force in unity3d:

Constant Force is a quick utility for adding constant forces to a Rigidbody. This works great for one shot objects like rockets, if you don’t want it to start with a large velocity but instead accelerate.

 

 

 

Properties

Property: Function:
Force The vector of a force to be applied in world space.
Relative Force The vector of a force to be applied in the object’s local space.
Torque The vector of a torque, applied in world space. The object will begin spinning around this vector. The longer the vector is, the faster the rotation.
Relative Torque The vector of a torque, applied in local space. The object will begin spinning around this vector. The longer the vector is, the faster the rotation.

Details

To make a rocket that accelerates forward set the Relative Force to be along the positive z-axis. Then use the Rigidbody’s Drag property to make it not exceed some maximum velocity (the higher the drag the lower the maximum velocity will be). In the Rigidbody, also make sure to turn off gravity so that the rocket will always stay on its path.

Hints

  • To make an object flow upwards, add a Constant Force with the Force property having a positive Y value.
  • To make an object fly forwards, add a Constant Force with the Relative Force property having a positive Z value.

Fixed Joint:

Fixed Joints restricts an object’s movement to be dependent upon another object. This is somewhat similar to Parenting but is implemented through physics rather than Transform hierarchy. The best scenarios for using them are when you have objects that you want to easily break apart from each other, or connect two object’s movement without parenting.

 

 

 

 

Properties

Property: Function:
Connected Body Optional reference to the Rigidbody that the joint is dependent upon. If not set, the joint connects to the world.
Break Force The force that needs to be applied for this joint to break.
Break Torque The torque that needs to be applied for this joint to break.
Enable Collision When checked, this enables collisions between bodies connected with a joint.

Details

There may be scenarios in your game where you want objects to stick together permanently or temporarily. Fixed Joints may be a good Component to use for these scenarios, since you will not have to script a change in your object’s hierarchy to achieve the desired effect. The trade-off is that you must use Rigidbodies for any objects that use a Fixed Joint.

For example, if you want to use a “sticky grenade”, you can write a script that will detect collision with another Rigidbody (like an enemy), and then create a Fixed Joint that will attach itself to that Rigidbody. Then as the enemy moves around, the joint will keep the grenade stuck to them.

Breaking joints

You can use the Break Force and Break Torque properties to set limits for the joint’s strength. If these are less than infinity, and a force/torque greater than these limits are applied to the object, its Fixed Joint will be destroyed and will no longer be confined by its restraints.

Hints

  • You do not need to assign a Connected Body to your joint for it to work.
  • Fixed Joints require a Rigidbody.

Hinge Joint:

 

The Hinge Joint groups together two Rigidbodies, constraining them to move like they are connected by a hinge. It is perfect for doors, but can also be used to model chains, pendulums, etc.

 

 

 

 

 

 

 

 

 

 

 

 

 

Properties

Property: Function:
Connected Body Optional reference to the Rigidbody that the joint is dependent upon. If not set, the joint connects to the world.
Anchor The position of the axis around which the body swings. The position is defined in local space.
Axis The direction of the axis around which the body swings. The direction is defined in local space.
Use Spring Spring makes the Rigidbody reach for a specific angle compared to its connected body.
Spring Properties of the Spring that are used if Use Spring is enabled.
        Spring The force the object asserts to move into the position.
        Damper The higher this value, the more the object will slow down.
        Target Position Target angle of the spring. The spring pulls towards this angle measured in degrees.
Use Motor The motor makes the object spin around.
Motor Properties of the Motor that are used if Use Motor is enabled.
        Target Velocity The speed the object tries to attain.
        Force The force applied in order to attain the speed.
        Free Spin If enabled, the motor is never used to brake the spinning, only accelerate it.
Use Limits If enabled, the angle of the hinge will be restricted within the Min & Max values.
Limits Properties of the Limits that are used if Use Limits is enabled.
        Min The lowest angle the rotation can go.
        Max The highest angle the rotation can go.
        Min Bounce How much the object bounces when it hits the minimum stop.
        Max Bounce How much the object bounces when it hits the maximum stop.
Break Force The force that needs to be applied for this joint to break.
Break Torque The torque that needs to be applied for this joint to break.
Enable Collision When checked, this enables collisions between bodies connected with a joint.

Details

A single Hinge Joint should be applied to a GameObject. The hinge will rotate at the point specified by the Anchor property, moving around the specified Axis property. You do not need to assign a GameObject to the joint’s Connected Body property. You should only assign a GameObject to the Connected Body property if you want the joint’s Transform to be dependent on the attached object’s Transform.

Think about how the hinge of a door works. The Axis in this case is up, positive along the Y axis. The Anchor is placed somewhere at the intersection between door and wall. You would not need to assign the wall to the Connected Body, because the joint will be connected to the world by default.

Now think about a doggy door hinge. The doggy door’s Axis would be sideways, positive along the relative X axis. The main door should be assigned as the Connected Body, so the doggy door’s hinge is dependent on the main door’s Rigidbody.

Chains

Multiple Hinge Joints can also be strung together to create a chain. Add a joint to each link in the chain, and attach the next link as the Connected Body.

Hints

  • You do not need to assign a Connected Body to your joint for it to work.
  • Use Break Force in order to make dynamic damage systems. This is really cool as it allows the player to break a door off its hinge by blasting it with a rocket launcher or running into it with a car.
  • The Spring, Motor, and Limits properties allow you to fine-tune your joint’s behaviors.

Unity 3d tutorials