feat: Stage 1 캐릭터 follow 카메라 추가 작업

This commit is contained in:
aube.lee
2025-02-18 21:49:20 +09:00
parent 3bfaf9b4e8
commit e00c62da19
4 changed files with 255 additions and 34 deletions

View File

@@ -2214,7 +2214,7 @@ Tilemap:
e33: 1 e33: 1
--- !u!1 &265027070 --- !u!1 &265027070
GameObject: GameObject:
m_ObjectHideFlags: 3 m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0} m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0} m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
@@ -2231,7 +2231,7 @@ GameObject:
m_IsActive: 1 m_IsActive: 1
--- !u!4 &265027071 --- !u!4 &265027071
Transform: Transform:
m_ObjectHideFlags: 3 m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0} m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0} m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
@@ -2246,7 +2246,7 @@ Transform:
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &265027072 --- !u!114 &265027072
MonoBehaviour: MonoBehaviour:
m_ObjectHideFlags: 3 m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0} m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0} m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
@@ -58467,6 +58467,91 @@ Tilemap:
e31: 0 e31: 0
e32: 0 e32: 0
e33: 1 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 --- !u!1 &1185367601
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@@ -58545,7 +58630,7 @@ Transform:
m_GameObject: {fileID: 1185367601} m_GameObject: {fileID: 1185367601}
serializedVersion: 2 serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} 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_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0 m_ConstrainProportionsScale: 0
m_Children: m_Children:
@@ -58561,36 +58646,31 @@ MonoBehaviour:
m_GameObject: {fileID: 1185367601} m_GameObject: {fileID: 1185367601}
m_Enabled: 1 m_Enabled: 1
m_EditorHideFlags: 0 m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 45e653bab7fb20e499bda25e1b646fea, type: 3} m_Script: {fileID: 11500000, guid: 72ece51f2901e7445ab60da3685d6b5f, type: 3}
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
m_ExcludedPropertiesInInspector: m_ShowDebugText: 0
- m_Script m_ShowCameraFrustum: 1
m_LockStageInInspector: m_IgnoreTimeScale: 0
m_StreamingVersion: 20170927 m_WorldUpOverride: {fileID: 0}
m_Priority: 10 m_UpdateMethod: 2
m_StandbyUpdate: 2 m_BlendUpdateMethod: 1
m_LookAt: {fileID: 0} m_DefaultBlend:
m_Follow: {fileID: 0} m_Style: 1
m_Lens: m_Time: 2
FieldOfView: 40 m_CustomCurve:
OrthographicSize: 10 serializedVersion: 2
NearClipPlane: 0.1 m_Curve: []
FarClipPlane: 5000 m_PreInfinity: 2
Dutch: 0 m_PostInfinity: 2
ModeOverride: 0 m_RotationOrder: 4
LensShift: {x: 0, y: 0} m_CustomBlends: {fileID: 0}
GateFit: 2 m_CameraCutEvent:
FocusDistance: 10 m_PersistentCalls:
m_SensorSize: {x: 1, y: 1} m_Calls: []
m_Transitions: m_CameraActivatedEvent:
m_BlendHint: 0
m_InheritPosition: 0
m_OnCameraLive:
m_PersistentCalls: m_PersistentCalls:
m_Calls: [] m_Calls: []
m_LegacyBlendHint: 0
m_ComponentOwner: {fileID: 265027071}
--- !u!1 &1228141460 --- !u!1 &1228141460
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@@ -91524,6 +91604,94 @@ Transform:
m_Children: [] m_Children: []
m_Father: {fileID: 0} m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 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 --- !u!1 &1490603789
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@@ -112013,3 +112181,4 @@ SceneRoots:
- {fileID: 2067632268} - {fileID: 2067632268}
- {fileID: 1423029865} - {fileID: 1423029865}
- {fileID: 1441848035} - {fileID: 1441848035}
- {fileID: 1014812134}

View File

@@ -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<CinemachineVirtualCamera>();
if (vcam == null)
{
Debug.LogError("Cinemachine Virtual Camera component is missing!");
}
}
public void SetFollowTarget(Transform target)
{
if (vcam != null)
{
vcam.Follow = target;
}
}
}
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 58f4ec2a370c10c44a9a548e6cfd2d74
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -4,9 +4,8 @@ using UnityEngine;
namespace TON namespace TON
{ {
public static class PlayerSpawner public class PlayerSpawner
{ {
public static void SpawnPlayerCharacter() public static void SpawnPlayerCharacter()
{ {
List<PlayerData> playerDatas = PlayerDataManager.Singleton.playersData; List<PlayerData> playerDatas = PlayerDataManager.Singleton.playersData;
@@ -46,6 +45,17 @@ namespace TON
// 캐릭터 프리팹을 TON.Player 위치에 배치 // 캐릭터 프리팹을 TON.Player 위치에 배치
GameObject playerInstance = GameObject.Instantiate(characterPrefab, playerObj.transform.position, Quaternion.identity); GameObject playerInstance = GameObject.Instantiate(characterPrefab, playerObj.transform.position, Quaternion.identity);
playerInstance.transform.SetParent(playerObj.transform); playerInstance.transform.SetParent(playerObj.transform);
// 카메라가 새 플레이어를 따라가도록 설정
CameraFollow cameraFollow = GameObject.FindObjectOfType<CameraFollow>();
if (cameraFollow != null)
{
cameraFollow.SetFollowTarget(playerInstance.transform);
}
else
{
Debug.LogError("No CameraFollow script found in the scene!");
}
} }
} }
} }