From 82595e8991799d50dce431becdfe3fe380d31691 Mon Sep 17 00:00:00 2001 From: Michal Pikulski Date: Mon, 1 Sep 2025 16:57:01 +0200 Subject: [PATCH] [Player] Add CineMachine tracking camera in the main level, set to follow player --- Assets/Scenes/AppleHillsOverwold.unity | 140 +++++++++++++++++++++++- Assets/Scripts/PlayerTouchController.cs | 4 +- Packages/manifest.json | 1 + Packages/packages-lock.json | 28 +++++ 4 files changed, 169 insertions(+), 4 deletions(-) diff --git a/Assets/Scenes/AppleHillsOverwold.unity b/Assets/Scenes/AppleHillsOverwold.unity index 8ad69790..9348120e 100644 --- a/Assets/Scenes/AppleHillsOverwold.unity +++ b/Assets/Scenes/AppleHillsOverwold.unity @@ -119,6 +119,101 @@ NavMeshSettings: debug: m_Flags: 0 m_NavMeshData: {fileID: 0} +--- !u!1 &100481742 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 100481744} + - component: {fileID: 100481743} + - component: {fileID: 100481745} + m_Layer: 0 + m_Name: CinemachineCamera + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &100481743 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 100481742} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f9dfa5b682dcd46bda6128250e975f58, type: 3} + m_Name: + m_EditorClassIdentifier: + Priority: + Enabled: 0 + m_Value: 0 + OutputChannel: 1 + StandbyUpdate: 2 + m_StreamingVersion: 20241001 + m_LegacyPriority: 0 + Target: + TrackingTarget: {fileID: 1309036670} + LookAtTarget: {fileID: 0} + CustomLookAtTarget: 0 + Lens: + FieldOfView: 60 + OrthographicSize: 7.7550306 + NearClipPlane: 0.3 + FarClipPlane: 1000 + Dutch: 0 + ModeOverride: 0 + PhysicalProperties: + GateFit: 2 + SensorSize: {x: 21.946, y: 16.002} + LensShift: {x: 0, y: 0} + FocusDistance: 10 + Iso: 200 + ShutterSpeed: 0.005 + Aperture: 16 + BladeCount: 5 + Curvature: {x: 2, y: 11} + BarrelClipping: 0.25 + Anamorphism: 0 + BlendHint: 0 +--- !u!4 &100481744 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 100481742} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &100481745 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 100481742} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b617507da6d07e749b7efdb34e1173e1, type: 3} + m_Name: + m_EditorClassIdentifier: + TrackerSettings: + BindingMode: 4 + PositionDamping: {x: 1, y: 1, z: 1} + AngularDampingMode: 0 + RotationDamping: {x: 1, y: 1, z: 1} + QuaternionDamping: 1 + FollowOffset: {x: 0, y: 0, z: -10} --- !u!1 &954512633 GameObject: m_ObjectHideFlags: 0 @@ -204,7 +299,7 @@ PrefabInstance: m_Modifications: - target: {fileID: 2202795855638212749, guid: 5e0579453a4cbae438cf2422f6786a48, type: 3} propertyPath: m_Name - value: TestApple (2) + value: TestApple objectReference: {fileID: 0} - target: {fileID: 7046219584904338117, guid: 5e0579453a4cbae438cf2422f6786a48, type: 3} propertyPath: m_LocalPosition.x @@ -308,6 +403,11 @@ PrefabInstance: m_AddedGameObjects: [] m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 5e0579453a4cbae438cf2422f6786a48, type: 3} +--- !u!4 &1309036670 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 3823830588451517910, guid: 301b4e0735896334f8f6fb9a68a7e419, type: 3} + m_PrefabInstance: {fileID: 8865498003578620591} + m_PrefabAsset: {fileID: 0} --- !u!1001 &1335103842 PrefabInstance: m_ObjectHideFlags: 0 @@ -318,7 +418,7 @@ PrefabInstance: m_Modifications: - target: {fileID: 2202795855638212749, guid: 5e0579453a4cbae438cf2422f6786a48, type: 3} propertyPath: m_Name - value: TestApple (1) + value: TestApple objectReference: {fileID: 0} - target: {fileID: 7046219584904338117, guid: 5e0579453a4cbae438cf2422f6786a48, type: 3} propertyPath: m_LocalPosition.x @@ -421,6 +521,7 @@ GameObject: - component: {fileID: 1741016590} - component: {fileID: 1741016589} - component: {fileID: 1741016588} + - component: {fileID: 1741016591} m_Layer: 0 m_Name: Main Camera m_TagString: MainCamera @@ -471,7 +572,7 @@ Camera: far clip plane: 1000 field of view: 60 orthographic: 1 - orthographic size: 5 + orthographic size: 7.7550306 m_Depth: -1 m_CullingMask: serializedVersion: 2 @@ -502,6 +603,38 @@ Transform: m_Children: [] m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1741016591 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1741016587} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 72ece51f2901e7445ab60da3685d6b5f, type: 3} + m_Name: + m_EditorClassIdentifier: + ShowDebugText: 0 + ShowCameraFrustum: 1 + IgnoreTimeScale: 0 + WorldUpOverride: {fileID: 0} + ChannelMask: -1 + UpdateMethod: 2 + BlendUpdateMethod: 1 + LensModeOverride: + Enabled: 0 + DefaultMode: 2 + DefaultBlend: + Style: 1 + Time: 2 + CustomCurve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + CustomBlends: {fileID: 0} --- !u!1 &1961923684 GameObject: m_ObjectHideFlags: 0 @@ -22353,3 +22486,4 @@ SceneRoots: - {fileID: 1244279152} - {fileID: 1335103842} - {fileID: 1067158016} + - {fileID: 100481744} diff --git a/Assets/Scripts/PlayerTouchController.cs b/Assets/Scripts/PlayerTouchController.cs index 4ba8d1cd..a2a36021 100644 --- a/Assets/Scripts/PlayerTouchController.cs +++ b/Assets/Scripts/PlayerTouchController.cs @@ -30,11 +30,13 @@ public class PlayerTouchController : MonoBehaviour, ITouchInputConsumer // Initialize target to current position so object doesn't snap targetPosition = transform.position; hasTarget = false; + // Register as default consumer in Start, after InputManager is likely initialized + InputManager.Instance?.SetDefaultConsumer(this); } void OnEnable() { - InputManager.Instance?.SetDefaultConsumer(this); + // No longer register here } // Remove Update and HandleInput diff --git a/Packages/manifest.json b/Packages/manifest.json index b440de66..4deb31c8 100644 --- a/Packages/manifest.json +++ b/Packages/manifest.json @@ -2,6 +2,7 @@ "dependencies": { "com.unity.2d.sprite": "1.0.0", "com.unity.2d.spriteshape": "11.0.0", + "com.unity.cinemachine": "3.1.4", "com.unity.feature.2d": "2.0.1", "com.unity.ide.rider": "3.0.36", "com.unity.inputsystem": "1.14.2", diff --git a/Packages/packages-lock.json b/Packages/packages-lock.json index 152e1ad1..8398bf21 100644 --- a/Packages/packages-lock.json +++ b/Packages/packages-lock.json @@ -106,6 +106,16 @@ }, "url": "https://packages.unity.com" }, + "com.unity.cinemachine": { + "version": "3.1.4", + "depth": 0, + "source": "registry", + "dependencies": { + "com.unity.splines": "2.0.0", + "com.unity.modules.imgui": "1.0.0" + }, + "url": "https://packages.unity.com" + }, "com.unity.collections": { "version": "2.5.1", "depth": 2, @@ -179,6 +189,24 @@ "dependencies": {}, "url": "https://packages.unity.com" }, + "com.unity.settings-manager": { + "version": "2.1.0", + "depth": 2, + "source": "registry", + "dependencies": {}, + "url": "https://packages.unity.com" + }, + "com.unity.splines": { + "version": "2.8.1", + "depth": 1, + "source": "registry", + "dependencies": { + "com.unity.mathematics": "1.2.1", + "com.unity.modules.imgui": "1.0.0", + "com.unity.settings-manager": "1.0.3" + }, + "url": "https://packages.unity.com" + }, "com.unity.test-framework": { "version": "1.5.1", "depth": 3,