private void Update() { if (Input.GetKeyDown(KeyCode.Space)) { playerCombatControler.TryAttackEnemy(); } if (target == null) { return; } var vecForward = transform.forward; var vecToEnemy = target.transform.position - transform.position; theteText.text = (Mathf.Acos(Vector3.Dot(vecForward.normalized, vecToEnemy.normalized)) * Mathf.Rad2Deg).ToString(); var vecRight = transform.right; string text = (Mathf.Acos(Vector3.Dot(vecRight.normalized, vecToEnemy.normalized))) <= halfPi ? "right " : "left "; text += (Mathf.Acos(Vector3.Dot(vecForward.normalized, vecToEnemy.normalized))) <= halfPi ? "forward" : "back"; leftRightText.text = text; collidedText.text = (Radius + target.Radius) > Vector3.Distance(transform.position, target.transform.position) ? "collision" : "no collision"; }
public void Update() { targetCombatController.TryAttackEnemy(); float distance = Vector3.Distance(targetPosition, transform.position); if (SeePlayer()) { SetNextTarget(player.transform.position); } if (PlayerInRange()) { return; } if (distance < 0.1f) { SetNextTarget(); return; } Vector3 moveVector = (targetPosition - transform.position).normalized * speed * Time.deltaTime; if (Vector3.Magnitude(moveVector) > distance) { transform.position = targetPosition; return; } transform.position += moveVector; }