Real simple character controller
This commit is contained in:
parent
771feb8fde
commit
18f0a6ef89
6 changed files with 361 additions and 21 deletions
242
Assets/Player/Player v2.prefab
generated
Normal file
242
Assets/Player/Player v2.prefab
generated
Normal file
|
|
@ -0,0 +1,242 @@
|
|||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &2141177638863853690
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 7697809476534322287}
|
||||
- component: {fileID: 1083078546844739873}
|
||||
- component: {fileID: 8561671271692338072}
|
||||
- component: {fileID: 5613749609374521207}
|
||||
m_Layer: 0
|
||||
m_Name: Player v2
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &7697809476534322287
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2141177638863853690}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 5.48, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 6376801734831298219}
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!143 &1083078546844739873
|
||||
CharacterController:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2141177638863853690}
|
||||
m_Material: {fileID: 0}
|
||||
m_IncludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_ExcludeLayers:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_LayerOverridePriority: 0
|
||||
m_ProvidesContacts: 0
|
||||
m_Enabled: 1
|
||||
serializedVersion: 3
|
||||
m_Height: 2
|
||||
m_Radius: 0.5
|
||||
m_SlopeLimit: 45
|
||||
m_StepOffset: 0.3
|
||||
m_SkinWidth: 0.08
|
||||
m_MinMoveDistance: 0.001
|
||||
m_Center: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &8561671271692338072
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2141177638863853690}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 62899f850307741f2a39c98a8b639597, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Actions: {fileID: -944628639613478452, guid: 052faaac586de48259a63d0c4782560b, type: 3}
|
||||
m_NotificationBehavior: 0
|
||||
m_UIInputModule: {fileID: 0}
|
||||
m_DeviceLostEvent:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_DeviceRegainedEvent:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_ControlsChangedEvent:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_ActionEvents: []
|
||||
m_NeverAutoSwitchControlSchemes: 0
|
||||
m_DefaultControlScheme:
|
||||
m_DefaultActionMap: Player
|
||||
m_SplitScreenIndex: -1
|
||||
m_Camera: {fileID: 0}
|
||||
--- !u!114 &5613749609374521207
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 2141177638863853690}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 2ea132b548a841a92b8b15f59bc0d06d, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_LookSensitivity: 25
|
||||
--- !u!1 &8826976905446641190
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 6376801734831298219}
|
||||
- component: {fileID: 6344181611153634006}
|
||||
- component: {fileID: 6064830331528158381}
|
||||
- component: {fileID: 4447036270723459215}
|
||||
m_Layer: 0
|
||||
m_Name: Camera
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &6376801734831298219
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8826976905446641190}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0.75, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 7697809476534322287}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!20 &6344181611153634006
|
||||
Camera:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8826976905446641190}
|
||||
m_Enabled: 1
|
||||
serializedVersion: 2
|
||||
m_ClearFlags: 1
|
||||
m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
|
||||
m_projectionMatrixMode: 1
|
||||
m_GateFitMode: 2
|
||||
m_FOVAxisMode: 0
|
||||
m_Iso: 200
|
||||
m_ShutterSpeed: 0.005
|
||||
m_Aperture: 16
|
||||
m_FocusDistance: 10
|
||||
m_FocalLength: 50
|
||||
m_BladeCount: 5
|
||||
m_Curvature: {x: 2, y: 11}
|
||||
m_BarrelClipping: 0.25
|
||||
m_Anamorphism: 0
|
||||
m_SensorSize: {x: 36, y: 24}
|
||||
m_LensShift: {x: 0, y: 0}
|
||||
m_NormalizedViewPortRect:
|
||||
serializedVersion: 2
|
||||
x: 0
|
||||
y: 0
|
||||
width: 1
|
||||
height: 1
|
||||
near clip plane: 0.3
|
||||
far clip plane: 1000
|
||||
field of view: 60
|
||||
orthographic: 0
|
||||
orthographic size: 5
|
||||
m_Depth: 0
|
||||
m_CullingMask:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
m_RenderingPath: -1
|
||||
m_TargetTexture: {fileID: 0}
|
||||
m_TargetDisplay: 0
|
||||
m_TargetEye: 3
|
||||
m_HDR: 1
|
||||
m_AllowMSAA: 1
|
||||
m_AllowDynamicResolution: 0
|
||||
m_ForceIntoRT: 0
|
||||
m_OcclusionCulling: 1
|
||||
m_StereoConvergence: 10
|
||||
m_StereoSeparation: 0.022
|
||||
--- !u!81 &6064830331528158381
|
||||
AudioListener:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8826976905446641190}
|
||||
m_Enabled: 1
|
||||
--- !u!114 &4447036270723459215
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 8826976905446641190}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: a79441f348de89743a2939f4d699eac1, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_RenderShadows: 1
|
||||
m_RequiresDepthTextureOption: 2
|
||||
m_RequiresOpaqueTextureOption: 2
|
||||
m_CameraType: 0
|
||||
m_Cameras: []
|
||||
m_RendererIndex: -1
|
||||
m_VolumeLayerMask:
|
||||
serializedVersion: 2
|
||||
m_Bits: 1
|
||||
m_VolumeTrigger: {fileID: 0}
|
||||
m_VolumeFrameworkUpdateModeOption: 2
|
||||
m_RenderPostProcessing: 0
|
||||
m_Antialiasing: 0
|
||||
m_AntialiasingQuality: 2
|
||||
m_StopNaN: 0
|
||||
m_Dithering: 0
|
||||
m_ClearDepth: 1
|
||||
m_AllowXRRendering: 1
|
||||
m_AllowHDROutput: 1
|
||||
m_UseScreenCoordOverride: 0
|
||||
m_ScreenSizeOverride: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_ScreenCoordScaleBias: {x: 0, y: 0, z: 0, w: 0}
|
||||
m_RequiresDepthTexture: 0
|
||||
m_RequiresColorTexture: 0
|
||||
m_Version: 2
|
||||
m_TaaSettings:
|
||||
m_Quality: 3
|
||||
m_FrameInfluence: 0.1
|
||||
m_JitterScale: 1
|
||||
m_MipBias: 0
|
||||
m_VarianceClampScale: 0.9
|
||||
m_ContrastAdaptiveSharpening: 0
|
||||
7
Assets/Player/Player v2.prefab.meta
generated
Normal file
7
Assets/Player/Player v2.prefab.meta
generated
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
fileFormatVersion: 2
|
||||
guid: e40d6e6334224f4b9bf92360e9672abb
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
|
@ -1,4 +1,5 @@
|
|||
using UnityEngine;
|
||||
using UnityEngine.InputSystem;
|
||||
|
||||
public class PlayerController : MonoBehaviour
|
||||
{
|
||||
|
|
@ -12,6 +13,12 @@ public class PlayerController : MonoBehaviour
|
|||
private float m_MovementSmoothing = .05f;
|
||||
private bool m_isColliding = false;
|
||||
|
||||
void Awake()
|
||||
{
|
||||
m_Rigidbody = GetComponent<Rigidbody>();
|
||||
m_Camera = GetComponent<Camera>();
|
||||
}
|
||||
|
||||
void FixedUpdate()
|
||||
{
|
||||
m_IsGrounded = false;
|
||||
|
|
@ -32,9 +39,13 @@ void OnJump()
|
|||
}
|
||||
}
|
||||
|
||||
void Awake()
|
||||
void OnMove(InputValue value)
|
||||
{
|
||||
m_Rigidbody = GetComponent<Rigidbody>();
|
||||
m_Camera = GetComponent<Camera>();
|
||||
m_MoveInput = value.Get<Vector2>();
|
||||
}
|
||||
|
||||
void OnLook(InputValue value)
|
||||
{
|
||||
m_LookInput = value.Get<Vector2>();
|
||||
}
|
||||
}
|
||||
74
Assets/Player/PlayerControllerV2.cs
Normal file
74
Assets/Player/PlayerControllerV2.cs
Normal file
|
|
@ -0,0 +1,74 @@
|
|||
using UnityEngine;
|
||||
using UnityEngine.InputSystem;
|
||||
|
||||
public class PlayerControllerV2 : MonoBehaviour
|
||||
{
|
||||
private CharacterController m_CharacterController;
|
||||
private Camera m_Camera;
|
||||
private bool m_IsGrounded = false;
|
||||
private bool m_WantJump = false;
|
||||
public float m_LookSensitivity = 25f;
|
||||
public float m_PlayerSpeed = 10f;
|
||||
private Vector2 m_MoveInput = Vector2.zero;
|
||||
private Vector2 m_LookInput = Vector2.zero;
|
||||
private Vector3 m_Velocity = Vector3.zero;
|
||||
private float m_MovementSmoothing = .05f;
|
||||
private bool m_isColliding = false;
|
||||
|
||||
void Awake()
|
||||
{
|
||||
m_CharacterController = GetComponent<CharacterController>();
|
||||
m_Camera = GetComponentInChildren<Camera>();
|
||||
Cursor.lockState = CursorLockMode.Locked;
|
||||
}
|
||||
|
||||
void FixedUpdate()
|
||||
{
|
||||
m_IsGrounded = false;
|
||||
RaycastHit hit; // TODO: Use to see if on train later and ground angle if that's relevant
|
||||
if (Physics.Raycast(transform.position, Vector3.down, out hit, 1.1f))
|
||||
{
|
||||
m_IsGrounded = true;
|
||||
}
|
||||
|
||||
Look();
|
||||
Move();
|
||||
}
|
||||
|
||||
private void Look()
|
||||
{
|
||||
m_CharacterController.transform.Rotate(Vector3.up * m_LookInput.x * m_LookSensitivity * Time.deltaTime);
|
||||
|
||||
float pitchRotation = m_Camera.transform.eulerAngles.x;
|
||||
if (pitchRotation > 270) pitchRotation -= 360;
|
||||
pitchRotation -= m_LookInput.y * m_LookSensitivity * Time.deltaTime;
|
||||
//pitchRotation = Mathf.Clamp(pitchRotation, -90f, 90f);
|
||||
|
||||
m_Camera.transform.localRotation = Quaternion.Euler(pitchRotation, 0f, 0f);
|
||||
}
|
||||
private void Move()
|
||||
{
|
||||
Vector3 direction = transform.right * m_MoveInput.x +
|
||||
transform.forward * m_MoveInput.y;
|
||||
m_CharacterController.Move(direction * m_PlayerSpeed * Time.deltaTime);
|
||||
}
|
||||
|
||||
void OnJump()
|
||||
{
|
||||
if (m_IsGrounded)
|
||||
{
|
||||
//m_CharacterController.AddForce(new Vector3(0f,400f,0f));
|
||||
m_IsGrounded = false;
|
||||
}
|
||||
}
|
||||
|
||||
void OnMove(InputValue value)
|
||||
{
|
||||
m_MoveInput = value.Get<Vector2>();
|
||||
}
|
||||
|
||||
void OnLook(InputValue value)
|
||||
{
|
||||
m_LookInput = value.Get<Vector2>();
|
||||
}
|
||||
}
|
||||
2
Assets/Player/PlayerControllerV2.cs.meta
generated
Normal file
2
Assets/Player/PlayerControllerV2.cs.meta
generated
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 2ea132b548a841a92b8b15f59bc0d06d
|
||||
40
Assets/Scenes/SampleScene.unity
generated
40
Assets/Scenes/SampleScene.unity
generated
|
|
@ -398,7 +398,7 @@ Transform:
|
|||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1001 &1476481899
|
||||
--- !u!1001 &1578543071
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 2
|
||||
|
|
@ -406,55 +406,59 @@ PrefabInstance:
|
|||
serializedVersion: 3
|
||||
m_TransformParent: {fileID: 0}
|
||||
m_Modifications:
|
||||
- target: {fileID: 8225490198093921212, guid: 72d28109bada8ab47a916e31869629ab, type: 3}
|
||||
- target: {fileID: 2141177638863853690, guid: e40d6e6334224f4b9bf92360e9672abb, type: 3}
|
||||
propertyPath: m_Name
|
||||
value: Player v2
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 5613749609374521207, guid: e40d6e6334224f4b9bf92360e9672abb, type: 3}
|
||||
propertyPath: m_LookSensitivity
|
||||
value: 25
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 7697809476534322287, guid: e40d6e6334224f4b9bf92360e9672abb, type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8225490198093921212, guid: 72d28109bada8ab47a916e31869629ab, type: 3}
|
||||
- target: {fileID: 7697809476534322287, guid: e40d6e6334224f4b9bf92360e9672abb, type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: 1.65
|
||||
value: 5.48
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8225490198093921212, guid: 72d28109bada8ab47a916e31869629ab, type: 3}
|
||||
- target: {fileID: 7697809476534322287, guid: e40d6e6334224f4b9bf92360e9672abb, type: 3}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8225490198093921212, guid: 72d28109bada8ab47a916e31869629ab, type: 3}
|
||||
- target: {fileID: 7697809476534322287, guid: e40d6e6334224f4b9bf92360e9672abb, type: 3}
|
||||
propertyPath: m_LocalRotation.w
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8225490198093921212, guid: 72d28109bada8ab47a916e31869629ab, type: 3}
|
||||
- target: {fileID: 7697809476534322287, guid: e40d6e6334224f4b9bf92360e9672abb, type: 3}
|
||||
propertyPath: m_LocalRotation.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8225490198093921212, guid: 72d28109bada8ab47a916e31869629ab, type: 3}
|
||||
- target: {fileID: 7697809476534322287, guid: e40d6e6334224f4b9bf92360e9672abb, type: 3}
|
||||
propertyPath: m_LocalRotation.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8225490198093921212, guid: 72d28109bada8ab47a916e31869629ab, type: 3}
|
||||
- target: {fileID: 7697809476534322287, guid: e40d6e6334224f4b9bf92360e9672abb, type: 3}
|
||||
propertyPath: m_LocalRotation.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8225490198093921212, guid: 72d28109bada8ab47a916e31869629ab, type: 3}
|
||||
- target: {fileID: 7697809476534322287, guid: e40d6e6334224f4b9bf92360e9672abb, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8225490198093921212, guid: 72d28109bada8ab47a916e31869629ab, type: 3}
|
||||
- target: {fileID: 7697809476534322287, guid: e40d6e6334224f4b9bf92360e9672abb, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8225490198093921212, guid: 72d28109bada8ab47a916e31869629ab, type: 3}
|
||||
- target: {fileID: 7697809476534322287, guid: e40d6e6334224f4b9bf92360e9672abb, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8489361161931675719, guid: 72d28109bada8ab47a916e31869629ab, type: 3}
|
||||
propertyPath: m_Name
|
||||
value: Player
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents: []
|
||||
m_RemovedGameObjects: []
|
||||
m_AddedGameObjects: []
|
||||
m_AddedComponents: []
|
||||
m_SourcePrefab: {fileID: 100100000, guid: 72d28109bada8ab47a916e31869629ab, type: 3}
|
||||
m_SourcePrefab: {fileID: 100100000, guid: e40d6e6334224f4b9bf92360e9672abb, type: 3}
|
||||
--- !u!1660057539 &9223372036854775807
|
||||
SceneRoots:
|
||||
m_ObjectHideFlags: 0
|
||||
|
|
@ -462,4 +466,4 @@ SceneRoots:
|
|||
- {fileID: 410087041}
|
||||
- {fileID: 832575519}
|
||||
- {fileID: 825820392}
|
||||
- {fileID: 1476481899}
|
||||
- {fileID: 1578543071}
|
||||
|
|
|
|||
Loading…
Reference in a new issue