Untitled
unknown
plain_text
2 years ago
941 B
4
Indexable
public void LockOnEnemy() { LayerMask lockOnLayer = LayerMask.GetMask("Enemy"); Collider[] enemies = Physics.OverlapSphere(transform.position, lockOnRadius, lockOnLayer); if (enemies.Length > 0) { Debug.Log("Targeting " + enemies[0].name); float nearestDistance = Mathf.Infinity; foreach (Collider enemy in enemies) { float distance = Vector3.Distance(transform.position, enemy.transform.position); if (distance < nearestDistance) { nearestDistance = distance; targetEnemy = enemy.transform; } } } else { targetEnemy = null; } if (targetEnemy != null) { // Rotate the player towards the target enemy. Vector3 direction = (targetEnemy.position - aimLockPoint.position).normalized; direction.y = 0; transform.rotation = Quaternion.Slerp(transform.rotation, Quaternion.LookRotation(direction), Time.deltaTime * 10f); } }
Editor is loading...