Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using UnityEngine;
- public static partial class RigidbodyExt
- {
- public static void AddForceD(this Rigidbody aRB, Vector3 aForce, ForceMode aMode = ForceMode.Force)
- {
- switch(aMode)
- {
- case ForceMode.VelocityChange:
- aRB.velocity += aForce;
- break;
- case ForceMode.Impulse:
- aRB.velocity += aForce / aRB.mass;
- break;
- case ForceMode.Acceleration:
- aRB.velocity += aForce * Time.fixedDeltaTime;
- break;
- case ForceMode.Force:
- aRB.velocity += aForce * Time.fixedDeltaTime / aRB.mass;
- break;
- }
- }
- public static void AddRelativeForceD(this Rigidbody aRB, Vector3 aForce, ForceMode aMode = ForceMode.Force)
- {
- AddForceD(aRB, aRB.rotation * aForce, aMode);
- }
- public static void AddForceD(this Rigidbody aRB, float x, float y, float z, ForceMode aMode = ForceMode.Force)
- {
- AddForceD(aRB, new Vector3(x,y,z), aMode);
- }
- public static void AddRelativeForceD(this Rigidbody aRB, float x, float y, float z, ForceMode aMode = ForceMode.Force)
- {
- AddRelativeForceD(aRB, new Vector3(x, y, z), aMode);
- }
- }
Add Comment
Please, Sign In to add comment