12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- using System.Collections;
- using System.Collections.Generic;
- using UnityEngine;
- public class CameraLogic : MonoBehaviour
- {
- CharacterController playerController;
- Vector3 direction;
- public float speed = 10;
- public float jumpPower = 5;
- public float gravity = 7f;
- public float mousespeed = 5f;
- public float minmouseY = -45f;
- public float maxmouseY = 45f;
- float RotationY = 0f;
- float RotationX = 0f;
- public Transform agretctCamera;
-
- void Start()
- {
- playerController = this.GetComponent<CharacterController>();
- }
-
- void Update()
- {
- float _horizontal = Input.GetAxis("Horizontal");
- float _vertical = Input.GetAxis("Vertical");
- if (playerController.isGrounded)
- {
- direction = new Vector3(_horizontal, 0, _vertical);
- if (Input.GetKeyDown(KeyCode.Space))
- direction.y = jumpPower;
- }
- direction.y -= gravity * Time.deltaTime;
- playerController.Move(playerController.transform.TransformDirection(direction * Time.deltaTime * speed));
- RotationX += agretctCamera.transform.localEulerAngles.y + Input.GetAxis("Mouse X") * mousespeed;
- RotationY -= Input.GetAxis("Mouse Y") * mousespeed;
- RotationY = Mathf.Clamp(RotationY, minmouseY, maxmouseY);
- this.transform.eulerAngles = new Vector3(0, RotationX, 0);
- agretctCamera.transform.eulerAngles = new Vector3(RotationY, RotationX, 0);
- }
- }
|