Add camera bobbing
This commit is contained in:
parent
d3c0c642d2
commit
7abf582d1d
@ -30,6 +30,134 @@ Transform:
|
|||||||
m_Father: {fileID: 6125707628839966534}
|
m_Father: {fileID: 6125707628839966534}
|
||||||
m_RootOrder: 0
|
m_RootOrder: 0
|
||||||
m_LocalEulerAnglesHint: {x: -20, y: -20, z: 0}
|
m_LocalEulerAnglesHint: {x: -20, y: -20, z: 0}
|
||||||
|
--- !u!1 &5768207841704116667
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 6257962716474165078}
|
||||||
|
- component: {fileID: 827982312027890955}
|
||||||
|
m_Layer: 11
|
||||||
|
m_Name: Footstep Audio Source
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!4 &6257962716474165078
|
||||||
|
Transform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 5768207841704116667}
|
||||||
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
|
m_LocalPosition: {x: 0, y: 0.08, z: 0}
|
||||||
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_Children: []
|
||||||
|
m_Father: {fileID: 6125707630481988396}
|
||||||
|
m_RootOrder: 1
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
--- !u!82 &827982312027890955
|
||||||
|
AudioSource:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 5768207841704116667}
|
||||||
|
m_Enabled: 1
|
||||||
|
serializedVersion: 4
|
||||||
|
OutputAudioMixerGroup: {fileID: 586271417499195193, guid: 032de345950918c4e89684078c6a7213,
|
||||||
|
type: 2}
|
||||||
|
m_audioClip: {fileID: 0}
|
||||||
|
m_PlayOnAwake: 0
|
||||||
|
m_Volume: 1
|
||||||
|
m_Pitch: 1
|
||||||
|
Loop: 0
|
||||||
|
Mute: 0
|
||||||
|
Spatialize: 0
|
||||||
|
SpatializePostEffects: 0
|
||||||
|
Priority: 128
|
||||||
|
DopplerLevel: 1
|
||||||
|
MinDistance: 1
|
||||||
|
MaxDistance: 500
|
||||||
|
Pan2D: 0
|
||||||
|
rolloffMode: 0
|
||||||
|
BypassEffects: 0
|
||||||
|
BypassListenerEffects: 0
|
||||||
|
BypassReverbZones: 0
|
||||||
|
rolloffCustomCurve:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Curve:
|
||||||
|
- serializedVersion: 3
|
||||||
|
time: 0
|
||||||
|
value: 1
|
||||||
|
inSlope: 0
|
||||||
|
outSlope: 0
|
||||||
|
tangentMode: 0
|
||||||
|
weightedMode: 0
|
||||||
|
inWeight: 0.33333334
|
||||||
|
outWeight: 0.33333334
|
||||||
|
- serializedVersion: 3
|
||||||
|
time: 1
|
||||||
|
value: 0
|
||||||
|
inSlope: 0
|
||||||
|
outSlope: 0
|
||||||
|
tangentMode: 0
|
||||||
|
weightedMode: 0
|
||||||
|
inWeight: 0.33333334
|
||||||
|
outWeight: 0.33333334
|
||||||
|
m_PreInfinity: 2
|
||||||
|
m_PostInfinity: 2
|
||||||
|
m_RotationOrder: 4
|
||||||
|
panLevelCustomCurve:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Curve:
|
||||||
|
- serializedVersion: 3
|
||||||
|
time: 0
|
||||||
|
value: 1
|
||||||
|
inSlope: 0
|
||||||
|
outSlope: 0
|
||||||
|
tangentMode: 0
|
||||||
|
weightedMode: 0
|
||||||
|
inWeight: 0.33333334
|
||||||
|
outWeight: 0.33333334
|
||||||
|
m_PreInfinity: 2
|
||||||
|
m_PostInfinity: 2
|
||||||
|
m_RotationOrder: 4
|
||||||
|
spreadCustomCurve:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Curve:
|
||||||
|
- serializedVersion: 3
|
||||||
|
time: 0
|
||||||
|
value: 0
|
||||||
|
inSlope: 0
|
||||||
|
outSlope: 0
|
||||||
|
tangentMode: 0
|
||||||
|
weightedMode: 0
|
||||||
|
inWeight: 0.33333334
|
||||||
|
outWeight: 0.33333334
|
||||||
|
m_PreInfinity: 2
|
||||||
|
m_PostInfinity: 2
|
||||||
|
m_RotationOrder: 4
|
||||||
|
reverbZoneMixCustomCurve:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Curve:
|
||||||
|
- serializedVersion: 3
|
||||||
|
time: 0
|
||||||
|
value: 1
|
||||||
|
inSlope: 0
|
||||||
|
outSlope: 0
|
||||||
|
tangentMode: 0
|
||||||
|
weightedMode: 0
|
||||||
|
inWeight: 0.33333334
|
||||||
|
outWeight: 0.33333334
|
||||||
|
m_PreInfinity: 2
|
||||||
|
m_PostInfinity: 2
|
||||||
|
m_RotationOrder: 4
|
||||||
--- !u!1 &6125707628839966531
|
--- !u!1 &6125707628839966531
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@ -188,6 +316,7 @@ GameObject:
|
|||||||
- component: {fileID: 6125707630481988397}
|
- component: {fileID: 6125707630481988397}
|
||||||
- component: {fileID: 6125707630481988371}
|
- component: {fileID: 6125707630481988371}
|
||||||
- component: {fileID: 7093134810128755097}
|
- component: {fileID: 7093134810128755097}
|
||||||
|
- component: {fileID: 462937706053753531}
|
||||||
m_Layer: 11
|
m_Layer: 11
|
||||||
m_Name: Player
|
m_Name: Player
|
||||||
m_TagString: Untagged
|
m_TagString: Untagged
|
||||||
@ -207,6 +336,7 @@ Transform:
|
|||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
m_Children:
|
m_Children:
|
||||||
- {fileID: 6125707628839966534}
|
- {fileID: 6125707628839966534}
|
||||||
|
- {fileID: 6257962716474165078}
|
||||||
m_Father: {fileID: 0}
|
m_Father: {fileID: 0}
|
||||||
m_RootOrder: 0
|
m_RootOrder: 0
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: -16.035, z: 0}
|
m_LocalEulerAnglesHint: {x: 0, y: -16.035, z: 0}
|
||||||
@ -223,6 +353,7 @@ MonoBehaviour:
|
|||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
GameState: {fileID: 0}
|
GameState: {fileID: 0}
|
||||||
|
Options: {fileID: 0}
|
||||||
BodyTransform: {fileID: 6125707630481988396}
|
BodyTransform: {fileID: 6125707630481988396}
|
||||||
HeadTransform: {fileID: 6125707628839966534}
|
HeadTransform: {fileID: 6125707628839966534}
|
||||||
--- !u!114 &6125707630481988397
|
--- !u!114 &6125707630481988397
|
||||||
@ -241,7 +372,7 @@ MonoBehaviour:
|
|||||||
JumpVelocity: 4
|
JumpVelocity: 4
|
||||||
SlideVelocity: 3
|
SlideVelocity: 3
|
||||||
JumpGracePeriod: 0.2
|
JumpGracePeriod: 0.2
|
||||||
Antislipperiness: 20
|
Antislipperiness: 10
|
||||||
AntislipperinessInAir: 3
|
AntislipperinessInAir: 3
|
||||||
Grounded: 0
|
Grounded: 0
|
||||||
GroundNormal: {x: 0, y: 0, z: 0}
|
GroundNormal: {x: 0, y: 0, z: 0}
|
||||||
@ -282,6 +413,64 @@ MonoBehaviour:
|
|||||||
ItemLayer:
|
ItemLayer:
|
||||||
serializedVersion: 2
|
serializedVersion: 2
|
||||||
m_Bits: 1024
|
m_Bits: 1024
|
||||||
|
DroppingRaycastMask:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Bits: 3895
|
||||||
Distance: 2
|
Distance: 2
|
||||||
ThrowVelocity: 6
|
ThrowVelocity: 6
|
||||||
GrabbedItem: {fileID: 0}
|
GrabbedItem: {fileID: 0}
|
||||||
|
--- !u!114 &462937706053753531
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 6125707630481988399}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 46a5bf268fa1368419b104ac733e1835, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
CameraTransform: {fileID: 6125707628839966534}
|
||||||
|
HeadBobCurve:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Curve:
|
||||||
|
- serializedVersion: 3
|
||||||
|
time: 0
|
||||||
|
value: 0
|
||||||
|
inSlope: 0
|
||||||
|
outSlope: 0
|
||||||
|
tangentMode: 0
|
||||||
|
weightedMode: 0
|
||||||
|
inWeight: 0
|
||||||
|
outWeight: 0
|
||||||
|
- serializedVersion: 3
|
||||||
|
time: 0.5
|
||||||
|
value: 0.08
|
||||||
|
inSlope: -0.020761246
|
||||||
|
outSlope: -0.020761246
|
||||||
|
tangentMode: 0
|
||||||
|
weightedMode: 0
|
||||||
|
inWeight: 0.33333334
|
||||||
|
outWeight: 0.42499995
|
||||||
|
- serializedVersion: 3
|
||||||
|
time: 1
|
||||||
|
value: 0
|
||||||
|
inSlope: 0.008853439
|
||||||
|
outSlope: 0.008853439
|
||||||
|
tangentMode: 0
|
||||||
|
weightedMode: 0
|
||||||
|
inWeight: 0.49166667
|
||||||
|
outWeight: 0
|
||||||
|
m_PreInfinity: 2
|
||||||
|
m_PostInfinity: 1
|
||||||
|
m_RotationOrder: 4
|
||||||
|
StepDuration: 0.5
|
||||||
|
BobMagnitude: 1
|
||||||
|
MoveIntensity: 0
|
||||||
|
Moving: 0
|
||||||
|
InAir: 0
|
||||||
|
FootstepSource: {fileID: 827982312027890955}
|
||||||
|
RightFootstepClips: []
|
||||||
|
LeftFootstepClips: []
|
||||||
|
LastStep: 0
|
||||||
|
@ -5478,6 +5478,11 @@ PrefabInstance:
|
|||||||
m_Modification:
|
m_Modification:
|
||||||
m_TransformParent: {fileID: 1921606960}
|
m_TransformParent: {fileID: 1921606960}
|
||||||
m_Modifications:
|
m_Modifications:
|
||||||
|
- target: {fileID: 226479021477264902, guid: 2cd64e49ad7ad1c4bb4a4264703d7915,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_AnchoredPosition.y
|
||||||
|
value: 120
|
||||||
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 317676106527232818, guid: 2cd64e49ad7ad1c4bb4a4264703d7915,
|
- target: {fileID: 317676106527232818, guid: 2cd64e49ad7ad1c4bb4a4264703d7915,
|
||||||
type: 3}
|
type: 3}
|
||||||
propertyPath: m_AnchorMax.y
|
propertyPath: m_AnchorMax.y
|
||||||
@ -5488,11 +5493,26 @@ PrefabInstance:
|
|||||||
propertyPath: m_AnchorMax.y
|
propertyPath: m_AnchorMax.y
|
||||||
value: 0
|
value: 0
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 519962654072447509, guid: 2cd64e49ad7ad1c4bb4a4264703d7915,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_AnchoredPosition.y
|
||||||
|
value: -50
|
||||||
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 1470294652521727049, guid: 2cd64e49ad7ad1c4bb4a4264703d7915,
|
- target: {fileID: 1470294652521727049, guid: 2cd64e49ad7ad1c4bb4a4264703d7915,
|
||||||
type: 3}
|
type: 3}
|
||||||
propertyPath: m_AnchorMax.y
|
propertyPath: m_AnchorMax.y
|
||||||
value: 0
|
value: 0
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 3325963044810254397, guid: 2cd64e49ad7ad1c4bb4a4264703d7915,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_AnchoredPosition.y
|
||||||
|
value: 60
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 3479557468769067426, guid: 2cd64e49ad7ad1c4bb4a4264703d7915,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_AnchoredPosition.y
|
||||||
|
value: 180
|
||||||
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 3682198691915602031, guid: 2cd64e49ad7ad1c4bb4a4264703d7915,
|
- target: {fileID: 3682198691915602031, guid: 2cd64e49ad7ad1c4bb4a4264703d7915,
|
||||||
type: 3}
|
type: 3}
|
||||||
propertyPath: m_AnchorMax.y
|
propertyPath: m_AnchorMax.y
|
||||||
@ -5503,6 +5523,11 @@ PrefabInstance:
|
|||||||
propertyPath: m_AnchorMax.y
|
propertyPath: m_AnchorMax.y
|
||||||
value: 0
|
value: 0
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4127888187077662439, guid: 2cd64e49ad7ad1c4bb4a4264703d7915,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_AnchoredPosition.y
|
||||||
|
value: -100
|
||||||
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 5400695020334462788, guid: 2cd64e49ad7ad1c4bb4a4264703d7915,
|
- target: {fileID: 5400695020334462788, guid: 2cd64e49ad7ad1c4bb4a4264703d7915,
|
||||||
type: 3}
|
type: 3}
|
||||||
propertyPath: m_Alpha
|
propertyPath: m_Alpha
|
||||||
@ -5553,6 +5578,11 @@ PrefabInstance:
|
|||||||
propertyPath: m_Name
|
propertyPath: m_Name
|
||||||
value: Pause Menu
|
value: Pause Menu
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 6081099778283769688, guid: 2cd64e49ad7ad1c4bb4a4264703d7915,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_AnchoredPosition.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 6723009973072559076, guid: 2cd64e49ad7ad1c4bb4a4264703d7915,
|
- target: {fileID: 6723009973072559076, guid: 2cd64e49ad7ad1c4bb4a4264703d7915,
|
||||||
type: 3}
|
type: 3}
|
||||||
propertyPath: m_AnchorMax.y
|
propertyPath: m_AnchorMax.y
|
||||||
@ -5563,6 +5593,11 @@ PrefabInstance:
|
|||||||
propertyPath: m_AnchorMax.y
|
propertyPath: m_AnchorMax.y
|
||||||
value: 0
|
value: 0
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 7379875903275102228, guid: 2cd64e49ad7ad1c4bb4a4264703d7915,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_AnchoredPosition.y
|
||||||
|
value: 240
|
||||||
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 8362288861398798554, guid: 2cd64e49ad7ad1c4bb4a4264703d7915,
|
- target: {fileID: 8362288861398798554, guid: 2cd64e49ad7ad1c4bb4a4264703d7915,
|
||||||
type: 3}
|
type: 3}
|
||||||
propertyPath: m_AnchorMax.y
|
propertyPath: m_AnchorMax.y
|
||||||
@ -5684,11 +5719,6 @@ PrefabInstance:
|
|||||||
propertyPath: GrabText
|
propertyPath: GrabText
|
||||||
value:
|
value:
|
||||||
objectReference: {fileID: 1849724586}
|
objectReference: {fileID: 1849724586}
|
||||||
- target: {fileID: 7093134810128755097, guid: 558201eae20fa5540a826edb23937665,
|
|
||||||
type: 3}
|
|
||||||
propertyPath: DroppingRaycastMask.m_Bits
|
|
||||||
value: 3895
|
|
||||||
objectReference: {fileID: 0}
|
|
||||||
m_RemovedComponents: []
|
m_RemovedComponents: []
|
||||||
m_SourcePrefab: {fileID: 100100000, guid: 558201eae20fa5540a826edb23937665, type: 3}
|
m_SourcePrefab: {fileID: 100100000, guid: 558201eae20fa5540a826edb23937665, type: 3}
|
||||||
--- !u!1001 &6166170816655763453
|
--- !u!1001 &6166170816655763453
|
||||||
|
85
Assets/Scripts/CameraBobber.cs
Normal file
85
Assets/Scripts/CameraBobber.cs
Normal file
@ -0,0 +1,85 @@
|
|||||||
|
using System.Collections;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using UnityEngine;
|
||||||
|
|
||||||
|
[System.Serializable]
|
||||||
|
public enum StepType {
|
||||||
|
Left,
|
||||||
|
Right
|
||||||
|
}
|
||||||
|
|
||||||
|
public class CameraBobber : MonoBehaviour {
|
||||||
|
public Transform CameraTransform;
|
||||||
|
public AnimationCurve HeadBobCurve = AnimationCurve.Constant(0, 1, 0);
|
||||||
|
public float StepDuration;
|
||||||
|
public float BobMagnitude;
|
||||||
|
public bool Moving = false;
|
||||||
|
public bool InAir = false;
|
||||||
|
public AudioSource FootstepSource;
|
||||||
|
// TODO: Vary by ground material
|
||||||
|
public AudioClip[] RightFootstepClips;
|
||||||
|
public AudioClip[] LeftFootstepClips;
|
||||||
|
|
||||||
|
[Header("Runtime values")]
|
||||||
|
public StepType LastStep;
|
||||||
|
|
||||||
|
private float StepTime = 0;
|
||||||
|
private bool WasMoving = false;
|
||||||
|
private bool WasInAir = false;
|
||||||
|
private Vector3 BasePosition;
|
||||||
|
|
||||||
|
private void Start() {
|
||||||
|
BasePosition = CameraTransform.localPosition;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void Update() {
|
||||||
|
if (Moving) {
|
||||||
|
StepTime += Time.deltaTime;
|
||||||
|
if (StepTime >= StepDuration) {
|
||||||
|
StepTime -= StepDuration;
|
||||||
|
if (!InAir) {
|
||||||
|
AlternateStep();
|
||||||
|
PlayStepSound(GetClips(LastStep), 1f);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
StepTime = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
Vector3 TargetPosition;
|
||||||
|
if (InAir) {
|
||||||
|
TargetPosition = BasePosition + Vector3.up * HeadBobCurve.Evaluate(0.5f) * BobMagnitude;
|
||||||
|
} else {
|
||||||
|
TargetPosition = BasePosition + Vector3.up * HeadBobCurve.Evaluate(StepTime / StepDuration) * BobMagnitude;
|
||||||
|
}
|
||||||
|
CameraTransform.localPosition = Vector3.Lerp(CameraTransform.localPosition, TargetPosition, 10f * Time.deltaTime);
|
||||||
|
|
||||||
|
if ((Moving != WasMoving && !InAir) || WasInAir != InAir) {
|
||||||
|
AlternateStep();
|
||||||
|
PlayStepSound(GetClips(LastStep), 0.7f);
|
||||||
|
}
|
||||||
|
|
||||||
|
WasMoving = Moving;
|
||||||
|
WasInAir = InAir;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void AlternateStep() {
|
||||||
|
LastStep = LastStep == StepType.Left ? StepType.Right : StepType.Left;
|
||||||
|
}
|
||||||
|
|
||||||
|
private AudioClip[] GetClips(StepType stepType) {
|
||||||
|
switch (stepType) {
|
||||||
|
default:
|
||||||
|
case StepType.Left:
|
||||||
|
return LeftFootstepClips;
|
||||||
|
case StepType.Right:
|
||||||
|
return RightFootstepClips;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void PlayStepSound(AudioClip[] clips, float volumeModifier) {
|
||||||
|
if (clips.Length > 0) {
|
||||||
|
FootstepSource.PlayOneShot(clips[Random.Range(0, clips.Length)], volumeModifier);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
11
Assets/Scripts/CameraBobber.cs.meta
Normal file
11
Assets/Scripts/CameraBobber.cs.meta
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 46a5bf268fa1368419b104ac733e1835
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
@ -7,7 +7,6 @@ public class PauseMenu : MonoBehaviour {
|
|||||||
public Options Options;
|
public Options Options;
|
||||||
|
|
||||||
[Header("Option inputs")]
|
[Header("Option inputs")]
|
||||||
public Toggle InvertMouseX;
|
|
||||||
public Toggle InvertMouseY;
|
public Toggle InvertMouseY;
|
||||||
public Toggle CameraBobbing;
|
public Toggle CameraBobbing;
|
||||||
public Slider MouseSensitivity;
|
public Slider MouseSensitivity;
|
||||||
@ -29,7 +28,6 @@ public class PauseMenu : MonoBehaviour {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void Start() {
|
private void Start() {
|
||||||
InvertMouseX.isOn = Options.InvertMouseX;
|
|
||||||
InvertMouseY.isOn = Options.InvertMouseY;
|
InvertMouseY.isOn = Options.InvertMouseY;
|
||||||
CameraBobbing.isOn = Options.CameraBobbing;
|
CameraBobbing.isOn = Options.CameraBobbing;
|
||||||
MouseSensitivity.value = Options.MouseSensitivity;
|
MouseSensitivity.value = Options.MouseSensitivity;
|
||||||
|
@ -3,6 +3,7 @@ using System.Collections.Generic;
|
|||||||
using UnityEngine;
|
using UnityEngine;
|
||||||
|
|
||||||
[RequireComponent(typeof(CharacterController))]
|
[RequireComponent(typeof(CharacterController))]
|
||||||
|
[RequireComponent(typeof(CameraBobber))]
|
||||||
public class PlayerController : MonoBehaviour {
|
public class PlayerController : MonoBehaviour {
|
||||||
public float MovementSpeed;
|
public float MovementSpeed;
|
||||||
public float JumpVelocity;
|
public float JumpVelocity;
|
||||||
@ -19,6 +20,7 @@ public class PlayerController : MonoBehaviour {
|
|||||||
public Vector3 GroundNormal;
|
public Vector3 GroundNormal;
|
||||||
|
|
||||||
private CharacterController Character;
|
private CharacterController Character;
|
||||||
|
private CameraBobber Bobber;
|
||||||
|
|
||||||
private Vector3 GroundVelocity = new Vector3();
|
private Vector3 GroundVelocity = new Vector3();
|
||||||
private float FallingVelocity;
|
private float FallingVelocity;
|
||||||
@ -27,6 +29,7 @@ public class PlayerController : MonoBehaviour {
|
|||||||
|
|
||||||
private void Awake() {
|
private void Awake() {
|
||||||
Character = GetComponent<CharacterController>();
|
Character = GetComponent<CharacterController>();
|
||||||
|
Bobber = GetComponent<CameraBobber>();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void Start() {
|
private void Start() {
|
||||||
@ -89,6 +92,10 @@ public class PlayerController : MonoBehaviour {
|
|||||||
CurrentVelocity += Vector3.ProjectOnPlane(-Vector3.up, GroundNormal) * SlideVelocity;
|
CurrentVelocity += Vector3.ProjectOnPlane(-Vector3.up, GroundNormal) * SlideVelocity;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Bobber.BobMagnitude = Mathf.Lerp(Bobber.BobMagnitude, TargetSpeed > 0 ? GroundVelocity.magnitude / TargetSpeed : 1, 5f * Time.deltaTime);
|
||||||
|
Bobber.Moving = GroundVelocity.magnitude > 0.1f;
|
||||||
|
Bobber.InAir = !Grounded;
|
||||||
|
|
||||||
Character.Move(CurrentVelocity * Time.deltaTime);
|
Character.Move(CurrentVelocity * Time.deltaTime);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user