diff --git a/Gameton-06/Assets/Gameton/Scenes/Stage 1.unity b/Gameton-06/Assets/Gameton/Scenes/Stage 1.unity index c0d811e6..bcf6ccbc 100644 --- a/Gameton-06/Assets/Gameton/Scenes/Stage 1.unity +++ b/Gameton-06/Assets/Gameton/Scenes/Stage 1.unity @@ -2214,7 +2214,7 @@ Tilemap: e33: 1 --- !u!1 &265027070 GameObject: - m_ObjectHideFlags: 3 + m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} @@ -2231,7 +2231,7 @@ GameObject: m_IsActive: 1 --- !u!4 &265027071 Transform: - m_ObjectHideFlags: 3 + m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} @@ -2246,7 +2246,7 @@ Transform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!114 &265027072 MonoBehaviour: - m_ObjectHideFlags: 3 + m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} @@ -58467,6 +58467,91 @@ Tilemap: e31: 0 e32: 0 e33: 1 +--- !u!1 &1014812132 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1014812134} + - component: {fileID: 1014812133} + - component: {fileID: 1014812135} + m_Layer: 0 + m_Name: CM vcam + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1014812133 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1014812132} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 45e653bab7fb20e499bda25e1b646fea, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ExcludedPropertiesInInspector: + - m_Script + m_LockStageInInspector: + m_StreamingVersion: 20170927 + m_Priority: 10 + m_StandbyUpdate: 2 + m_LookAt: {fileID: 0} + m_Follow: {fileID: 0} + m_Lens: + FieldOfView: 60 + OrthographicSize: 10 + NearClipPlane: 0.3 + FarClipPlane: 1000 + Dutch: 0 + ModeOverride: 0 + LensShift: {x: 0, y: 0} + GateFit: 2 + FocusDistance: 10 + m_SensorSize: {x: 1, y: 1} + m_Transitions: + m_BlendHint: 0 + m_InheritPosition: 0 + m_OnCameraLive: + m_PersistentCalls: + m_Calls: [] + m_LegacyBlendHint: 0 + m_ComponentOwner: {fileID: 1487631563} +--- !u!4 &1014812134 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1014812132} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 27.863968, y: -0.029999256, z: -10.076585} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 1487631563} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1014812135 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1014812132} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 58f4ec2a370c10c44a9a548e6cfd2d74, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!1 &1185367601 GameObject: m_ObjectHideFlags: 0 @@ -58545,7 +58630,7 @@ Transform: m_GameObject: {fileID: 1185367601} serializedVersion: 2 m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: -89.59, y: 0, z: -1} + m_LocalPosition: {x: -87.98603, y: -0.029999256, z: -10.076585} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: @@ -58561,36 +58646,31 @@ MonoBehaviour: m_GameObject: {fileID: 1185367601} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 45e653bab7fb20e499bda25e1b646fea, type: 3} + m_Script: {fileID: 11500000, guid: 72ece51f2901e7445ab60da3685d6b5f, type: 3} m_Name: m_EditorClassIdentifier: - m_ExcludedPropertiesInInspector: - - m_Script - m_LockStageInInspector: - m_StreamingVersion: 20170927 - m_Priority: 10 - m_StandbyUpdate: 2 - m_LookAt: {fileID: 0} - m_Follow: {fileID: 0} - m_Lens: - FieldOfView: 40 - OrthographicSize: 10 - NearClipPlane: 0.1 - FarClipPlane: 5000 - Dutch: 0 - ModeOverride: 0 - LensShift: {x: 0, y: 0} - GateFit: 2 - FocusDistance: 10 - m_SensorSize: {x: 1, y: 1} - m_Transitions: - m_BlendHint: 0 - m_InheritPosition: 0 - m_OnCameraLive: - m_PersistentCalls: - m_Calls: [] - m_LegacyBlendHint: 0 - m_ComponentOwner: {fileID: 265027071} + m_ShowDebugText: 0 + m_ShowCameraFrustum: 1 + m_IgnoreTimeScale: 0 + m_WorldUpOverride: {fileID: 0} + m_UpdateMethod: 2 + m_BlendUpdateMethod: 1 + m_DefaultBlend: + m_Style: 1 + m_Time: 2 + m_CustomCurve: + serializedVersion: 2 + m_Curve: [] + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + m_CustomBlends: {fileID: 0} + m_CameraCutEvent: + m_PersistentCalls: + m_Calls: [] + m_CameraActivatedEvent: + m_PersistentCalls: + m_Calls: [] --- !u!1 &1228141460 GameObject: m_ObjectHideFlags: 0 @@ -91524,6 +91604,94 @@ Transform: m_Children: [] m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1487631562 +GameObject: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1487631563} + - component: {fileID: 1487631565} + - component: {fileID: 1487631564} + m_Layer: 0 + m_Name: cm + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1487631563 +Transform: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1487631562} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 1014812134} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1487631564 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1487631562} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 6ad980451443d70438faac0bc6c235a0, type: 3} + m_Name: + m_EditorClassIdentifier: + m_TrackedObjectOffset: {x: 0, y: 0, z: 0} + m_LookaheadTime: 0 + m_LookaheadSmoothing: 0 + m_LookaheadIgnoreY: 0 + m_XDamping: 1 + m_YDamping: 1 + m_ZDamping: 1 + m_TargetMovementOnly: 1 + m_ScreenX: 0.379 + m_ScreenY: 0.775 + m_CameraDistance: 10 + m_DeadZoneWidth: 1 + m_DeadZoneHeight: 1 + m_DeadZoneDepth: 0 + m_UnlimitedSoftZone: 0 + m_SoftZoneWidth: 1.5 + m_SoftZoneHeight: 1.034 + m_BiasX: 0 + m_BiasY: 0 + m_CenterOnActivate: 1 + m_GroupFramingMode: 2 + m_AdjustmentMode: 0 + m_GroupFramingSize: 0.8 + m_MaxDollyIn: 5000 + m_MaxDollyOut: 5000 + m_MinimumDistance: 1 + m_MaximumDistance: 5000 + m_MinimumFOV: 3 + m_MaximumFOV: 60 + m_MinimumOrthoSize: 1 + m_MaximumOrthoSize: 5000 +--- !u!114 &1487631565 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1487631562} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: ac0b09e7857660247b1477e93731de29, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!1 &1490603789 GameObject: m_ObjectHideFlags: 0 @@ -112013,3 +112181,4 @@ SceneRoots: - {fileID: 2067632268} - {fileID: 1423029865} - {fileID: 1441848035} + - {fileID: 1014812134} diff --git a/Gameton-06/Assets/Gameton/Scripts/Camera/CameraFollow.cs b/Gameton-06/Assets/Gameton/Scripts/Camera/CameraFollow.cs new file mode 100644 index 00000000..0c8d58c2 --- /dev/null +++ b/Gameton-06/Assets/Gameton/Scripts/Camera/CameraFollow.cs @@ -0,0 +1,31 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using Cinemachine; + +namespace TON +{ + + public class CameraFollow : MonoBehaviour + { + private CinemachineVirtualCamera vcam; + + void Awake() + { + vcam = GetComponent(); + if (vcam == null) + { + Debug.LogError("Cinemachine Virtual Camera component is missing!"); + } + } + + public void SetFollowTarget(Transform target) + { + if (vcam != null) + { + vcam.Follow = target; + } + } + } + +} diff --git a/Gameton-06/Assets/Gameton/Scripts/Camera/CameraFollow.cs.meta b/Gameton-06/Assets/Gameton/Scripts/Camera/CameraFollow.cs.meta new file mode 100644 index 00000000..56d3b3d3 --- /dev/null +++ b/Gameton-06/Assets/Gameton/Scripts/Camera/CameraFollow.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 58f4ec2a370c10c44a9a548e6cfd2d74 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Gameton-06/Assets/Gameton/Scripts/Character/PlayerSpawner.cs b/Gameton-06/Assets/Gameton/Scripts/Character/PlayerSpawner.cs index fb2f77ff..8a6387d5 100644 --- a/Gameton-06/Assets/Gameton/Scripts/Character/PlayerSpawner.cs +++ b/Gameton-06/Assets/Gameton/Scripts/Character/PlayerSpawner.cs @@ -4,9 +4,8 @@ using UnityEngine; namespace TON { - public static class PlayerSpawner + public class PlayerSpawner { - public static void SpawnPlayerCharacter() { List playerDatas = PlayerDataManager.Singleton.playersData; @@ -46,6 +45,17 @@ namespace TON // 캐릭터 프리팹을 TON.Player 위치에 배치 GameObject playerInstance = GameObject.Instantiate(characterPrefab, playerObj.transform.position, Quaternion.identity); playerInstance.transform.SetParent(playerObj.transform); + + // 카메라가 새 플레이어를 따라가도록 설정 + CameraFollow cameraFollow = GameObject.FindObjectOfType(); + if (cameraFollow != null) + { + cameraFollow.SetFollowTarget(playerInstance.transform); + } + else + { + Debug.LogError("No CameraFollow script found in the scene!"); + } } } }