From 7f021541d6dae99f9f602eeec38f14cb2da6b1f8 Mon Sep 17 00:00:00 2001 From: Nam Tae Gun Date: Tue, 4 Jun 2024 22:15:14 +0900 Subject: [PATCH] =?UTF-8?q?#1=20=EC=8B=9C=EC=9E=91=ED=95=A0=20=EB=95=8C,?= =?UTF-8?q?=20Key=20Action=EC=9D=B4=20=EC=A0=84=EB=B6=80=20=ED=99=9C?= =?UTF-8?q?=EC=84=B1=ED=99=94=EB=90=98=EB=8A=94=20=EB=B2=84=EA=B7=B8=20?= =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 1.7.0 Input System에서는 문제 없다가 1.8.2로 업그레이드되면서 처음 PlayerInput의 모든 Action이 Enable되는 현상이 생겼습니다. - CombatPlayer프리팹에서 PlayerInput컴포넌트를 비활성화 하고, 생성과 동시에 활성화합니다. - 첫 번째 튜토리얼에 진입하는 순간, 키 입력을 순간적으로 비활성화하고 되돌립니다. Closes #1 --- Assets/01.Scenes/02.Combat.unity | 4 ++++ .../Character/Player/Combat/CombatInput.cs | 1 + .../Character/Player/Combat/CombatPlayer.cs | 6 +++++- Assets/02.Scripts/PlayerInputKeyManager.cs | 10 +++++++++ Assets/02.Scripts/Ui/CombatTutorialUi.cs | 15 ++++++++++--- .../Characters/Players/CombatPlayer.prefab | 2 +- .../Content/Demo/Mesh/Observatory.fbx.meta | 21 ++++++++++--------- 7 files changed, 44 insertions(+), 15 deletions(-) diff --git a/Assets/01.Scenes/02.Combat.unity b/Assets/01.Scenes/02.Combat.unity index 42bc0dec8..2a543d52b 100644 --- a/Assets/01.Scenes/02.Combat.unity +++ b/Assets/01.Scenes/02.Combat.unity @@ -4929,6 +4929,10 @@ PrefabInstance: serializedVersion: 3 m_TransformParent: {fileID: 0} m_Modifications: + - target: {fileID: 522031830802304584, guid: 680ce017bd2b7d34a99245242d032120, type: 3} + propertyPath: _waitDuration + value: 1 + objectReference: {fileID: 0} - target: {fileID: 668700138157159316, guid: 680ce017bd2b7d34a99245242d032120, type: 3} propertyPath: m_LocalPosition.z value: -5 diff --git a/Assets/02.Scripts/Character/Player/Combat/CombatInput.cs b/Assets/02.Scripts/Character/Player/Combat/CombatInput.cs index 0086ebe95..0719d8cc4 100644 --- a/Assets/02.Scripts/Character/Player/Combat/CombatInput.cs +++ b/Assets/02.Scripts/Character/Player/Combat/CombatInput.cs @@ -27,6 +27,7 @@ namespace BlueWater.Players.Combat public void InitializeComponents(PlayerInput playerInput) { _playerInput = playerInput; + _playerInput.enabled = true; PlayerInputKeyManager.Instance.SetCurrentPlayerInput(_playerInput); PlayerInputKeyManager.Instance.SwitchCurrentActionMap(InputActionMaps.Combat); } diff --git a/Assets/02.Scripts/Character/Player/Combat/CombatPlayer.cs b/Assets/02.Scripts/Character/Player/Combat/CombatPlayer.cs index a0f3b9416..728fa7c0f 100644 --- a/Assets/02.Scripts/Character/Player/Combat/CombatPlayer.cs +++ b/Assets/02.Scripts/Character/Player/Combat/CombatPlayer.cs @@ -60,6 +60,7 @@ namespace BlueWater.Players.Combat private void Awake() { InitializeComponents(); + InitializeChileComponents(); } private void Start() @@ -95,7 +96,10 @@ namespace BlueWater.Players.Combat PlayerHealthPoint = GetComponent(); CombatSkillController = GetComponent(); CombatStatus = GetComponent(); - + } + + private void InitializeChileComponents() + { CombatInput.InitializeComponents(PlayerInput); CombatMovement.InitializeComponents(Rigidbody, VisualLook, AnimationController); AnimationController.InitializeComponents(Animator); diff --git a/Assets/02.Scripts/PlayerInputKeyManager.cs b/Assets/02.Scripts/PlayerInputKeyManager.cs index 8b9fbf31b..217849880 100644 --- a/Assets/02.Scripts/PlayerInputKeyManager.cs +++ b/Assets/02.Scripts/PlayerInputKeyManager.cs @@ -83,6 +83,16 @@ namespace BlueWater _currentPlayerInput.enabled = false; } + public void DisableAllActionMaps() + { + if (IsNullCurrentPlayerInput()) return; + + foreach (var element in _currentPlayerInput.actions.actionMaps) + { + element.Disable(); + } + } + public void DisableAllActionsExcept(string exceptActionName) { if (IsNullCurrentPlayerInput()) return; diff --git a/Assets/02.Scripts/Ui/CombatTutorialUi.cs b/Assets/02.Scripts/Ui/CombatTutorialUi.cs index 96c98b8be..d2c979e40 100644 --- a/Assets/02.Scripts/Ui/CombatTutorialUi.cs +++ b/Assets/02.Scripts/Ui/CombatTutorialUi.cs @@ -1,3 +1,4 @@ +using System.Collections; using Sirenix.OdinInspector; using UnityEngine; @@ -30,13 +31,21 @@ namespace BlueWater.Uis public void ShowFirstTutorialUi() { - PlayerInputKeyManager.Instance.SwitchCurrentActionMap(InputActionMaps.CombatUi); - PlayerInputKeyManager.Instance.DisableAllActionsExcept("InteractionUi"); - + PlayerInputKeyManager.Instance.DisableCurrentPlayerInput(); gameObject.SetActive(true); _firstTutorialUi.SetActive(true); _secondTutorialUi.SetActive(false); CurrentTutorialState = TutorialState.First; + StartCoroutine(FirstTutorialCoroutine()); + } + + private IEnumerator FirstTutorialCoroutine() + { + yield return new WaitForSeconds(0.1f); + + PlayerInputKeyManager.Instance.EnableCurrentPlayerInput(); + PlayerInputKeyManager.Instance.SwitchCurrentActionMap(InputActionMaps.CombatUi); + PlayerInputKeyManager.Instance.DisableAllActionsExcept("InteractionUi"); } public void SecondFirstTutorialUi() diff --git a/Assets/05.Prefabs/Characters/Players/CombatPlayer.prefab b/Assets/05.Prefabs/Characters/Players/CombatPlayer.prefab index 8945c8f91..b0e8e5f40 100644 --- a/Assets/05.Prefabs/Characters/Players/CombatPlayer.prefab +++ b/Assets/05.Prefabs/Characters/Players/CombatPlayer.prefab @@ -155,7 +155,7 @@ MonoBehaviour: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 6290149650087484560} - m_Enabled: 1 + m_Enabled: 0 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: 62899f850307741f2a39c98a8b639597, type: 3} m_Name: diff --git a/Packages/com.distantlands.cozy.core/Content/Demo/Mesh/Observatory.fbx.meta b/Packages/com.distantlands.cozy.core/Content/Demo/Mesh/Observatory.fbx.meta index 056b567a8..ac1ead790 100644 --- a/Packages/com.distantlands.cozy.core/Content/Demo/Mesh/Observatory.fbx.meta +++ b/Packages/com.distantlands.cozy.core/Content/Demo/Mesh/Observatory.fbx.meta @@ -1,7 +1,14 @@ fileFormatVersion: 2 guid: c62a00534346f6d40bee94a846773d83 +AssetOrigin: + serializedVersion: 1 + productId: 271742 + packageName: 'COZY: Stylized Weather 3' + packageVersion: 3.4.1 + assetPath: Packages/com.distantlands.cozy.core/Content/Demo/Mesh/Observatory.fbx + uploadId: 665941 ModelImporter: - serializedVersion: 21300 + serializedVersion: 22200 internalIDToNameTable: [] externalObjects: - first: @@ -56,8 +63,6 @@ ModelImporter: optimizeGameObjects: 0 removeConstantScaleCurves: 1 motionNodeName: - rigImportErrors: - rigImportWarnings: animationImportErrors: animationImportWarnings: animationRetargetingWarnings: @@ -80,6 +85,7 @@ ModelImporter: addColliders: 0 useSRGBMaterialColor: 1 sortHierarchyByName: 1 + importPhysicalCameras: 1 importVisibility: 1 importBlendShapes: 1 importCameras: 1 @@ -107,6 +113,7 @@ ModelImporter: secondaryUVMinObjectScale: 1 secondaryUVPackMargin: 4 useFileScale: 0 + strictVertexDataChecks: 0 tangentSpace: normalSmoothAngle: 60 normalImportMode: 0 @@ -139,15 +146,9 @@ ModelImporter: humanoidOversampling: 1 avatarSetup: 0 addHumanoidExtraRootOnlyWhenUsingAvatar: 1 + importBlendShapeDeformPercent: 0 remapMaterialsIfMaterialImportModeIsNone: 0 additionalBone: 0 userData: assetBundleName: assetBundleVariant: -AssetOrigin: - serializedVersion: 1 - productId: 271742 - packageName: 'COZY: Stylized Weather 3' - packageVersion: 3.4.1 - assetPath: Packages/com.distantlands.cozy.core/Content/Demo/Mesh/Observatory.fbx - uploadId: 665941