From d550b0df479aebf183c245e96dc7a6ca68e0f58b Mon Sep 17 00:00:00 2001 From: Ino Date: Mon, 5 May 2025 13:07:34 +0900 Subject: [PATCH] =?UTF-8?q?=ED=85=8C=EC=8A=A4=ED=8A=B8=EB=A7=B5=20?= =?UTF-8?q?=EB=AA=AC=EC=8A=A4=ED=84=B0=20=EC=97=AC=EB=9F=AC=20=EB=A7=88?= =?UTF-8?q?=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/Res_Addr/MainUI/NewGameUI.prefab | 663 +++++++++++++++++- Assets/Script/Character/Actor.cs | 5 +- Assets/Script/UI/TestMap/TM_MonsterSet.cs | 3 +- Assets/Script/UI/TestMap/TestMapUIMgr.cs | 26 +- .../1. Scripts/MeshAfterImage.cs | 4 + .../1. Scripts/SkinnedMeshAfterImage.cs | 23 +- .../2. Shader/AfterImage.shader | 109 +-- 7 files changed, 768 insertions(+), 65 deletions(-) diff --git a/Assets/Res_Addr/MainUI/NewGameUI.prefab b/Assets/Res_Addr/MainUI/NewGameUI.prefab index db2aafd19..8d3d9992a 100644 --- a/Assets/Res_Addr/MainUI/NewGameUI.prefab +++ b/Assets/Res_Addr/MainUI/NewGameUI.prefab @@ -4438,6 +4438,7 @@ MonoBehaviour: go_card: {fileID: 2261714799255785422, guid: 711c0c87409b1b24b81d190342cea22a, type: 3} m_Tab: {fileID: 6414270508706471073} IF_SpwandID: {fileID: 8111143800296665369} + IF_MobCount: {fileID: 609722971584245757} --- !u!1 &292069746378707017 GameObject: m_ObjectHideFlags: 0 @@ -15927,7 +15928,7 @@ MonoBehaviour: m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_text: "\u200B" + m_text: "1\u200B" m_isRightToLeft: 0 m_fontAsset: {fileID: 11400000, guid: a387e325271126742ad15569dba1ac57, type: 2} m_sharedMaterial: {fileID: -6459762427321423278, guid: a387e325271126742ad15569dba1ac57, @@ -40954,7 +40955,7 @@ MonoBehaviour: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 2780785783093285931} - m_Enabled: 1 + m_Enabled: 0 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} m_Name: @@ -53389,6 +53390,58 @@ MonoBehaviour: m_hasFontAssetChanged: 0 m_baseMaterial: {fileID: 0} m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!1 &3602826743251902609 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2548976180070275205} + - component: {fileID: 7335144945875834231} + m_Layer: 5 + m_Name: Text Area + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2548976180070275205 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3602826743251902609} + 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: + - {fileID: 8018381576813065981} + - {fileID: 536961064755528510} + m_Father: {fileID: 2454991542044113470} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 5, y: 0} + m_SizeDelta: {x: -10, y: 0} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &7335144945875834231 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3602826743251902609} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 3312d7739989d2b4e91e6319e9a96d76, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Padding: {x: -8, y: -5, z: -8, w: -5} + m_Softness: {x: 0, y: 0} --- !u!1 &3631856816365962082 GameObject: m_ObjectHideFlags: 0 @@ -55596,7 +55649,7 @@ GameObject: - component: {fileID: 1289406038699387690} - component: {fileID: 8111143800296665369} m_Layer: 5 - m_Name: inputfield_ + m_Name: inputfield_spawnid m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -59633,6 +59686,7 @@ RectTransform: m_Children: - {fileID: 5838774971616076489} - {fileID: 8266477789588184924} + - {fileID: 2454991542044113470} m_Father: {fileID: 4118852035281969175} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 0.5} @@ -65422,6 +65476,182 @@ MonoBehaviour: m_FillOrigin: 0 m_UseSpriteMesh: 0 m_PixelsPerUnitMultiplier: 1 +--- !u!1 &4450048634805361716 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2454991542044113470} + - component: {fileID: 6245399609424905095} + - component: {fileID: 6705864029493175064} + - component: {fileID: 609722971584245757} + m_Layer: 5 + m_Name: inputfield_mobcount + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &2454991542044113470 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4450048634805361716} + 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: + - {fileID: 2548976180070275205} + - {fileID: 4698333885626823030} + m_Father: {fileID: 8585202757416314878} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 908, y: 289} + m_SizeDelta: {x: 250, y: 40} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &6245399609424905095 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4450048634805361716} + m_CullTransparentMesh: 1 +--- !u!114 &6705864029493175064 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4450048634805361716} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 1 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_Sprite: {fileID: 21300000, guid: 65f581562538e304cbbfe8ee3beab09c, type: 3} + m_Type: 0 + m_PreserveAspect: 0 + m_FillCenter: 1 + m_FillMethod: 4 + m_FillAmount: 1 + m_FillClockwise: 1 + m_FillOrigin: 0 + m_UseSpriteMesh: 0 + m_PixelsPerUnitMultiplier: 1 +--- !u!114 &609722971584245757 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4450048634805361716} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2da0c512f12947e489f739169773d7ca, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 6705864029493175064} + m_TextViewport: {fileID: 2548976180070275205} + m_TextComponent: {fileID: 1894925670471905631} + m_Placeholder: {fileID: 5576216923972909488} + m_VerticalScrollbar: {fileID: 0} + m_VerticalScrollbarEventHandler: {fileID: 0} + m_LayoutGroup: {fileID: 0} + m_ScrollSensitivity: 1 + m_ContentType: 2 + m_InputType: 0 + m_AsteriskChar: 42 + m_KeyboardType: 4 + m_LineType: 0 + m_HideMobileInput: 0 + m_HideSoftKeyboard: 0 + m_CharacterValidation: 2 + m_RegexValue: + m_GlobalPointSize: 20 + m_CharacterLimit: 0 + m_OnEndEdit: + m_PersistentCalls: + m_Calls: [] + m_OnSubmit: + m_PersistentCalls: + m_Calls: [] + m_OnSelect: + m_PersistentCalls: + m_Calls: [] + m_OnDeselect: + m_PersistentCalls: + m_Calls: [] + m_OnTextSelection: + m_PersistentCalls: + m_Calls: [] + m_OnEndTextSelection: + m_PersistentCalls: + m_Calls: [] + m_OnValueChanged: + m_PersistentCalls: + m_Calls: [] + m_OnTouchScreenKeyboardStatusChanged: + m_PersistentCalls: + m_Calls: [] + m_CaretColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_CustomCaretColor: 0 + m_SelectionColor: {r: 0.65882355, g: 0.80784315, b: 1, a: 0.7529412} + m_Text: 1 + m_CaretBlinkRate: 0.85 + m_CaretWidth: 1 + m_ReadOnly: 0 + m_RichText: 1 + m_GlobalFontAsset: {fileID: 11400000, guid: a387e325271126742ad15569dba1ac57, type: 2} + m_OnFocusSelectAll: 1 + m_ResetOnDeActivation: 1 + m_RestoreOriginalTextOnEscape: 1 + m_isRichTextEditingAllowed: 0 + m_LineLimit: 0 + m_InputValidator: {fileID: 0} --- !u!1 &4454318039031890401 GameObject: m_ObjectHideFlags: 0 @@ -88848,6 +89078,162 @@ MonoBehaviour: m_FillOrigin: 0 m_UseSpriteMesh: 0 m_PixelsPerUnitMultiplier: 1 +--- !u!1 &6281994910068345350 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8018381576813065981} + - component: {fileID: 3601212383159029782} + - component: {fileID: 5576216923972909488} + - component: {fileID: 7956441497260963480} + m_Layer: 5 + m_Name: Placeholder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &8018381576813065981 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6281994910068345350} + 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: 2548976180070275205} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0.5, y: 0.5} + m_SizeDelta: {x: 1, y: 1} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &3601212383159029782 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6281994910068345350} + m_CullTransparentMesh: 1 +--- !u!114 &5576216923972909488 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6281994910068345350} + m_Enabled: 0 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: 1 + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: a387e325271126742ad15569dba1ac57, type: 2} + m_sharedMaterial: {fileID: -6459762427321423278, guid: a387e325271126742ad15569dba1ac57, + type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4278190080 + m_fontColor: {r: 0, g: 0, b: 0, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 20 + m_fontSizeBase: 20 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 10 + m_fontSizeMax: 40 + m_fontStyle: 0 + m_HorizontalAlignment: 1 + m_VerticalAlignment: 4096 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 0 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!114 &7956441497260963480 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6281994910068345350} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 1 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: -1 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 --- !u!1 &6302017031979375108 GameObject: m_ObjectHideFlags: 0 @@ -89947,6 +90333,141 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: ab4e7dba3733e584abb76cd4fbc0e116, type: 3} m_Name: m_EditorClassIdentifier: +--- !u!1 &6362744465228791905 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 536961064755528510} + - component: {fileID: 7067938964899643809} + - component: {fileID: 1894925670471905631} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &536961064755528510 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6362744465228791905} + 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: 2548976180070275205} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0, y: 0} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: 0.5, y: 0.5} + m_SizeDelta: {x: 1, y: 1} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &7067938964899643809 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6362744465228791905} + m_CullTransparentMesh: 1 +--- !u!114 &1894925670471905631 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6362744465228791905} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: "1\u200B" + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: a387e325271126742ad15569dba1ac57, type: 2} + m_sharedMaterial: {fileID: -6459762427321423278, guid: a387e325271126742ad15569dba1ac57, + type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4278190080 + m_fontColor: {r: 0, g: 0, b: 0, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 20 + m_fontSizeBase: 20 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 10 + m_fontSizeMax: 40 + m_fontStyle: 0 + m_HorizontalAlignment: 1 + m_VerticalAlignment: 4096 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 0 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} --- !u!1 &6363366706180660771 GameObject: m_ObjectHideFlags: 0 @@ -90171,6 +90692,142 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_localtextKey: 287 +--- !u!1 &6382114555056779429 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4698333885626823030} + - component: {fileID: 7397873893572363316} + - component: {fileID: 1172684019720473240} + m_Layer: 5 + m_Name: New TMP + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &4698333885626823030 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6382114555056779429} + 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: 2454991542044113470} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: -48, y: 45} + m_SizeDelta: {x: 150, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!222 &7397873893572363316 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6382114555056779429} + m_CullTransparentMesh: 1 +--- !u!114 &1172684019720473240 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6382114555056779429} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 0} + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_RaycastTarget: 0 + m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0} + m_Maskable: 1 + m_OnCullStateChanged: + m_PersistentCalls: + m_Calls: [] + m_text: "\uC18C\uD658\uD560 \uBAAC\uC2A4\uD130 \uC218\uB97C \uC785\uB825\uD574 + \uC8FC\uC138\uC694." + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: a387e325271126742ad15569dba1ac57, type: 2} + m_sharedMaterial: {fileID: -6459762427321423278, guid: a387e325271126742ad15569dba1ac57, + type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 20 + m_fontSizeBase: 20 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 10 + m_fontSizeMax: 40 + m_fontStyle: 0 + m_HorizontalAlignment: 1 + m_VerticalAlignment: 4096 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 0 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} --- !u!1 &6395221901636243459 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/Script/Character/Actor.cs b/Assets/Script/Character/Actor.cs index 5e1443635..1f1ad7a24 100644 --- a/Assets/Script/Character/Actor.cs +++ b/Assets/Script/Character/Actor.cs @@ -3,10 +3,8 @@ using System; using System.Collections; using System.Collections.Generic; using System.Linq; -using TrailsFX; using UnityEngine; using UnityEngine.AI; -using UnityEngine.Rendering; using UnityEngine.SceneManagement; public class Actor : MyCoroutine @@ -18,6 +16,7 @@ public class Actor : MyCoroutine protected NavMeshAgent m_NavMeshAgent; protected BoxCollider m_BoxCollider; + protected AfterImageBase m_AfterImage; eAnim _curanim; protected eAnim CurAnim { @@ -124,6 +123,8 @@ public class Actor : MyCoroutine m_animation = GetComponent(); arr_Renderer = GetComponentsInChildren(); arr_Effects = GetComponentsInChildren(true); + m_AfterImage = GetComponent(); + if (!DSUtil.CheckNull(m_AfterImage)) m_AfterImage.enabled = false; for (int i = 0; i < 6; i++) list_SkillData.Add(new ProjectileData { shooter = this }); diff --git a/Assets/Script/UI/TestMap/TM_MonsterSet.cs b/Assets/Script/UI/TestMap/TM_MonsterSet.cs index abe1702b0..22c07c6fd 100644 --- a/Assets/Script/UI/TestMap/TM_MonsterSet.cs +++ b/Assets/Script/UI/TestMap/TM_MonsterSet.cs @@ -4,7 +4,7 @@ using TMPro; public class TM_MonsterSet : uScrollViewMgr { public TabUIBase m_Tab; - public TMP_InputField IF_SpwandID; + public TMP_InputField IF_SpwandID, IF_MobCount; List tabUIDatas = new List { @@ -30,4 +30,5 @@ public class TM_MonsterSet : uScrollViewMgr } public int Get_SpawnID() { return int.Parse(IF_SpwandID.text); } + public int Get_MobCount() { return int.Parse(IF_MobCount.text); } } \ No newline at end of file diff --git a/Assets/Script/UI/TestMap/TestMapUIMgr.cs b/Assets/Script/UI/TestMap/TestMapUIMgr.cs index c7b5da9ff..e43f2bf09 100644 --- a/Assets/Script/UI/TestMap/TestMapUIMgr.cs +++ b/Assets/Script/UI/TestMap/TestMapUIMgr.cs @@ -1,3 +1,4 @@ +using System.Collections.Generic; using UnityEngine; public class TestMapUIMgr : MonoBehaviourSingletonTemplate @@ -8,7 +9,7 @@ public class TestMapUIMgr : MonoBehaviourSingletonTemplate public TM_MonsterSet m_TM_MonsterSet; public GameObject[] gos_other; // 0 펫 체크 - MobActor MobActor; + List list_MobActor = new List(); Vector3 MobPos = new Vector3(15, 0, 20); bool ShowPet = true; @@ -46,21 +47,28 @@ public class TestMapUIMgr : MonoBehaviourSingletonTemplate public void MakeMob(MonsterTableData mobData) { - if (!DSUtil.CheckNull(MobActor)) + if (list_MobActor.Count > 0) { ActorInfo.Ins.Destroy_Mob(); ActorInfo.Ins.All_DelTarget(); - MobActor = null; + list_MobActor.Clear(); } AddrResourceMgr.Ins.LoadObject(mobData.s_MonsterPrefab, handle => { - MobActor = DSUtil.Get_Clone(handle.Result); - AddrResourceMgr.Ins.Set_AddressableReleaseSelf(MobActor.gameObject); - ActorInfo.Ins.Add_Actor(MobActor, eRole.Mob, m_TM_MonsterSet.Get_SpawnID(), mobData.s_MonsterPrefab); + for (int i = 0; i < m_TM_MonsterSet.Get_MobCount(); i++) + { + var ma = DSUtil.Get_Clone(handle.Result); + AddrResourceMgr.Ins.Set_AddressableReleaseSelf(ma.gameObject); + ActorInfo.Ins.Add_Actor(ma, eRole.Mob, m_TM_MonsterSet.Get_SpawnID(), mobData.s_MonsterPrefab); - MobActor.Set(true, null, null, m_TM_MonsterSet.Get_SpawnID(), false); - MobActor.Set(mobData, MobPos, null, 0); - MobActor.MagicID = 0; + ma.Set(true, null, null, m_TM_MonsterSet.Get_SpawnID(), false); + ma.Set(mobData, + DSUtil.RandomVector_Exception_y(MobPos.x - 1f, MobPos.x + 1f, 0f, MobPos.z - 1f, MobPos.z + 1f), + null, 0); + ma.MagicID = 0; + + list_MobActor.Add(ma); + } ToastUI.Ins.Set(174, "스폰 아이디 : " + m_TM_MonsterSet.Get_SpawnID()); m_TM_MonsterSet.OnClick_Back(); diff --git a/Assets/ThirdParty/AfterImageAsset/1. Scripts/MeshAfterImage.cs b/Assets/ThirdParty/AfterImageAsset/1. Scripts/MeshAfterImage.cs index 5e7b9f791..8bb00fcc5 100644 --- a/Assets/ThirdParty/AfterImageAsset/1. Scripts/MeshAfterImage.cs +++ b/Assets/ThirdParty/AfterImageAsset/1. Scripts/MeshAfterImage.cs @@ -49,5 +49,9 @@ public sealed class MeshAfterImage : AfterImageBase fader.Setup(TargetMeshFilterArray, _data, this); } + private void OnDestroy() + { + Destroy(_faderContainer); + } #endregion } \ No newline at end of file diff --git a/Assets/ThirdParty/AfterImageAsset/1. Scripts/SkinnedMeshAfterImage.cs b/Assets/ThirdParty/AfterImageAsset/1. Scripts/SkinnedMeshAfterImage.cs index 6066a90f0..2ffbf0c82 100644 --- a/Assets/ThirdParty/AfterImageAsset/1. Scripts/SkinnedMeshAfterImage.cs +++ b/Assets/ThirdParty/AfterImageAsset/1. Scripts/SkinnedMeshAfterImage.cs @@ -24,9 +24,26 @@ public sealed class SkinnedMeshAfterImage : AfterImageBase { // 1. Target Meshes if (_containChildrenMeshes) - TargetSmrArray = GetComponentsInChildren(); + { + var all = GetComponentsInChildren(); + var list = new List(); + + foreach (var smr in all) + { + if (smr.CompareTag("AfterImage")) + list.Add(smr); + } + + TargetSmrArray = list.ToArray(); + } else - TargetSmrArray = new[] { GetComponent() }; + { + var smr = GetComponent(); + if (smr != null && smr.CompareTag("AfterImage")) + TargetSmrArray = new[] { smr }; + else + TargetSmrArray = Array.Empty(); + } // 2. Queues FaderWaitQueue = new Queue(); @@ -47,7 +64,7 @@ public sealed class SkinnedMeshAfterImage : AfterImageBase fader = faderGo.AddComponent(); fader.Setup(TargetSmrArray, _data, this); - DSUtil.ChangeLayersRecursively(_faderContainer.transform, "Character"); + DSUtil.ChangeLayersRecursively(_faderContainer.transform, "Actor"); m_CompleteAction?.Invoke(_faderContainer); } diff --git a/Assets/ThirdParty/AfterImageAsset/2. Shader/AfterImage.shader b/Assets/ThirdParty/AfterImageAsset/2. Shader/AfterImage.shader index 83ccaddc4..044c9cc5e 100644 --- a/Assets/ThirdParty/AfterImageAsset/2. Shader/AfterImage.shader +++ b/Assets/ThirdParty/AfterImageAsset/2. Shader/AfterImage.shader @@ -1,57 +1,72 @@ -Shader "Custom/AfterImage" +Shader "Custom/AfterImage" { - Properties - { - [HideInInspector] _Color("Color", Color) = (1,0,0,1) - [HideInInspector]_Alpha("Alpha", float) = 1 - _RimLightMul("RimLightMul", Range(0, 10)) = 0.5 - _RimLightPow("RimLightPow", Range(0, 10)) = 1.5 - _Intensity("Intensity", Range(0, 10)) = 1 - } - SubShader - { - Tags { "RenderType" = "Transparent" "Queue" = "Transparent"} - LOD 200 + Properties + { + _Color("Color", Color) = (1, 0, 0, 1) + _Alpha("Alpha", Float) = 1 + _RimLightMul("RimLightMul", Range(0, 10)) = 0.5 + _RimLightPow("RimLightPow", Range(0, 10)) = 1.5 + _Intensity("Intensity", Range(0, 10)) = 1 + } + SubShader + { + Tags { "Queue" = "Transparent" "RenderType" = "Transparent" } + LOD 100 - CGPROGRAM + Pass + { + Name "FORWARD" + Tags { "LightMode" = "UniversalForward" } - #pragma surface surf NoLighting alpha:fade noshadow noambient novertexlights nolightmap nodynlightmap nodirlightmap nofog nometa noforwardadd nolppv noshadowmask interpolateview + Blend SrcAlpha OneMinusSrcAlpha + ZWrite Off + Cull Off - // Use shader model 3.0 target, to get nicer looking lighting - #pragma target 2.0 + HLSLPROGRAM + #pragma vertex vert + #pragma fragment frag + #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl" + struct Attributes + { + float4 positionOS : POSITION; + float3 normalOS : NORMAL; + }; - struct Input { - fixed3 viewDir; - }; + struct Varyings + { + float4 positionHCS : SV_POSITION; + float3 viewDirWS : TEXCOORD0; + float3 normalWS : TEXCOORD1; + }; - fixed4 _Color; - fixed _RimLightMul; - fixed _RimLightPow; + float4 _Color; + float _Alpha; + float _RimLightMul; + float _RimLightPow; + float _Intensity; - half _Alpha; - float _Intensity; + Varyings vert(Attributes IN) + { + Varyings OUT; + float3 positionWS = TransformObjectToWorld(IN.positionOS.xyz); + float3 normalWS = TransformObjectToWorldNormal(IN.normalOS); + OUT.positionHCS = TransformWorldToHClip(positionWS); + OUT.viewDirWS = normalize(_WorldSpaceCameraPos - positionWS); + OUT.normalWS = normalize(normalWS); + return OUT; + } - - void surf(Input IN, inout SurfaceOutput o) { - - fixed NdotV = dot(IN.viewDir, o.Normal); - fixed3 RimLight = saturate(pow(((1 - NdotV) * _RimLightMul), _RimLightPow)); - - o.Albedo = _Color.rgb; - o.Alpha = saturate(_Alpha * RimLight); - } - - fixed4 LightingNoLighting(SurfaceOutput s, fixed3 lightDir, fixed atten) - { - fixed4 c; - c.rgb = s.Albedo + _Intensity; - c.a = s.Alpha; - return c; - } - - ENDCG - - } - FallBack "" + half4 frag(Varyings IN) : SV_Target + { + float NdotV = saturate(dot(IN.normalWS, IN.viewDirWS)); + float rim = pow((1.0 - NdotV) * _RimLightMul, _RimLightPow); + float3 color = _Color.rgb + _Intensity; + float alpha = saturate(_Alpha * rim * _Color.a); + return float4(color, alpha); + } + ENDHLSL + } + } + FallBack Off }