using UnityEngine; public class ChairController : MonoBehaviour { public float minX = -2f; // ÃÖ¼Ò X À§Ä¡ public float maxX = 2f; // ÃÖ´ë X À§Ä¡ [Range(0.01f, 0.1f )] public float Sensitivity = 0.1f; private Vector3 offset; private float startX; private bool isDragging = false; private Camera mainCamera; void Start() { mainCamera = Camera.main; } public void OnDrag() { startX = transform.localPosition.x; isDragging = true; offset = transform.localPosition - GetMouseWorldPos(); } public void OffDrag() { isDragging = false; } void Update() { if (isDragging) { Vector3 newPosition = GetMouseWorldPos() + offset; float deltaX = newPosition.x - startX; float originalX = transform.localPosition.x; // X ÃàÀ¸·Î¸¸ À̵¿Çϸç, ÃÖ¼Ò/ÃÖ´ë ¹üÀ§ ³»¿¡¼­¸¸ À̵¿ float newX = Mathf.Clamp(originalX + deltaX * Sensitivity, minX, maxX); transform.localPosition = new Vector3(newX, transform.localPosition.y, transform.localPosition.z); startX = transform.localPosition.x; } } Vector3 GetMouseWorldPos() { Vector3 mousePoint = Input.mousePosition; mousePoint.z = mainCamera.WorldToScreenPoint(transform.localPosition).z; return mainCamera.ScreenToWorldPoint(mousePoint); } }