diff options
Diffstat (limited to 'AddForceToTarget.cs')
-rw-r--r-- | AddForceToTarget.cs | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/AddForceToTarget.cs b/AddForceToTarget.cs new file mode 100644 index 0000000..9464c97 --- /dev/null +++ b/AddForceToTarget.cs @@ -0,0 +1,26 @@ +using UnityEngine; + +public class AddForceToTarget : MonoBehaviour +{ + public AnimationCurve forceByRangeCurve; + + public Rigidbody target; + + public float force; + + private Transform head; + + private void Start() + { + head = GetComponentInChildren<Head>().transform; + } + + private void FixedUpdate() + { + float num = forceByRangeCurve.Evaluate(Vector3.Distance(head.position, target.position)) * force; + if (num > 0f) + { + target.AddForce((head.position - target.position).normalized * num, ForceMode.Force); + } + } +} |