From ec231f4110c782d44ea2820a1eaaa7a5711c6f16 Mon Sep 17 00:00:00 2001 From: smchoi <ws5260@naver.com> Date: 수, 24 7월 2024 13:29:47 +0900 Subject: [PATCH] Add : 카메라 줌인& 줌아웃 기능 추가 --- Assets/Korail/Scripts/Control/MoveCamera.cs | 55 ++++++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 42 insertions(+), 13 deletions(-) diff --git a/Assets/Korail/Scripts/Control/MoveCamera.cs b/Assets/Korail/Scripts/Control/MoveCamera.cs index fea1163..c89a730 100644 --- a/Assets/Korail/Scripts/Control/MoveCamera.cs +++ b/Assets/Korail/Scripts/Control/MoveCamera.cs @@ -13,24 +13,27 @@ /// 移대찓�씪 �떆�젏 蹂�寃� �냽�룄 /// </summary> public float CameraRotationSpeed = 4; - ///// <summary> - ///// 留덉슦�뒪 �쑀 以� �냽�룄 - ///// </summary> - //public float ZoomSpeewd = 5000.0f; - ///// <summary> - ///// 以� 理쒖넖媛�, �옉�쓣 �닔濡� �솗���븷 �닔 �엳�뒗 �닔移섍� 而ㅼ쭚 - ///// </summary> - //public float MinZoomValue = 10; - ///// <summary> - ///// 以� 理쒕�媛�, �겢 �닔濡� 異뺤냼�븷 �닔 �엳�뒗 �닔移섍� 而ㅼ쭚 - ///// </summary> - //public float MaxZoomValue = 60; + /// <summary> + /// 留덉슦�뒪 �쑀 以� �냽�룄 + /// </summary> + public float ZoomSpeed = 50.0f; + + public float ZoomMoveSpeed = 40f; + /// <summary> + /// 以� 理쒖넖媛�, �옉�쓣 �닔濡� �솗���븷 �닔 �엳�뒗 �닔移섍� 而ㅼ쭚 + /// </summary> + public float MinZoomValue = 10; + /// <summary> + /// 以� 理쒕�媛�, �겢 �닔濡� 異뺤냼�븷 �닔 �엳�뒗 �닔移섍� 而ㅼ쭚 + /// </summary> + public float MaxZoomValue = 90; /// <summary> /// 移대찓�씪 �씠�룞 �냽�룄 /// </summary> [Range(1f, 10f)] public float CameraMoveSpeed = 4; + /// <summary> @@ -58,13 +61,19 @@ /// </summary> private Vector3 m_CameraInitOffset; + private Camera m_Camera; + private float initFieldOfView = 60.0f; + private float targetFieldOfView = 60.0f; public override void Awake() { } void Start() { + + m_Camera = Camera.main; + mouseLeftButton = Mouse.current.leftButton; @@ -97,7 +106,23 @@ } + float scrollValue = Input.GetAxis("Mouse ScrollWheel") * ZoomSpeed; + if(scrollValue < 0 && m_Camera.fieldOfView > MinZoomValue) + { + targetFieldOfView = m_Camera.fieldOfView + scrollValue; + } + else if(scrollValue > 0 && m_Camera.fieldOfView < MaxZoomValue) + { + targetFieldOfView = m_Camera.fieldOfView + scrollValue; + } + + if(Input.GetKeyUp(KeyCode.Mouse2)) + { + targetFieldOfView = initFieldOfView; + } + + m_Camera.fieldOfView = Mathf.Lerp(m_Camera.fieldOfView, targetFieldOfView , Time.deltaTime * ZoomMoveSpeed); } @@ -180,7 +205,11 @@ transform.position += movePosition; - + if(transform.position.y < 0) + { + movePosition =new Vector3(transform.position.x, 0, transform.position.z); + transform.position = movePosition; + } -- Gitblit v1.8.0