Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Vector3 direction = transform.forward;
- float distance = 1f;
- float stopDistance = 0.5f;
- RaycastHit hit;
- if (Physics.Raycast(transform.position, direction, out hit, distance))
- {
- if (hit.collider.CompareTag("Enemy"))
- {
- float distanceToEnemy = Vector3.Distance(transform.position, hit.collider.transform.position);
- if (distanceToEnemy < stopDistance)
- {
- rb.velocity = Vector3.zero;
- }
- else
- {
- Vector3 avoidDirection = Vector3.Reflect(direction, hit.normal);
- rb.AddForce(avoidDirection * moveForce);
- }
- }
- else
- {
- rb.AddForce(direction * moveForce);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment