1. CameraRotation脚本,将它给MainCamera,实现上下视角旋转
| using System.Collections; |
| using System.Collections.Generic; |
| using UnityEngine; |
| |
| public class CameraRotation : MonoBehaviour |
| { |
| [Tooltip("鼠标灵敏度")] |
| public float RotateSpeed = 5f; |
| |
| float xRotation = 0f; |
| private void Awake() { |
| |
| Player.tmp_rotateSpeed = RotateSpeed; |
| } |
| void Update() |
| { |
| |
| float mouseY = Input.GetAxis("Mouse Y"); |
| |
| xRotation -= mouseY * RotateSpeed; |
| |
| xRotation = Mathf.Clamp(xRotation, -90, 90); |
| |
| transform.localRotation = Quaternion.Euler(xRotation, 0f, 0f); |
| } |
| } |
| |
| |
| |
2. Player脚本,将它给角色,它会自动添加组件
| using System.Collections; |
| using System.Collections.Generic; |
| using UnityEngine; |
| [RequireComponent(typeof(Rigidbody))] |
| public class Player : MonoBehaviour |
| { |
| |
| public static float tmp_rotateSpeed; |
| [Tooltip("旋转速度")] |
| public float speed = 5f; |
| [Tooltip("跳跃高度")] |
| public float jumpForce = 5f; |
| |
| private Rigidbody rb; |
| |
| void Start() |
| { |
| |
| rb = GetComponent<Rigidbody>(); |
| } |
| |
| void Update() |
| { |
| |
| float mouseX = Input.GetAxis("Mouse X"); |
| |
| transform.Rotate(Vector3.up, mouseX * Player.tmp_rotateSpeed); |
| |
| |
| float moveHorizontal = Input.GetAxis("Horizontal"); |
| float moveVertical = Input.GetAxis("Vertical"); |
| |
| |
| Vector3 movement = (transform.forward * moveVertical * Time.deltaTime + |
| transform.right * moveHorizontal * Time.deltaTime) * speed; |
| |
| |
| rb.Move(rb.position + movement, transform.localRotation); |
| |
| |
| if (Input.GetKeyDown(KeyCode.Space)) |
| { |
| rb.AddForce(Vector3.up * jumpForce, ForceMode.Impulse); |
| } |
| } |
| } |
| |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律