Added minimal screenshake
This commit is contained in:
parent
4806f8f79a
commit
357f5dff65
|
@ -0,0 +1,56 @@
|
||||||
|
using System.Collections;
|
||||||
|
using UnityEngine;
|
||||||
|
using Cinemachine; // Ensure you have the Cinemachine namespace
|
||||||
|
|
||||||
|
public class CameraShaker : MonoBehaviour
|
||||||
|
{
|
||||||
|
public static CameraShaker Instance;
|
||||||
|
public CinemachineCameraOffset offsetter;
|
||||||
|
|
||||||
|
// Variables for tracking shake duration and original offset
|
||||||
|
private Vector3 originalOffset;
|
||||||
|
private Coroutine shakeCoroutine;
|
||||||
|
|
||||||
|
private void Awake()
|
||||||
|
{
|
||||||
|
if (Instance == null)
|
||||||
|
{
|
||||||
|
Instance = this;
|
||||||
|
originalOffset = new Vector3(0, 0, 0); // Initialize with your default offset
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Destroy(gameObject);
|
||||||
|
}
|
||||||
|
|
||||||
|
offsetter = GetComponent<CinemachineCameraOffset>();
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void ShakecShake(float strength, float time)
|
||||||
|
{
|
||||||
|
// Check if a shake is already happening and restart it if so
|
||||||
|
if (Instance.shakeCoroutine != null)
|
||||||
|
{
|
||||||
|
Instance.StopCoroutine(Instance.shakeCoroutine);
|
||||||
|
}
|
||||||
|
Instance.shakeCoroutine = Instance.StartCoroutine(Instance.DoShake(strength, time));
|
||||||
|
}
|
||||||
|
|
||||||
|
private IEnumerator DoShake(float strength, float time)
|
||||||
|
{
|
||||||
|
float elapsed = 0f;
|
||||||
|
|
||||||
|
while (elapsed < time)
|
||||||
|
{
|
||||||
|
elapsed += Time.deltaTime;
|
||||||
|
float x = Random.Range(-1f, 1f) * strength;
|
||||||
|
float y = Random.Range(-1f, 1f) * strength;
|
||||||
|
|
||||||
|
offsetter.m_Offset = new Vector3(x, y, originalOffset.z);
|
||||||
|
yield return null; // Wait for the next frame
|
||||||
|
}
|
||||||
|
|
||||||
|
// Reset the offset to the original position
|
||||||
|
offsetter.m_Offset = originalOffset;
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,11 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: ea81d9be44682764ba43ffdbef0ef976
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
|
@ -197,6 +197,7 @@ MonoBehaviour:
|
||||||
- {fileID: 0}
|
- {fileID: 0}
|
||||||
- {fileID: 0}
|
- {fileID: 0}
|
||||||
initialSpawnDelay: 5
|
initialSpawnDelay: 5
|
||||||
|
timer: 0
|
||||||
enemyList: []
|
enemyList: []
|
||||||
--- !u!114 &7140252695900592518
|
--- !u!114 &7140252695900592518
|
||||||
MonoBehaviour:
|
MonoBehaviour:
|
||||||
|
@ -323,6 +324,8 @@ GameObject:
|
||||||
- component: {fileID: 3197454023887695364}
|
- component: {fileID: 3197454023887695364}
|
||||||
- component: {fileID: 1945378220081163713}
|
- component: {fileID: 1945378220081163713}
|
||||||
- component: {fileID: 4060518028321021500}
|
- component: {fileID: 4060518028321021500}
|
||||||
|
- component: {fileID: 6479560527566926107}
|
||||||
|
- component: {fileID: 4203055092890111090}
|
||||||
m_Layer: 0
|
m_Layer: 0
|
||||||
m_Name: Virtual Camera
|
m_Name: Virtual Camera
|
||||||
m_TagString: Untagged
|
m_TagString: Untagged
|
||||||
|
@ -399,6 +402,34 @@ MonoBehaviour:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
MinPitch: 0
|
MinPitch: 0
|
||||||
MaxPitch: 0
|
MaxPitch: 0
|
||||||
|
--- !u!114 &6479560527566926107
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 6306269600238927148}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 44d70cc20219cd84593f67d248eafe36, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
m_Offset: {x: 0, y: 0, z: 0}
|
||||||
|
m_ApplyAfter: 1
|
||||||
|
m_PreserveComposition: 0
|
||||||
|
--- !u!114 &4203055092890111090
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 6306269600238927148}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: ea81d9be44682764ba43ffdbef0ef976, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
offsetter: {fileID: 0}
|
||||||
--- !u!1 &6455280833853463581
|
--- !u!1 &6455280833853463581
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
|
|
@ -529,6 +529,50 @@ Transform:
|
||||||
m_CorrespondingSourceObject: {fileID: 3862814901187971034, guid: 5846f4d0fc6a1a44ba388893e7ff9373, type: 3}
|
m_CorrespondingSourceObject: {fileID: 3862814901187971034, guid: 5846f4d0fc6a1a44ba388893e7ff9373, type: 3}
|
||||||
m_PrefabInstance: {fileID: 7693964683212020007}
|
m_PrefabInstance: {fileID: 7693964683212020007}
|
||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
--- !u!1 &690229187 stripped
|
||||||
|
GameObject:
|
||||||
|
m_CorrespondingSourceObject: {fileID: 6306269600238927148, guid: c53e6971c95afb1429cd82616a7b6737, type: 3}
|
||||||
|
m_PrefabInstance: {fileID: 5796191506433166633}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
--- !u!114 &690229190 stripped
|
||||||
|
MonoBehaviour:
|
||||||
|
m_CorrespondingSourceObject: {fileID: 1945378220081163713, guid: c53e6971c95afb1429cd82616a7b6737, type: 3}
|
||||||
|
m_PrefabInstance: {fileID: 5796191506433166633}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 690229187}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 45e653bab7fb20e499bda25e1b646fea, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
--- !u!114 &690229191
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 690229187}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: ea81d9be44682764ba43ffdbef0ef976, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
cinemachineVirtualCamera: {fileID: 690229190}
|
||||||
|
--- !u!114 &690229192
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 690229187}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 44d70cc20219cd84593f67d248eafe36, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
m_Offset: {x: 0, y: 0, z: 0}
|
||||||
|
m_ApplyAfter: 1
|
||||||
|
m_PreserveComposition: 0
|
||||||
--- !u!1 &708735388
|
--- !u!1 &708735388
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
@ -8740,7 +8784,13 @@ PrefabInstance:
|
||||||
m_RemovedComponents: []
|
m_RemovedComponents: []
|
||||||
m_RemovedGameObjects: []
|
m_RemovedGameObjects: []
|
||||||
m_AddedGameObjects: []
|
m_AddedGameObjects: []
|
||||||
m_AddedComponents: []
|
m_AddedComponents:
|
||||||
|
- targetCorrespondingSourceObject: {fileID: 6306269600238927148, guid: c53e6971c95afb1429cd82616a7b6737, type: 3}
|
||||||
|
insertIndex: -1
|
||||||
|
addedObject: {fileID: 690229192}
|
||||||
|
- targetCorrespondingSourceObject: {fileID: 6306269600238927148, guid: c53e6971c95afb1429cd82616a7b6737, type: 3}
|
||||||
|
insertIndex: -1
|
||||||
|
addedObject: {fileID: 690229191}
|
||||||
m_SourcePrefab: {fileID: 100100000, guid: c53e6971c95afb1429cd82616a7b6737, type: 3}
|
m_SourcePrefab: {fileID: 100100000, guid: c53e6971c95afb1429cd82616a7b6737, type: 3}
|
||||||
--- !u!114 &5796191506433166634 stripped
|
--- !u!114 &5796191506433166634 stripped
|
||||||
MonoBehaviour:
|
MonoBehaviour:
|
||||||
|
|
|
@ -28,6 +28,7 @@ public class EnemyPathFinding : MonoBehaviour
|
||||||
private void Rumble()
|
private void Rumble()
|
||||||
{
|
{
|
||||||
RumbleManager.StartRumble(-1, 0.5f, 0.5f, 0.25f);
|
RumbleManager.StartRumble(-1, 0.5f, 0.5f, 0.25f);
|
||||||
|
CameraShaker.ShakecShake(0.125f, 0.25f);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void Update()
|
private void Update()
|
||||||
|
|
Loading…
Reference in New Issue