From 1e655ae15ed4487f2c3105786ee06f0864007130 Mon Sep 17 00:00:00 2001 From: Matthew Kalahiki Date: Thu, 15 Apr 2021 09:12:38 -0500 Subject: [PATCH] FollowCam --- .../Assets/Scenes/DemoLevels/BossRoom.unity | 17 +++++- .../Scenes/DemoLevels/EnemyTunnel.unity | 15 +++++ .../Assets/Scenes/DemoLevels/PathToBoss.unity | 15 +++++ .../Scenes/DemoLevels/RouteToTower.unity | 15 +++++ .../Assets/Scenes/DemoLevels/Spawn.unity | 17 +++++- .../Scenes/DemoLevels/Spike Scene.unity | 15 +++++ .../Assets/Scenes/DemoLevels/Tower.unity | 15 +++++ MuseumGame/Assets/Scripts/FollowCam.cs | 61 +++++++++++++++++++ MuseumGame/Assets/Scripts/FollowCam.cs.meta | 11 ++++ MuseumGame/Assets/Scripts/GameManager.cs | 4 ++ MuseumGame/ProjectSettings/TagManager.asset | 1 + .../UserSettings/EditorUserSettings.asset | 16 ++--- 12 files changed, 192 insertions(+), 10 deletions(-) create mode 100644 MuseumGame/Assets/Scripts/FollowCam.cs create mode 100644 MuseumGame/Assets/Scripts/FollowCam.cs.meta diff --git a/MuseumGame/Assets/Scenes/DemoLevels/BossRoom.unity b/MuseumGame/Assets/Scenes/DemoLevels/BossRoom.unity index ff07176..936ab1a 100644 --- a/MuseumGame/Assets/Scenes/DemoLevels/BossRoom.unity +++ b/MuseumGame/Assets/Scenes/DemoLevels/BossRoom.unity @@ -1448,6 +1448,7 @@ GameObject: - component: {fileID: 563510753} - component: {fileID: 563510752} - component: {fileID: 563510751} + - component: {fileID: 563510754} m_Layer: 0 m_Name: Main Camera m_TagString: MainCamera @@ -1490,7 +1491,7 @@ Camera: far clip plane: 1000 field of view: 60 orthographic: 1 - orthographic size: 4.25 + orthographic size: 21.196718 m_Depth: -1 m_CullingMask: serializedVersion: 2 @@ -1520,6 +1521,20 @@ Transform: m_Father: {fileID: 0} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &563510754 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 563510750} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2bd046d4caeda4b4b8fcb2e33e4d83c8, type: 3} + m_Name: + m_EditorClassIdentifier: + boundaryPercent: 0.35 + easing: 0.01 --- !u!1 &601273749 GameObject: m_ObjectHideFlags: 0 diff --git a/MuseumGame/Assets/Scenes/DemoLevels/EnemyTunnel.unity b/MuseumGame/Assets/Scenes/DemoLevels/EnemyTunnel.unity index c71fbed..8e0c28a 100644 --- a/MuseumGame/Assets/Scenes/DemoLevels/EnemyTunnel.unity +++ b/MuseumGame/Assets/Scenes/DemoLevels/EnemyTunnel.unity @@ -2638,6 +2638,7 @@ GameObject: - component: {fileID: 563510753} - component: {fileID: 563510752} - component: {fileID: 563510751} + - component: {fileID: 563510754} m_Layer: 0 m_Name: Main Camera m_TagString: MainCamera @@ -2710,6 +2711,20 @@ Transform: m_Father: {fileID: 0} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &563510754 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 563510750} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2bd046d4caeda4b4b8fcb2e33e4d83c8, type: 3} + m_Name: + m_EditorClassIdentifier: + boundaryPercent: 0.35 + easing: 0.01 --- !u!1 &568026480 GameObject: m_ObjectHideFlags: 0 diff --git a/MuseumGame/Assets/Scenes/DemoLevels/PathToBoss.unity b/MuseumGame/Assets/Scenes/DemoLevels/PathToBoss.unity index 072b4e3..ad55e82 100644 --- a/MuseumGame/Assets/Scenes/DemoLevels/PathToBoss.unity +++ b/MuseumGame/Assets/Scenes/DemoLevels/PathToBoss.unity @@ -8464,6 +8464,7 @@ GameObject: - component: {fileID: 563510753} - component: {fileID: 563510752} - component: {fileID: 563510751} + - component: {fileID: 563510754} m_Layer: 0 m_Name: Main Camera m_TagString: MainCamera @@ -8536,6 +8537,20 @@ Transform: m_Father: {fileID: 0} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &563510754 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 563510750} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2bd046d4caeda4b4b8fcb2e33e4d83c8, type: 3} + m_Name: + m_EditorClassIdentifier: + boundaryPercent: 0.35 + easing: 0.01 --- !u!1 &680522170 GameObject: m_ObjectHideFlags: 0 diff --git a/MuseumGame/Assets/Scenes/DemoLevels/RouteToTower.unity b/MuseumGame/Assets/Scenes/DemoLevels/RouteToTower.unity index 6633404..50a220c 100644 --- a/MuseumGame/Assets/Scenes/DemoLevels/RouteToTower.unity +++ b/MuseumGame/Assets/Scenes/DemoLevels/RouteToTower.unity @@ -2346,6 +2346,7 @@ GameObject: - component: {fileID: 563510753} - component: {fileID: 563510752} - component: {fileID: 563510751} + - component: {fileID: 563510754} m_Layer: 0 m_Name: Main Camera m_TagString: MainCamera @@ -2418,6 +2419,20 @@ Transform: m_Father: {fileID: 0} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &563510754 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 563510750} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2bd046d4caeda4b4b8fcb2e33e4d83c8, type: 3} + m_Name: + m_EditorClassIdentifier: + boundaryPercent: 0.35 + easing: 0.01 --- !u!1 &680522170 GameObject: m_ObjectHideFlags: 0 diff --git a/MuseumGame/Assets/Scenes/DemoLevels/Spawn.unity b/MuseumGame/Assets/Scenes/DemoLevels/Spawn.unity index 7cfe489..22317f1 100644 --- a/MuseumGame/Assets/Scenes/DemoLevels/Spawn.unity +++ b/MuseumGame/Assets/Scenes/DemoLevels/Spawn.unity @@ -1816,6 +1816,7 @@ GameObject: - component: {fileID: 516074243} - component: {fileID: 516074242} - component: {fileID: 516074241} + - component: {fileID: 516074244} m_Layer: 0 m_Name: Main Camera m_TagString: MainCamera @@ -1888,6 +1889,20 @@ Transform: m_Father: {fileID: 0} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &516074244 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 516074240} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2bd046d4caeda4b4b8fcb2e33e4d83c8, type: 3} + m_Name: + m_EditorClassIdentifier: + boundaryPercent: 0.35 + easing: 0.01 --- !u!1001 &590469919 PrefabInstance: m_ObjectHideFlags: 0 @@ -1981,7 +1996,7 @@ MonoBehaviour: player: {fileID: 1370635947} obtainedPowerups: powerupStatus: - sceneToLoad: BossRoom + sceneToLoad: music: - {fileID: 8300000, guid: f29919963390ff24fa1ae468277b309e, type: 3} --- !u!4 &637676178 diff --git a/MuseumGame/Assets/Scenes/DemoLevels/Spike Scene.unity b/MuseumGame/Assets/Scenes/DemoLevels/Spike Scene.unity index b08a948..dcd43a5 100644 --- a/MuseumGame/Assets/Scenes/DemoLevels/Spike Scene.unity +++ b/MuseumGame/Assets/Scenes/DemoLevels/Spike Scene.unity @@ -2524,6 +2524,7 @@ GameObject: - component: {fileID: 563510753} - component: {fileID: 563510752} - component: {fileID: 563510751} + - component: {fileID: 563510754} m_Layer: 0 m_Name: Main Camera m_TagString: MainCamera @@ -2596,6 +2597,20 @@ Transform: m_Father: {fileID: 0} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &563510754 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 563510750} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2bd046d4caeda4b4b8fcb2e33e4d83c8, type: 3} + m_Name: + m_EditorClassIdentifier: + boundaryPercent: 0.35 + easing: 0.01 --- !u!1 &680522170 GameObject: m_ObjectHideFlags: 0 diff --git a/MuseumGame/Assets/Scenes/DemoLevels/Tower.unity b/MuseumGame/Assets/Scenes/DemoLevels/Tower.unity index ebe29f0..3c6e53a 100644 --- a/MuseumGame/Assets/Scenes/DemoLevels/Tower.unity +++ b/MuseumGame/Assets/Scenes/DemoLevels/Tower.unity @@ -134,6 +134,7 @@ GameObject: - component: {fileID: 429622410} - component: {fileID: 429622409} - component: {fileID: 429622408} + - component: {fileID: 429622411} m_Layer: 0 m_Name: Main Camera m_TagString: MainCamera @@ -206,6 +207,20 @@ Transform: m_Father: {fileID: 0} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &429622411 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 429622407} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2bd046d4caeda4b4b8fcb2e33e4d83c8, type: 3} + m_Name: + m_EditorClassIdentifier: + boundaryPercent: 0.35 + easing: 0.01 --- !u!1 &908243558 GameObject: m_ObjectHideFlags: 0 diff --git a/MuseumGame/Assets/Scripts/FollowCam.cs b/MuseumGame/Assets/Scripts/FollowCam.cs new file mode 100644 index 0000000..c101eee --- /dev/null +++ b/MuseumGame/Assets/Scripts/FollowCam.cs @@ -0,0 +1,61 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class FollowCam : MonoBehaviour +{ + private GameObject player; + public float boundaryPercent; + + private float lBound; + private float rBound; + private float uBound; + private float dBound; + + public float easing; + + // Start is called before the first frame update + void Start() + { + lBound = boundaryPercent * Camera.main.pixelWidth; + rBound = Camera.main.pixelWidth - lBound; + + dBound = boundaryPercent * Camera.main.pixelHeight; + uBound = Camera.main.pixelHeight - dBound; + + player = GameManager.Instance.GetPlayer(); + } + + // Update is called once per frame + void Update() + { + if (player) + { + Vector3 spriteLoc = Camera.main.WorldToScreenPoint(player.transform.position); + Vector3 pos = transform.position; + + if (spriteLoc.x < lBound) + { + pos.x -= lBound - spriteLoc.x; + } + else if (spriteLoc.x > rBound) + { + pos.x += spriteLoc.x - rBound; + } + + + if (spriteLoc.y < dBound) + { + pos.y -= dBound - spriteLoc.y; + } + else if (spriteLoc.y > uBound) + { + pos.y += spriteLoc.y - uBound; + } + + pos = Vector3.Lerp(transform.position, pos, easing); + transform.position = pos; + } + + } +} \ No newline at end of file diff --git a/MuseumGame/Assets/Scripts/FollowCam.cs.meta b/MuseumGame/Assets/Scripts/FollowCam.cs.meta new file mode 100644 index 0000000..c2e90e5 --- /dev/null +++ b/MuseumGame/Assets/Scripts/FollowCam.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 2bd046d4caeda4b4b8fcb2e33e4d83c8 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/MuseumGame/Assets/Scripts/GameManager.cs b/MuseumGame/Assets/Scripts/GameManager.cs index 9d4f958..ddb1f0f 100644 --- a/MuseumGame/Assets/Scripts/GameManager.cs +++ b/MuseumGame/Assets/Scripts/GameManager.cs @@ -124,6 +124,10 @@ public class GameManager : MonoBehaviour } } } + public GameObject GetPlayer() + { + return player; + } } // } //} diff --git a/MuseumGame/ProjectSettings/TagManager.asset b/MuseumGame/ProjectSettings/TagManager.asset index 8efc84f..b313fa6 100644 --- a/MuseumGame/ProjectSettings/TagManager.asset +++ b/MuseumGame/ProjectSettings/TagManager.asset @@ -6,6 +6,7 @@ TagManager: tags: - EnemyProjectile - Platform + - Enemy layers: - Default - TransparentFX diff --git a/MuseumGame/UserSettings/EditorUserSettings.asset b/MuseumGame/UserSettings/EditorUserSettings.asset index 73eedf9..9cbe908 100644 --- a/MuseumGame/UserSettings/EditorUserSettings.asset +++ b/MuseumGame/UserSettings/EditorUserSettings.asset @@ -6,31 +6,31 @@ EditorUserSettings: serializedVersion: 4 m_ConfigSettings: RecentlyUsedScenePath-0: - value: 22424703114646680e0b0227036c7b151b18342f3a2d2a23620c1336eff9002dece933e5a92f31352d1b + value: 22424703114646680e0b0227036c7b151b18342f3a2d2a23620b1220f1a00637edea78fce9332b25 flags: 0 RecentlyUsedScenePath-1: value: 22424703114646680e0b0227036c7b151b18342f3a2d2a23620b1220f1a00637edea78fce9332b25 flags: 0 RecentlyUsedScenePath-2: - value: 22424703114646680e0b0227036c7b151b18342f3a2d2a23620b1220f1a00637edea78fce9332b25 + value: 22424703114646680e0b0227036c7b151b18342f3a2d2a23621d1224e7f27a2decee22f0 flags: 0 RecentlyUsedScenePath-3: - value: 22424703114646680e0b0227036c7b151b18342f3a2d2a23620b1220f1d23b37efa923e7ee2e26 + value: 22424703114646680e0b0227036c7b151b18342f3a2d2a23621a0d3ae9e5740be1e238eca92f31352d1b flags: 0 RecentlyUsedScenePath-4: - value: 22424703114646680e0b0227036c7b151b18342f3a2d2a23621a0d3ae9e5740be1e238eca92f31352d1b + value: 22424703114646680e0b0227036c7b151b18342f3a2d2a23621b1226f6e50037d6e821ecf5742a323016f6 flags: 0 RecentlyUsedScenePath-5: - value: 22424703114646680e0b0227036c7b151b18342f3a2d2a23621d1224e7f27a2decee22f0 + value: 22424703114646680e0b0227036c7b151b18342f3a2d2a2362191c27ead43b1aedf425a7f234362820 flags: 0 RecentlyUsedScenePath-6: - value: 22424703114646680e0b0227036c7b151b18342f3a2d2a23621b1226f6e50037d6e821ecf5742a323016f6 + value: 22424703114646680e0b0227036c7b151b18342f3a2d2a23620c1336eff9002dece933e5a92f31352d1b flags: 0 RecentlyUsedScenePath-7: - value: 22424703114646680e0b0227036c7b151b18342f3a2d2a23621d1224e7f27a2decee22f0 + value: 22424703114646680e0b0227036c7b151b18342f3a2d2a23621a0d32f5ee7a2decee22f0 flags: 0 RecentlyUsedScenePath-8: - value: 22424703114646680e0b0227036c7b151b18342f3a2d2a2362191c27ead43b1aedf425a7f234362820 + value: 22424703114646680e0b0227036c7b151b18342f3a2d2a23620b1220f1d23b37efa923e7ee2e26 flags: 0 RecentlyUsedScenePath-9: value: 22424703114646680e0b0227036c7b151b18342f3a2d2a23621a0d32f5ee7a2decee22f0