using UnityEngine; public class SeaCreatureWaypoint : MonoBehaviour { [Header("Waypoint Settings")] public Transform[] waypoints; [Header("Movement Settings")] public float moveSpeed = 2f; public float rotationSpeed = 5f; public float arriveDistance = 0.2f; private int currentWaypoint = 0; void Update() { if (waypoints == null || waypoints.Length == 0) return; Transform target = waypoints[currentWaypoint]; // À̵¿ transform.position = Vector3.MoveTowards( transform.position, target.position, moveSpeed * Time.deltaTime); // ¹Ù¶óº¸´Â ¹æÇâ Vector3 direction = target.position - transform.position; if (direction != Vector3.zero) { Quaternion targetRotation = Quaternion.LookRotation(direction); transform.rotation = Quaternion.Slerp( transform.rotation, targetRotation, rotationSpeed * Time.deltaTime); } // µµÂøÇÏ¸é ´ÙÀ½ ¿þÀÌÆ÷ÀÎÆ® if (Vector3.Distance(transform.position, target.position) < arriveDistance) { currentWaypoint++; if (currentWaypoint >= waypoints.Length) { currentWaypoint = 0; } } } }