浏览代码

Исправлено вращение камеры, добавлен зум

Andrey Ushakov 1 周之前
父节点
当前提交
594bebff8f

+ 1 - 0
SpaceCraft.Unity/Assets/_Project/Scenes/Game.unity

@@ -276,6 +276,7 @@ MonoBehaviour:
   m_EditorClassIdentifier: Assembly-CSharp::CameraController
   player: {fileID: 1579309476}
   offset: {x: -20, y: 20, z: -20}
+  distance: 20
 --- !u!1 &410087039
 GameObject:
   m_ObjectHideFlags: 0

+ 18 - 0
SpaceCraft.Unity/Assets/_Project/Scripts/Game/CameraController.cs

@@ -18,6 +18,15 @@ public class CameraController : MonoBehaviour
 
     }
 
+    private void Update()
+    {
+        if (Mouse.current.scroll.value != Vector2.zero)
+        {
+            distance -= Mouse.current.scroll.value.y;
+            UpdateCamera();
+        }
+    }
+
     // Update is called once per frame
     private void LateUpdate()
     {
@@ -46,6 +55,15 @@ public class CameraController : MonoBehaviour
             mouseOrigin = mousePosition;
             Camera.main.transform.Translate(mouseDiff3);
             Camera.main.transform.rotation = Quaternion.LookRotation(player.transform.position - Camera.main.transform.position);
+
+            UpdateCamera();
         }
     }
+
+    private void UpdateCamera()
+    {
+        var direction = Camera.main.transform.position - player.transform.position;
+        var normal = Vector3.Normalize(direction);
+        Camera.main.transform.position = normal * distance;
+    }
 }