From 95fd22f2d89d78d93d27c7ec9b841427ec851b9c Mon Sep 17 00:00:00 2001 From: pengjunwu <1263019465@qq.com> Date: Wed, 17 Jan 2024 19:18:23 +0800 Subject: [PATCH] =?UTF-8?q?=E7=9B=B8=E6=9C=BA=E6=9C=BA=E4=BD=8D=E6=8E=A7?= =?UTF-8?q?=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Assets/Code/Scripts/Gameplay/Camera.meta | 8 ++++ .../{Map => Camera}/CameraController.cs | 0 .../{Map => Camera}/CameraController.cs.meta | 0 .../Scripts/Gameplay/Camera/CameraStand.cs | 44 +++++++++++++++++++ .../Gameplay/Camera/CameraStand.cs.meta | 11 +++++ 5 files changed, 63 insertions(+) create mode 100644 ProjectNLD/Assets/Code/Scripts/Gameplay/Camera.meta rename ProjectNLD/Assets/Code/Scripts/Gameplay/{Map => Camera}/CameraController.cs (100%) rename ProjectNLD/Assets/Code/Scripts/Gameplay/{Map => Camera}/CameraController.cs.meta (100%) create mode 100644 ProjectNLD/Assets/Code/Scripts/Gameplay/Camera/CameraStand.cs create mode 100644 ProjectNLD/Assets/Code/Scripts/Gameplay/Camera/CameraStand.cs.meta diff --git a/ProjectNLD/Assets/Code/Scripts/Gameplay/Camera.meta b/ProjectNLD/Assets/Code/Scripts/Gameplay/Camera.meta new file mode 100644 index 00000000000..e8b3a5a684a --- /dev/null +++ b/ProjectNLD/Assets/Code/Scripts/Gameplay/Camera.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 905277e7c44a6ed4bb97265276a54938 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ProjectNLD/Assets/Code/Scripts/Gameplay/Map/CameraController.cs b/ProjectNLD/Assets/Code/Scripts/Gameplay/Camera/CameraController.cs similarity index 100% rename from ProjectNLD/Assets/Code/Scripts/Gameplay/Map/CameraController.cs rename to ProjectNLD/Assets/Code/Scripts/Gameplay/Camera/CameraController.cs diff --git a/ProjectNLD/Assets/Code/Scripts/Gameplay/Map/CameraController.cs.meta b/ProjectNLD/Assets/Code/Scripts/Gameplay/Camera/CameraController.cs.meta similarity index 100% rename from ProjectNLD/Assets/Code/Scripts/Gameplay/Map/CameraController.cs.meta rename to ProjectNLD/Assets/Code/Scripts/Gameplay/Camera/CameraController.cs.meta diff --git a/ProjectNLD/Assets/Code/Scripts/Gameplay/Camera/CameraStand.cs b/ProjectNLD/Assets/Code/Scripts/Gameplay/Camera/CameraStand.cs new file mode 100644 index 00000000000..dee15aacd51 --- /dev/null +++ b/ProjectNLD/Assets/Code/Scripts/Gameplay/Camera/CameraStand.cs @@ -0,0 +1,44 @@ +using System.Collections; +using System.Collections.Generic; +using Gameplay; +using PhxhSDK; +using Sirenix.OdinInspector; +using UnityEngine; + +/// +/// 记录一个相机的机位 +/// +public class CameraStand : MonoBehaviour +{ + [LabelText("是否正交")] + [SerializeField] + private bool _isOrthographic; + + [ShowIf("isOrthographic")] + [LabelText("正交size")] + [SerializeField] + private float _size; + + [HideIf("isOrthographic")] + [LabelText("FOV")] + [SerializeField] + private float _fov; + + private Camera DefaultCamera => CommonUtils.GetSceneRootComponent(gameObject.scene) ?? Camera.main; + + [Button("测试机位")] + private void TestStand() + { + Apply(); + } + + public void Apply(Camera targetCamera = null) + { + targetCamera = targetCamera ? targetCamera : DefaultCamera; + var trans = transform; + targetCamera.transform.SetPositionAndRotation(trans.position, trans.rotation); + targetCamera.orthographic = _isOrthographic; + targetCamera.orthographicSize = _size > 0 ? _size : targetCamera.orthographicSize; + targetCamera.fieldOfView = _fov > 0 ? _fov : targetCamera.fieldOfView; + } +} \ No newline at end of file diff --git a/ProjectNLD/Assets/Code/Scripts/Gameplay/Camera/CameraStand.cs.meta b/ProjectNLD/Assets/Code/Scripts/Gameplay/Camera/CameraStand.cs.meta new file mode 100644 index 00000000000..75db321bc6a --- /dev/null +++ b/ProjectNLD/Assets/Code/Scripts/Gameplay/Camera/CameraStand.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 4f06003f27e2f0046bc4ef474712ceea +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: