From 5b39ed73773c9f824629b719cf6f364c0e6d0f68 Mon Sep 17 00:00:00 2001 From: shenjianxing <”315615051@qq.com“> Date: Tue, 4 Mar 2025 11:54:15 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E7=9B=B8=E6=9C=BA=E8=AE=BE?= =?UTF-8?q?=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/Scenes/Main.unity | 27 +++++++++++ Assets/Scripts/FreeCameraController.cs | 63 ++++++++++++++++++++++---- 2 files changed, 81 insertions(+), 9 deletions(-) diff --git a/Assets/Scenes/Main.unity b/Assets/Scenes/Main.unity index 7421c9a0..80a6a8ac 100644 --- a/Assets/Scenes/Main.unity +++ b/Assets/Scenes/Main.unity @@ -140,6 +140,7 @@ GameObject: - component: {fileID: 547432237} - component: {fileID: 547432236} - component: {fileID: 547432244} + - component: {fileID: 547432245} m_Layer: 0 m_Name: FlyCamera m_TagString: MainCamera @@ -354,6 +355,32 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: animSpeed: 1 +--- !u!143 &547432245 +CharacterController: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 547432235} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Height: 0.13 + m_Radius: 0.03 + m_SlopeLimit: 10 + m_StepOffset: 0.1 + m_SkinWidth: 0.0001 + m_MinMoveDistance: 0.001 + m_Center: {x: 0, y: 0, z: 0} --- !u!1 &555070715 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/Scripts/FreeCameraController.cs b/Assets/Scripts/FreeCameraController.cs index d8f5a18b..0e4c3bf4 100644 --- a/Assets/Scripts/FreeCameraController.cs +++ b/Assets/Scripts/FreeCameraController.cs @@ -22,11 +22,16 @@ public class FreeCameraController : MonoBehaviour private float yRotation = 0.0f; public bool isMov = true; public bool isRot = true; - + CharacterController ctrlor; private void Awake() { instance = this; DontDestroyOnLoad(this); + + // Cm = GameObject.Find("Mcam"); + ctrlor = GetComponent(); + + Global.appSetting.MouseMoveSpeed.RegisterWithInitValue(v => rotateSpeed = v); } @@ -53,15 +58,55 @@ public class FreeCameraController : MonoBehaviour { if (isMov) { - // ƶ - float horizontal = Input.GetAxis("Horizontal") * moveSpeed * Time.deltaTime; - float vertical = Input.GetAxis("Vertical") * moveSpeed * Time.deltaTime; + //// ƶ + //float horizontal = Input.GetAxis("Horizontal") * moveSpeed * Time.deltaTime; + //float vertical = Input.GetAxis("Vertical") * moveSpeed * Time.deltaTime; - Vector3 move = transform.right * horizontal + transform.forward * vertical; - - transform.position += move; - //QEƶ - transform.position+= GetInputTranslationDirection()*0.01f; + //Vector3 move = transform.right * horizontal + transform.forward * vertical; + + //transform.position += move; + + + //Wǰ + if (Input.GetKey(KeyCode.W)) + { + Vector3 forward = transform.TransformDirection(Vector3.forward); + ctrlor.Move(forward * moveSpeed * Time.deltaTime); + + } + //S + if (Input.GetKey(KeyCode.S)) + { + Vector3 back = transform.TransformDirection(Vector3.back); + ctrlor.Move(back * moveSpeed * Time.deltaTime); + + } + //Aƶ + if (Input.GetKey(KeyCode.A)) + { + Vector3 left = transform.TransformDirection(Vector3.left); + ctrlor.Move(left * moveSpeed * Time.deltaTime); + } + //D + if (Input.GetKey(KeyCode.D) && gameObject.transform.position.y > 0) + { + Vector3 right = transform.TransformDirection(Vector3.right); + ctrlor.Move(right * moveSpeed * Time.deltaTime); + } + //E + if (Input.GetKey(KeyCode.Q)) + { + Vector3 upward = transform.TransformDirection(Vector3.up); + ctrlor.Move(upward * moveSpeed * Time.deltaTime); + } + //E + if (Input.GetKey(KeyCode.E)) + { + Vector3 down = transform.TransformDirection(Vector3.down); + ctrlor.Move(down * moveSpeed * Time.deltaTime); + } + ////QEƶ + //transform.position+= GetInputTranslationDirection()*0.01f; } if (isRot)