From 84d4decd3af6dc8430c21c205089648fea9f17a6 Mon Sep 17 00:00:00 2001 From: dal4segno Date: Sat, 24 Jan 2026 02:04:18 +0900 Subject: [PATCH] =?UTF-8?q?networkplayercontroller=20=EA=B0=9C=EC=84=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assembly-CSharp.csproj | 128 +++++++++++----------- Assets/Scripts/NetworkPlayerController.cs | 30 +++-- 2 files changed, 77 insertions(+), 81 deletions(-) diff --git a/Assembly-CSharp.csproj b/Assembly-CSharp.csproj index 485ffc9..ea95f45 100644 --- a/Assembly-CSharp.csproj +++ b/Assembly-CSharp.csproj @@ -607,6 +607,10 @@ Library\PackageCache\com.unity.visualscripting@191c0d7e3b69\Runtime\VisualScripting.Flow\Dependencies\NCalc\Unity.VisualScripting.Antlr3.Runtime.dll False + + Library\PackageCache\com.unity.nuget.newtonsoft-json@4dfd81071c64\Runtime\Newtonsoft.Json.dll + False + Library\PackageCache\com.unity.nuget.mono-cecil@ecb9724e46ff\Mono.Cecil.dll False @@ -615,10 +619,6 @@ Library\PackageCache\com.unity.collections@aea9d3bd5e19\Unity.Collections.Tests\System.Runtime.CompilerServices.Unsafe\System.Runtime.CompilerServices.Unsafe.dll False - - Library\PackageCache\com.unity.nuget.newtonsoft-json@4dfd81071c64\Runtime\Newtonsoft.Json.dll - False - C:\Program Files\Unity\Hub\Editor\6000.3.3f1\Editor\Data\NetStandard\ref\2.1.0\netstandard.dll False @@ -1151,12 +1151,16 @@ Library\ScriptAssemblies\Unity.Multiplayer.Tools.NetworkSolutionInterface.dll False + + Library\ScriptAssemblies\Unity.Multiplayer.Tools.NetStats.dll + False + Library\ScriptAssemblies\Unity.Rendering.LightTransport.Editor.dll False - - Library\ScriptAssemblies\Unity.Multiplayer.Tools.NetStats.dll + + Library\ScriptAssemblies\Unity.Netcode.Runtime.dll False @@ -1167,30 +1171,26 @@ Library\ScriptAssemblies\Unity.2D.IK.Runtime.dll False - - Library\ScriptAssemblies\Unity.Netcode.Runtime.dll + + Library\ScriptAssemblies\Unity.Multiplayer.Tools.NetworkSimulator.Runtime.dll False Library\ScriptAssemblies\Unity.VisualScripting.SettingsProvider.Editor.dll False - - Library\ScriptAssemblies\Unity.2D.Animation.Editor.dll - False - - - Library\ScriptAssemblies\Unity.Multiplayer.Tools.NetworkSimulator.Runtime.dll - False - - - Library\ScriptAssemblies\Unity.InternalAPIEditorBridge.001.dll + + Library\ScriptAssemblies\Unity.Multiplayer.Tools.DependencyInjection.dll False Library\ScriptAssemblies\Unity.Networking.Editor.dll False + + Library\ScriptAssemblies\Unity.InternalAPIEditorBridge.001.dll + False + Library\ScriptAssemblies\Unity.Splines.Editor.dll False @@ -1203,32 +1203,28 @@ Library\ScriptAssemblies\Unity.RenderPipelines.Universal.Editor.dll False - - Library\ScriptAssemblies\Unity.2D.Common.Editor.dll + + Library\ScriptAssemblies\Unity.Multiplayer.Tools.NetworkProfiler.Runtime.dll False Library\ScriptAssemblies\Unity.Timeline.dll False - - Library\ScriptAssemblies\Unity.Multiplayer.Tools.NetworkProfiler.Runtime.dll - False - - - Library\ScriptAssemblies\PPv2URPConverters.dll - False - - - Library\ScriptAssemblies\Unity.2D.Tooling.Editor.dll + + Library\ScriptAssemblies\Unity.2D.Common.Editor.dll False Library\ScriptAssemblies\Unity.Multiplayer.Tools.NetVis.Configuration.dll False - - Library\ScriptAssemblies\Unity.Multiplayer.Tools.DependencyInjection.dll + + Library\ScriptAssemblies\Unity.2D.Tooling.Editor.dll + False + + + Library\ScriptAssemblies\PPv2URPConverters.dll False @@ -1259,6 +1255,10 @@ Library\ScriptAssemblies\Unity.PlasticSCM.Editor.dll False + + Library\ScriptAssemblies\Unity.2D.Animation.Editor.dll + False + Library\ScriptAssemblies\Unity.Burst.Editor.dll False @@ -1267,18 +1267,22 @@ Library\ScriptAssemblies\Unity.VisualScripting.Core.dll False + + Library\ScriptAssemblies\Unity.Multiplayer.Tools.Adapters.dll + False + Library\ScriptAssemblies\Unity.Mathematics.Editor.dll False - - Library\ScriptAssemblies\Unity.Cinemachine.Editor.dll - False - Library\ScriptAssemblies\Unity.Multiplayer.Tools.NetStatsMonitor.Configuration.dll False + + Library\ScriptAssemblies\Unity.Cinemachine.Editor.dll + False + Library\ScriptAssemblies\Unity.UnifiedRayTracing.Runtime.dll False @@ -1295,10 +1299,6 @@ Library\ScriptAssemblies\Unity.Multiplayer.Tools.NetVis.Editor.Visualization.dll False - - Library\ScriptAssemblies\Unity.Multiplayer.Tools.Adapters.dll - False - Library\ScriptAssemblies\Unity.Rider.Editor.dll False @@ -1311,6 +1311,10 @@ Library\ScriptAssemblies\Unity.2D.Aseprite.Editor.dll False + + Library\ScriptAssemblies\Unity.Multiplayer.Tools.DependencyInjection.UIElements.dll + False + Library\ScriptAssemblies\Unity.2D.Psdimporter.Editor.dll False @@ -1351,16 +1355,12 @@ Library\ScriptAssemblies\Unity.2D.IK.Editor.dll False - - Library\ScriptAssemblies\Unity.2D.SpriteShape.Runtime.dll - False - Library\ScriptAssemblies\Unity.Multiplayer.Tools.Editor.dll False - - Library\ScriptAssemblies\Unity.Multiplayer.Tools.DependencyInjection.UIElements.dll + + Library\ScriptAssemblies\Unity.2D.SpriteShape.Runtime.dll False @@ -1379,20 +1379,16 @@ Library\ScriptAssemblies\Unity.Collections.dll False - - Library\ScriptAssemblies\Unity.InputSystem.ForUI.dll - False - - - Library\ScriptAssemblies\Unity.RenderPipelines.GPUDriven.Runtime.dll + + Library\ScriptAssemblies\Unity.Profiling.Core.dll False Library\ScriptAssemblies\Unity.Networking.Transport.dll False - - Library\ScriptAssemblies\Unity.Profiling.Core.dll + + Library\ScriptAssemblies\Unity.InputSystem.ForUI.dll False @@ -1403,6 +1399,10 @@ Library\ScriptAssemblies\Unity.VisualScripting.State.Editor.dll False + + Library\ScriptAssemblies\Unity.RenderPipelines.GPUDriven.Runtime.dll + False + Library\ScriptAssemblies\Unity.Mathematics.dll False @@ -1483,12 +1483,8 @@ Library\ScriptAssemblies\Unity.RenderPipelines.Core.Editor.Shared.dll False - - Library\ScriptAssemblies\Unity.2D.SpriteShape.Editor.dll - False - - - Library\ScriptAssemblies\Unity.Multiplayer.Tools.NetworkSimulator.Editor.dll + + Library\ScriptAssemblies\Unity.Multiplayer.Tools.Initialization.dll False @@ -1499,6 +1495,10 @@ Library\ScriptAssemblies\Unity.Multiplayer.Tools.NetStatsMonitor.Component.dll False + + Library\ScriptAssemblies\Unity.Multiplayer.Tools.NetworkSimulator.Editor.dll + False + Library\ScriptAssemblies\Unity.Settings.Editor.dll False @@ -1507,16 +1507,16 @@ Library\ScriptAssemblies\Unity.Splines.dll False - - Library\ScriptAssemblies\Unity.Multiplayer.Tools.Initialization.dll + + Library\ScriptAssemblies\Unity.Multiplayer.Tools.NetVis.Editor.UI.dll False Library\ScriptAssemblies\UnityEditor.UI.dll False - - Library\ScriptAssemblies\Unity.Multiplayer.Tools.NetVis.Editor.UI.dll + + Library\ScriptAssemblies\Unity.2D.SpriteShape.Editor.dll False diff --git a/Assets/Scripts/NetworkPlayerController.cs b/Assets/Scripts/NetworkPlayerController.cs index 5341827..4f52afa 100644 --- a/Assets/Scripts/NetworkPlayerController.cs +++ b/Assets/Scripts/NetworkPlayerController.cs @@ -8,11 +8,6 @@ public class NetworkPlayerController : NetworkBehaviour [Header("Movement Settings")] public float moveSpeed = 5f; public float rotationSpeed = 10f; - public float jumpHeight = 1.5f; - public float gravity = -19.62f; - - [Header("Input")] - [SerializeField] private InputActionAsset inputActions; private Vector2 _moveInput; private CharacterController _controller; @@ -25,18 +20,14 @@ public class NetworkPlayerController : NetworkBehaviour _animator = GetComponent(); } - // NGO 초기화 public override void OnNetworkSpawn() { if (!IsOwner) return; - // 1. 씬에 있는 가상 카메라를 찾습니다. - // Unity 6에서는 CinemachineVirtualCamera 대신 CinemachineCamera를 주로 사용합니다. - var vcam = GameObject.FindAnyObjectByType(); + var vcam = GameObject.FindFirstObjectByType(); if (vcam != null) { - // 2. 카메라의 Follow와 LookAt 대상을 '나'로 설정합니다. vcam.Follow = transform; vcam.LookAt = transform; Debug.Log("[Camera] 로컬 플레이어에게 카메라가 연결되었습니다."); @@ -48,12 +39,9 @@ public class NetworkPlayerController : NetworkBehaviour public override void OnNetworkDespawn() { - if (IsOwner) + if (IsOwner && _inputActions != null) { - if (inputActions != null) - { - inputActions.Disable(); - } + _inputActions.Disable(); } } @@ -63,13 +51,21 @@ public class NetworkPlayerController : NetworkBehaviour _moveInput = _inputActions.Player.Move.ReadValue(); Vector3 move = new Vector3(_moveInput.x, 0, _moveInput.y).normalized; + if (move.magnitude >= 0.1f) { Quaternion targetRotation = Quaternion.LookRotation(move); transform.rotation = Quaternion.Slerp(transform.rotation, targetRotation, rotationSpeed * Time.deltaTime); - _controller.Move(move * moveSpeed * Time.deltaTime); + + if (_controller != null) + { + _controller.Move(move * moveSpeed * Time.deltaTime); + } } - _animator.SetFloat("MoveSpeed", move.magnitude); + if (_animator != null) + { + _animator.SetFloat("MoveSpeed", move.magnitude); + } } }