You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
	
	
		
			42 lines
		
	
	
		
			975 B
		
	
	
	
		
			C#
		
	
		
		
			
		
	
	
			42 lines
		
	
	
		
			975 B
		
	
	
	
		
			C#
		
	
| 
								 
											1 year ago
										 
									 | 
							
								using UnityEngine;
							 | 
						||
| 
								 | 
							
								using System.Collections;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								namespace RootMotion {
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/// <summary>
							 | 
						||
| 
								 | 
							
									/// The very simple FPS camera.
							 | 
						||
| 
								 | 
							
									/// </summary>
							 | 
						||
| 
								 | 
							
									public class CameraControllerFPS: MonoBehaviour {
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
										public float rotationSensitivity = 3f;
							 | 
						||
| 
								 | 
							
										public float yMinLimit = -89f;
							 | 
						||
| 
								 | 
							
										public float yMaxLimit = 89f;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
										private float x, y;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
										void Awake () {
							 | 
						||
| 
								 | 
							
											Vector3 angles = transform.eulerAngles;
							 | 
						||
| 
								 | 
							
											x = angles.y;
							 | 
						||
| 
								 | 
							
											y = angles.x;
							 | 
						||
| 
								 | 
							
										}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
										public void LateUpdate() {
							 | 
						||
| 
								 | 
							
											Cursor.lockState = CursorLockMode.Locked;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
											x += Input.GetAxis("Mouse X") * rotationSensitivity;
							 | 
						||
| 
								 | 
							
											y = ClampAngle(y - Input.GetAxis("Mouse Y") * rotationSensitivity, yMinLimit, yMaxLimit);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
											// Rotation
							 | 
						||
| 
								 | 
							
											transform.rotation = Quaternion.AngleAxis(x, Vector3.up) * Quaternion.AngleAxis(y, Vector3.right);
							 | 
						||
| 
								 | 
							
										}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
										// Clamping Euler angles
							 | 
						||
| 
								 | 
							
										private float ClampAngle (float angle, float min, float max) {
							 | 
						||
| 
								 | 
							
											if (angle < -360) angle += 360;
							 | 
						||
| 
								 | 
							
											if (angle > 360) angle -= 360;
							 | 
						||
| 
								 | 
							
											return Mathf.Clamp (angle, min, max);
							 | 
						||
| 
								 | 
							
										}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									}
							 | 
						||
| 
								 | 
							
								}
							 |