diff --git a/Assets/Data/UI/ui_atlas.csv b/Assets/Data/UI/ui_atlas.csv index 2584be1e..00b95859 100644 --- a/Assets/Data/UI/ui_atlas.csv +++ b/Assets/Data/UI/ui_atlas.csv @@ -3,6 +3,7 @@ theme,UI_Content,/gear/|/chest/|/logo_skill/|/gimmick/|ItemIcon|Icon_ShopItem,20 theme,UI_SkillIcon,/skill_icon/,2048,장수 스킬 아이콘 144 + 사각 틀 테두리 5(영웅 상세 스킬 행 · PD 2026-11-11) — 아래 import 줄로 128² 임포트 theme,UI_Lobby,/Lobby/anim/,1024,로비 배경 연출(깃발·불빛·새·꽃잎 9장 · PD 2026-11-11) — Frame 층 한 장 = 드로우콜 1 theme,UI_Domestic,/Domestic/anim/|/Domestic/icon/|/Domestic/dev/,1024,내정 연병장 풀·꽃 덤불 4 · 훈련 카드 아이콘 3 · 개발 노드 아이콘 27(PD 2026-11-12) — 128² 이하 · 내정 화면 한 장 +theme,UI_Gacha,/Samguk/gacha/,2048,뽑기 연출(삼고초려 · PD 2026-11-13) 문짝 2 · 햇살 2 · 빛줄기 2 · 반짝이 · 먼지 구름 · 고리 · 느낌표 — 장면 Frame 층 한 장 = 드로우콜 1 theme,UI_Common,*,4096,모든 화면 공통 크롬(틀·버튼·바·탭·재화·병과·작은 아이콘) — 위 줄에 안 걸린 테마 스프라이트 전부 folder,WorldMap_UI,Assets/Resources/ChapterMap/UI,2048,월드맵 부품(깃발·띠·판·별·커서) — 폴더 전체 option,single_area,,262144,이 넓이(px) 넘는 큰 그림(로비 바탕·키아트·로고·패턴)은 아틀라스에 넣지 않음 — 한 장 = 드로우콜 1 · 아틀라스 공간 낭비 방지 @@ -14,3 +15,4 @@ folder,UI_Loading,Assets/Resources/UI/Loading/pack,2048,로딩 화면 달리기 folder,UI_LoadingSimple,Assets/Resources/UI/Loading/pack_simple,2048,일반 로딩 화면(검은 화면) 유비·관우·장비 말 타고 질주 프레임 30 · 캡슐 바 · 먼지(PD 2026-11-13) — 다운로드 화면 UI_Loading 과 따로(한 화면 = 한 장) folder,UI_Title,Assets/Resources/UI/Title/pack,1024,타이틀 화면 작은 연출(불씨 3 · 반짝이 · 흙먼지 · PD 2026-11-13) — Frame 층 한 장 = 드로우콜 1 · 햇살(1024²)은 single_area 초과라 단독 import,tre_bg,/frame_bg/bg_tre_,2048,보물 화면 배경 2장(보물고 · 금고 1080×1920) 원본 그대로 임포트(기본 1024 = 흐림 · 로비 bg_lobby 와 같은 이유 · PD 2026-11-13) +import,gacha_bg,/frame_bg/bg_gacha_,2048,뽑기 연출 배경 초가집(1080×1920) 원본 그대로 임포트(기본 1024 = 흐림 · 로비 bg_lobby 와 같은 이유 · PD 2026-11-13) diff --git a/Assets/Resources/UI/UITheme.asset b/Assets/Resources/UI/UITheme.asset index 2f6f568e..e4f7c685 100644 --- a/Assets/Resources/UI/UITheme.asset +++ b/Assets/Resources/UI/UITheme.asset @@ -2096,6 +2096,10 @@ MonoBehaviour: pack: {fileID: 21300000, guid: 6bc241d45cb11254eb123e8c5ffb9126, type: 3} samguk: {fileID: 0} tint: {r: 1, g: 1, b: 1, a: 1} + - id: bg_gacha_hut + pack: {fileID: 0} + samguk: {fileID: 21300000, guid: 733a36b5d1e01584991a0967c95cf927, type: 3} + tint: {r: 1, g: 1, b: 1, a: 1} - id: bg_tre_cabinet pack: {fileID: 0} samguk: {fileID: 21300000, guid: cadbcdad14664f2449114bc8024a6625, type: 3} @@ -2104,6 +2108,50 @@ MonoBehaviour: pack: {fileID: 0} samguk: {fileID: 21300000, guid: 8489bf056564f4e4790c3df7a3cb2daf, type: 3} tint: {r: 1, g: 1, b: 1, a: 1} + - id: gacha_bang + pack: {fileID: 0} + samguk: {fileID: 21300000, guid: bafa8e5c1a8989a4fbbe258d0c756451, type: 3} + tint: {r: 1, g: 1, b: 1, a: 1} + - id: gacha_door_l + pack: {fileID: 0} + samguk: {fileID: 21300000, guid: abd755faf73a7d34995344a473eafb27, type: 3} + tint: {r: 1, g: 1, b: 1, a: 1} + - id: gacha_door_r + pack: {fileID: 0} + samguk: {fileID: 21300000, guid: 4ddd7d8ca29697942a57c68d3d1d3e22, type: 3} + tint: {r: 1, g: 1, b: 1, a: 1} + - id: gacha_fx_beam + pack: {fileID: 0} + samguk: {fileID: 21300000, guid: 8bb3967804deb1a418b5867324096be3, type: 3} + tint: {r: 1, g: 1, b: 1, a: 1} + - id: gacha_fx_core + pack: {fileID: 0} + samguk: {fileID: 21300000, guid: d19a9ca795d2f784c8b49a9264962747, type: 3} + tint: {r: 1, g: 1, b: 1, a: 1} + - id: gacha_fx_dot + pack: {fileID: 0} + samguk: {fileID: 21300000, guid: ce9239e5cb82a9d44a78657fd969fc83, type: 3} + tint: {r: 1, g: 1, b: 1, a: 1} + - id: gacha_fx_lobe + pack: {fileID: 0} + samguk: {fileID: 21300000, guid: d8ef38e82986b7a43bde59b8d08cf6e1, type: 3} + tint: {r: 1, g: 1, b: 1, a: 1} + - id: gacha_fx_ring + pack: {fileID: 0} + samguk: {fileID: 21300000, guid: 03910c790f2fcd747b8df79cf153c06b, type: 3} + tint: {r: 1, g: 1, b: 1, a: 1} + - id: gacha_fx_star + pack: {fileID: 0} + samguk: {fileID: 21300000, guid: a78ed84fe8427d24799af208f8ecdc05, type: 3} + tint: {r: 1, g: 1, b: 1, a: 1} + - id: gacha_fx_streak + pack: {fileID: 0} + samguk: {fileID: 21300000, guid: 0294e359034230f44864b267df2d483c, type: 3} + tint: {r: 1, g: 1, b: 1, a: 1} + - id: gacha_puff + pack: {fileID: 0} + samguk: {fileID: 21300000, guid: e9684de1f6d24034b8f5e3c1cf32c438, type: 3} + tint: {r: 1, g: 1, b: 1, a: 1} - id: tile_bridge pack: {fileID: 0} samguk: {fileID: 21300000, guid: 8e5bf7eb1e300474785ff2781eeb5093, type: 3} diff --git a/Assets/Resources/UI/UiAdditive.shader b/Assets/Resources/UI/UiAdditive.shader new file mode 100644 index 00000000..e2f294e0 --- /dev/null +++ b/Assets/Resources/UI/UiAdditive.shader @@ -0,0 +1,89 @@ +// UI 덧셈 합성(빛·별가루 · PD 2026-11-13 뽑기 연출 「예시처럼 화려해 보이게」) — UI/Default 와 같은 입력(스프라이트 · 정점 색 · RectMask2D 자르기 · 스텐실)에 합성만 SrcAlpha One. +// 흰 그림에 색을 곱해 겹치면 겹친 곳이 밝아진다(광원). Resources 에 두어 빌드에 항상 포함 — 코드 = GachaCutscene.AddMat(Resources.Load("UI/UiAdditive")). +Shader "TKS/UI Additive" +{ + Properties + { + [PerRendererData] _MainTex ("Sprite Texture", 2D) = "white" {} + _Color ("Tint", Color) = (1,1,1,1) + _StencilComp ("Stencil Comparison", Float) = 8 + _Stencil ("Stencil ID", Float) = 0 + _StencilOp ("Stencil Operation", Float) = 0 + _StencilWriteMask ("Stencil Write Mask", Float) = 255 + _StencilReadMask ("Stencil Read Mask", Float) = 255 + _ColorMask ("Color Mask", Float) = 15 + } + + SubShader + { + Tags { "Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent" "PreviewType"="Plane" "CanUseSpriteAtlas"="True" } + + Stencil + { + Ref [_Stencil] + Comp [_StencilComp] + Pass [_StencilOp] + ReadMask [_StencilReadMask] + WriteMask [_StencilWriteMask] + } + + Cull Off + Lighting Off + ZWrite Off + ZTest [unity_GUIZTestMode] + Blend SrcAlpha One + ColorMask [_ColorMask] + + Pass + { + CGPROGRAM + #pragma vertex vert + #pragma fragment frag + #pragma target 2.0 + #include "UnityCG.cginc" + #include "UnityUI.cginc" + #pragma multi_compile_local _ UNITY_UI_CLIP_RECT + + struct appdata_t + { + float4 vertex : POSITION; + float4 color : COLOR; + float2 texcoord : TEXCOORD0; + }; + + struct v2f + { + float4 vertex : SV_POSITION; + fixed4 color : COLOR; + float2 texcoord : TEXCOORD0; + float4 worldPosition : TEXCOORD1; + }; + + sampler2D _MainTex; + fixed4 _Color; + fixed4 _TextureSampleAdd; + float4 _ClipRect; + float4 _MainTex_ST; + + v2f vert(appdata_t v) + { + v2f o; + o.worldPosition = v.vertex; + o.vertex = UnityObjectToClipPos(v.vertex); + o.texcoord = TRANSFORM_TEX(v.texcoord, _MainTex); + o.color = v.color * _Color; + return o; + } + + fixed4 frag(v2f i) : SV_Target + { + fixed4 c = (tex2D(_MainTex, i.texcoord) + _TextureSampleAdd) * i.color; + #ifdef UNITY_UI_CLIP_RECT + c.a *= UnityGet2DClipping(i.worldPosition.xy, _ClipRect); + #endif + return c; + } + ENDCG + } + } +} diff --git a/Assets/Resources/UI/UiAdditive.shader.meta b/Assets/Resources/UI/UiAdditive.shader.meta new file mode 100644 index 00000000..74766b47 --- /dev/null +++ b/Assets/Resources/UI/UiAdditive.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: f5f25bef3b41cdc47af665e15750f469 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/UI/gacha_scene.csv b/Assets/Resources/UI/gacha_scene.csv new file mode 100644 index 00000000..240920da --- /dev/null +++ b/Assets/Resources/UI/gacha_scene.csv @@ -0,0 +1,94 @@ +# 뽑기 연출 표(PD 2026-11-13 「삼고초려 — 초가집 앞 유비·관우·장비의 뒷모습 · 뽑기 연출은 기대감이 가장 중요 → 문이 덜컹거린 뒤 서서히 열릴 때 새어 나오는 빛으로 등급을 알게 · 흰(★) · 주황(★★ 조금 화려) · 무지개(★★★ 매우 화려) · ★·★★ = 반김 · ★★★ = 깜짝 놀람 · ★·★★ 는 바로 열림 · 활짝 열리면 영웅의 검은 실루엣만 · 터치로 건너뛰기 · 빛 = 단순한 무지개색이 아니라 예시처럼 화려하게(가운데 흰 광원 + 길고 가는 빛줄기 + 색 번짐 + 별가루 입자)」) — 코드 = OutGame/UI/GachaCutscene · 거래 화면 TradeScreen.ShowResult +# 형식 = 로비 장면 표(LobbyScene.Load) · 좌표 = 배경 그림 bg_gacha_hut px(1080×1920) · 왼쪽 위 0,0 · 아래로 + · 배경을 바꾸면 이 표만 고친다(C45) · 초 = 실시간 · 각도 = 도(오른쪽 0 · 반시계 +) · 이 파일은 조직 작업 폴더 C:/ArtRnD/samguk_gacha/mk_table.py 가 쓴다(손으로 고쳐도 됨) +# view s_sprite = 배경 테마 아이콘 · f_w,f_h = 좌표 기준 크기 · s_color = 그림 밖(다른 화면 비율) 바탕색 +# timeN 등급 N 의 박자(초 · ★·★★ = 바로 열림 · ★★★ = 긴 기대감): f_first 장면 밝아짐 · f_stand 기다림 · f_ready 덜컹거리는 구간 전체 · i_count 덜컹 횟수 · f_hit 문 열림 전체 · f_waves 그중 틈이 천천히 벌어지는 비율 · f_billow 그 구간 끝의 틈(0~1) · f_gap_min 활짝 열리기 시작 → 삼형제 반응까지 · f_hold 다 열린 뒤 카드로 넘어가기까지 +# rattle 덜컹: i_count 횟수(timeN 에 없을 때 · 구간을 같은 박자로 나눔) · f_min 한 박자 중 떨리는 비율(나머지 = 뜸) · f_amp 떨림 px · f_period 떨림 주기 · f_max 마지막 덜컹 세기 배율 · f_hold 첫 덜컹에 삼형제 움찔 px · i_n 덜컹마다 떨어지는 먼지 수 · f_speed 먼지 속도 · f_w → f_h 먼지 크기 +# door 문 열리는 사각 f_x,f_y,f_w,f_h · s_sprite = 왼 문짝|오른 문짝(배경에서 오린 그림) · f_min = 다 열렸을 때 문짝 폭 비율 · f_shade = 열린 문짝 밝기 · f_max = 마당 빛 폭 ÷ 문 폭 · f_gap_min,f_gap_max = 문틈 빛 번짐의 덧폭 px·높이(문 높이의 배) · f_phase = 새는 동안 세로 빛줄기 굵기 px · f_first = 문 안 빛을 문틀에서 들이는 px · s_color = 문 안 어둠 +# zoom 다가가는 화면: f_x,f_y = 화면에서 제자리에 머무는 점 · f_min 처음 배율 → f_max 활짝 열릴 때 배율(덜컹부터 천천히) · f_scale 터지는 순간 덧배율 · f_period 그 덧배율이 잦아드는 초 +# fx 빛 그림(흰 그림 · 게임이 색을 곱해 덧셈 합성) s_sprite = 광원|빛줄기|색 번짐|별|점|마당 빛|고리 +# tierN 등급 N 의 빛: s_color 빛 색 · i_n 1 = 무지개 등급(둘레 번짐 색이 천천히 바뀜 · 문 안은 흰 빛) · i_slot 삼형제 반응 0 = greet(반김) / 1 = shock(놀람) · f_w 가운데 광원 지름 · f_h 마당 빛 길이 · f_scale 빛 세기 · f_min 문 안 판 알파(낮으면 어두운 문 안이 비침) · f_hold 열린 문 둘레 번짐 세기 · f_waves 문 뒤 번짐(문 크기의 배) · f_period,f_shade 빛 숨쉬기 주기·폭 +# tierN (이어서) f_max 둘레 어둡게(알파 · 덜컹부터 서서히) · f_rest 활짝 열린 뒤 남는 어둠 비율 · f_phase 빛이 새는 동안 화면 잔떨림 px · f_amp 활짝 열릴 때 흔들림 px · f_first 번쩍 알파 · i_count 터질 때 별가루 수 · f_hit 퍼지는 고리 수 · f_gap_min 새는 동안 틈에서 나오는 별가루(초당) · f_speed 열린 뒤 둘레에 떠다니는 별가루(초당) · f_billow 그 반경 px · f_gap_max 색 번짐 묶음 회전(도/초) +# streakN 등급 N 의 길고 가는 빛줄기(여러 줄 · 문 가운데에서 교차): f_amp 각도 · f_w 길이 · f_h 굵기 · f_scale 알파 · f_phase 활짝 열린 뒤 늦게 뻗는 초 · f_waves,f_period 천천히 흔들리는 각도·주기 · f_speed 깜빡임 빠르기 · s_color +# lobeN 등급 N 의 색 번짐(여러 줄 · 길쭉한 부드러운 빛): f_amp 놓이는 방향 · f_x 가운데에서 떨어진 거리 · f_w,f_h 길이·폭 · f_scale 알파 · s_color beamN 마당 빛(여러 줄이 겹침): f_amp 기울기 · f_scale 알파 · s_color +# tintN 등급 N 별가루·고리 색(여러 줄 = 섞어 씀) insideN 문 안 판 색(그 위에 흰 광원이 얹혀 가운데 흰 빛 → 바깥 이 색) +# actor 삼형제(뽑기 연출 전용 그림 Resources/Units/gacha_* · 걸어서 · 무기 없음 · PD 2026-11-13) · i_slot 순번 · s_sprite = 유닛 아트 id · f_x,f_y 발 · f_h 키(그림 px · 로비 영웅과 같은 크기) · i_n 1 = 좌우 뒤집음 · f_phase 반응 늦게(초) +# greet · shock 삼형제 반응(s_sprite = 전용 그림 클립 이름): i_count 뛰는 횟수 · f_period 한 번 뛰는 초 · f_amp 뛰는 높이 · f_billow 둘째부터 높이 비율 · f_max 뜰 때 길쭉 · f_min 닿을 때 납작 · f_shade 뛴 뒤 계속 들썩임(높이 비율) · f_waves,f_speed 뛴 뒤 덜덜 떨림 px·주기 · f_first 뒤로 물러남 px +# hero 문이 활짝 열렸을 때 문 안에 서는 영웅의 검은 실루엣(PD 2026-11-13 · 가장 높은 등급 · 제 색·이름은 카드에서): f_x,f_y 발 · f_h 표준 키(UnitStand) · f_max 말 탄 영웅의 머리 끝 상한(표준 키의 배 · 문 안에 들어가게) · f_first 활짝 열리기 시작한 뒤 나타나기까지 · f_period 드러나는 초 · f_scale 처음 배율 · s_color 실루엣 색(알파 = 옅기) · f_amp,f_waves 실루엣 위에 덮이는 빛의 세기·크기(문 크기의 배) +# bang 놀람 느낌표: f_x,f_y 머리 끝에서 옆·위로 · f_w,f_h 크기 shadow 발밑 그림자(s_sprite · s_color) · f_scale = 기준 키(이 키의 사람에게 f_w×f_h · 사람 키에 비례) · f_x,f_y = 발에서 어긋남 +# spark 별가루: f_w~f_h 크기 · f_speed 터질 때 튀는 속도 px/초 · f_waves 속도가 줄어드는 정도 · f_amp 아래로 끌림 · f_period 수명 · f_billow 깜빡임(초당) ring 고리: f_w → f_h 지름 · f_period 초 · f_phase 뒤 고리일수록 느리게 · f_scale 알파 flash f_period 번쩍 사라지는 초 · f_hold 흔들림 초 dim 카드 단계 어두운 막 색 +# card 카드 획득(PD 레퍼런스 = 카드가 UI 에 등장할 때): i_n 열 수 · f_x 좌우 여백 · f_y 격자 가운데 위로 · f_w 카드 폭 · f_h 조각 줄 높이 · f_gap_max 가로 틈 · f_billow 세로 틈 · f_first 첫 카드까지 · f_gap_min 카드 간격(초) · f_period 떨어지는 초 · f_amp 떨어지는 높이 · f_speed 떨어질 때 세로 늘어남 · f_min 닿을 때 납작 · f_hit 흰 번쩍 초 · f_hold 튀어 오르며 제 모양 초 · f_rest 끝난 뒤 확인 버튼까지 · f_max 등급 빛 크기 ÷ 카드 크기 · f_stand 등급 색 테두리 두께(카드보다 큰 px) · f_ready ★★★ 카드 뒤 빛줄기 굵기 card1 = 1장 뽑기 +# puff 카드 닿을 때 먼지 구름: i_count 수 · f_w → f_h 크기 · f_amp 퍼지는 속도 · f_period 수명 · s_color twinkle 카드 둘레 별가루: i_count 닿을 때 등급 1당 수 · f_speed ★★★ 카드에 계속 나오는 수(초당) · f_w~f_h 크기 · f_amp 흩어지는 속도 · f_period 수명 · f_billow 깜빡임(초당) +s_kind,i_n,i_slot,s_sprite,f_x,f_y,f_w,f_h,f_scale,f_amp,f_period,f_waves,f_billow,f_shade,f_phase,f_min,f_max,f_speed,f_gap_min,f_gap_max,f_first,i_count,f_stand,f_ready,f_hit,f_hold,f_rest,s_color,s_note +view,,,bg_gacha_hut,,,1080,1920,,,,,,,,,,,,,,,,,,,,#1A120C,초가집 마당(융중 초려 · 로비·내정과 같은 꼬리 문장 + 내려다본 구도 · Krea 2 seed 72 → 4x-UltraSharp 1080×1920 · PD 확정) +time1,,,,,,,,,,,0.3,0.12,,,,,,0.05,,0.3,1,0.35,0.55,0.7,1.4,,,★ 밝아짐 0.3 → 기다림 0.35 → 덜컹 1번 0.55 → 바로 열림 0.7(틈 0.21 초 + 활짝 0.49 초) → 1.4 뒤 카드 = 3.3 초 +time2,,,,,,,,,,,0.35,0.14,,,,,,0.05,,0.3,1,0.35,0.6,0.8,1.4,,,★★ 덜컹 1번 0.6 → 바로 열림 0.8(틈 0.28 초 + 활짝 0.52 초) → 1.4 뒤 카드 = 3.45 초 +time3,,,,,,,,,,,0.68,0.16,,,,,,0.05,,0.35,3,0.5,2.1,2.6,1.6,,,★★★ 밝아짐 0.35 → 기다림 0.5 → 덜컹 3번 2.1 → 열림 2.6(서서히 1.77 + 활짝 0.83) → 1.6 뒤 카드 = 7.15 초 +rattle,2,,,,,14,30,,3.5,0.055,,,,,0.5,1.8,60,,,,3,,,,7,,,덜컹(횟수 = timeN i_count · 박자의 절반 떨고 절반 뜸 · 마지막이 1.8 배) · 첫 덜컹에 삼형제 움찔 7 px · 먼지 2 +door,,,gacha_door_l|gacha_door_r,446,439,188,157,,,,,,0.8,16,0.3,2.0,,70,2.4,8,,,,,,,#2B1A12,문 사각(door_cut.py 446 439 188 157 · 문틈 = x 540) +zoom,,,,540,760,,,0.05,,0.35,,,,,1.0,1.3,,,,,,,,,,,,문과 삼형제 사이를 제자리에 두고 1.0 → 1.3 배로 다가감(터질 때 +0.05) +fx,,,gacha_fx_core|gacha_fx_streak|gacha_fx_lobe|gacha_fx_star|gacha_fx_dot|gacha_fx_beam|gacha_fx_ring,,,,,,,,,,,,,,,,,,,,,,,,,부드러운 흰 그림 7(mk_fx2.py · 덧셈 합성) +tier1,0,0,,,,320,420,0.85,0,2.4,2.4,190,0.04,0,0.35,0.32,5,1.5,0,0.2,14,,,1,0.3,0.5,#DCE9FF,★ 흰 빛(수수하게 · 작은 광원 · 짧은 빛줄기 2 · 별가루 조금) +tier2,0,0,,,,500,600,0.95,6,1.6,2.8,330,0.06,1.2,1,0.5,18,5,6,0.45,60,,,1,0.9,0.8,#FFA228,★★ 금빛(조금 화려 · 큰 광원 · 빛줄기 3 · 금빛 번짐 3 · 별가루) +tier3,1,1,,,,430,760,0.95,14,1.1,3.0,620,0.08,2.5,1,0.74,64,12,3,0.8,190,,,2,1,1,#FFFFFF,★★★ 무지개(매우 화려 · 흰 광원 + 긴 빛줄기 5 + 일곱 색 번짐 + 별가루 쏟아짐 · 번쩍 · 흔들림 · 둘레 어둡게) + 삼형제 놀람 +inside1,,,,,,,,,,,,,,,,,,,,,,,,,,,#AFC4F0,문 안 판 = 옅은 푸른빛(★ 는 판 알파 0.35 = 어두운 문 안에 가운데만 둥글게 밝음 · 판이 다 밝으면 흰 네모로 보임) +inside2,,,,,,,,,,,,,,,,,,,,,,,,,,,#FF9E1E,문 안 판 = 금빛 +inside3,,,,,,,,,,,,,,,,,,,,,,,,,,,#D9CCFF,문 안 판 = 옅은 보랏빛 흰색 +streak1,,,,,,560,18,0.9,72,3.1,2,,,0,,,5,,,,,,,,,,#FFFFFF,가파른 빛줄기 +streak1,,,,,,500,16,0.8,-18,3.7,2,,,0.06,,,6,,,,,,,,,,#FFFFFF,누운 빛줄기 +streak2,,,,,,900,24,1,64,2.9,2.5,,,0,,,6,,,,,,,,,,#FFF4D8,가파른 빛줄기 +streak2,,,,,,860,22,0.95,-22,3.4,2.5,,,0.05,,,7,,,,,,,,,,#FFF4D8,누운 빛줄기 +streak2,,,,,,520,16,0.7,18,2.5,3,,,0.1,,,8,,,,,,,,,,#FFE2A0,짧은 빛줄기 +streak3,,,,,,1500,30,1,72,3.0,3,,,0,,,6,,,,,,,,,,#FFFFFF,가파른 긴 빛줄기 +streak3,,,,,,1400,28,1,-17,3.6,3,,,0.04,,,7,,,,,,,,,,#FFFFFF,누운 긴 빛줄기 +streak3,,,,,,900,20,0.8,30,2.6,4,,,0.08,,,8,,,,,,,,,,#FFF2D0,중간 빛줄기 +streak3,,,,,,820,18,0.75,-58,2.3,4,,,0.12,,,9,,,,,,,,,,#E6F0FF,중간 빛줄기 +streak3,,,,,,640,16,0.6,90,2.0,2,,,0.16,,,10,,,,,,,,,,#F0E0FF,세로 빛줄기 +lobe2,,,,150,,460,300,0.6,180,,,,,,,,,,,,,,,,,,#FF9A2A,가로 금빛 번짐(왼) +lobe2,,,,150,,460,300,0.6,0,,,,,,,,,,,,,,,,,,#FF9A2A,가로 금빛 번짐(오) +lobe2,,,,60,,460,210,0.5,90,,,,,,,,,,,,,,,,,,#FFD86A,세로 연한 금빛 +lobe3,,,,190,,480,360,0.85,90,,,,,,,,,,,,,,,,,,#4A6CFF,위 파랑 +lobe3,,,,190,,480,360,0.85,270,,,,,,,,,,,,,,,,,,#9A4CFF,아래 보라 +lobe3,,,,240,,470,340,0.85,215,,,,,,,,,,,,,,,,,,#FF4A3C,왼아래 빨강 +lobe3,,,,240,,470,340,0.85,35,,,,,,,,,,,,,,,,,,#FFB02A,오른위 주황·노랑 +lobe3,,,,300,,520,330,0.58,0,,,,,,,,,,,,,,,,,,#3CFF6E,오른쪽 초록 +lobe3,,,,300,,520,330,0.58,180,,,,,,,,,,,,,,,,,,#3CFF6E,왼쪽 초록 +lobe3,,,,240,,450,320,0.8,-40,,,,,,,,,,,,,,,,,,#3CD2FF,오른아래 하늘 +beam1,,,,,,,,0.5,0,,,,,,,,,,,,,,,,,,#FFFFFF,흰 빛 +beam2,,,,,,,,0.55,0,,,,,,,,,,,,,,,,,,#FFC25A,금빛 +beam2,,,,,,,,0.22,5,,,,,,,,,,,,,,,,,,#FFE7A8,연한 금빛(조금 넓게) +beam3,,,,,,,,0.2,0,,,,,,,,,,,,,,,,,,#FFFFFF,가운데 흰 빛 +beam3,,,,,,,,0.36,-15,,,,,,,,,,,,,,,,,,#FF5A4A,왼쪽으로 기운 붉은 빛 +beam3,,,,,,,,0.32,-7,,,,,,,,,,,,,,,,,,#FFD23C,살짝 왼쪽 노랑 +beam3,,,,,,,,0.32,7,,,,,,,,,,,,,,,,,,#46FF78,살짝 오른쪽 초록 +beam3,,,,,,,,0.36,15,,,,,,,,,,,,,,,,,,#6A6CFF,오른쪽으로 기운 파랑·보라 +tint1,,,,,,,,,,,,,,,,,,,,,,,,,,,#FFFFFF,흰 +tint1,,,,,,,,,,,,,,,,,,,,,,,,,,,#FFF6DC,연노랑 +tint2,,,,,,,,,,,,,,,,,,,,,,,,,,,#FFC25A,금빛 +tint2,,,,,,,,,,,,,,,,,,,,,,,,,,,#FFE7A8,연한 금빛 +tint2,,,,,,,,,,,,,,,,,,,,,,,,,,,#FF9A2A,주황 +tint2,,,,,,,,,,,,,,,,,,,,,,,,,,,#FFFFFF,흰 +tint3,,,,,,,,,,,,,,,,,,,,,,,,,,,#FF7A7A,빨강 +tint3,,,,,,,,,,,,,,,,,,,,,,,,,,,#FFB45A,주황 +tint3,,,,,,,,,,,,,,,,,,,,,,,,,,,#FFE86A,노랑 +tint3,,,,,,,,,,,,,,,,,,,,,,,,,,,#8CF08A,초록 +tint3,,,,,,,,,,,,,,,,,,,,,,,,,,,#7AD2FF,하늘 +tint3,,,,,,,,,,,,,,,,,,,,,,,,,,,#8E9CFF,파랑 +tint3,,,,,,,,,,,,,,,,,,,,,,,,,,,#D296FF,보라 +tint3,,,,,,,,,,,,,,,,,,,,,,,,,,,#FFFFFF,흰 +tint3,,,,,,,,,,,,,,,,,,,,,,,,,,,#FFFFFF,흰 +actor,,0,gacha_guanyu,400,1150,,190,,,,,,,0.06,,,,,,,,,,,,,,관우(왼쪽 · 오른쪽 위 문을 봄) +actor,,1,gacha_liubei,540,1150,,190,,,,,,,0,,,,,,,,,,,,,,유비(가운데) +actor,1,2,gacha_zhangfei,712,1150,,190,,,,,,,0.12,,,,,,,,,,,,,,장비(오른쪽 · 좌우 뒤집어 왼쪽 위 문을 봄 · PD 「유비와 간격을 조금 더 넓혀」) +greet,,,greet,,,,,,26,0.34,0,0.6,0.22,,0.92,1.06,,,,0,2,,,,,,,반김 = 두 번 폴짝(둘째는 0.6 배) → 작게 계속 들썩 +shock,,,shock,,,,,,70,0.46,2.5,1,0,,0.84,1.16,0.07,,,22,1,,,,,,,놀람 = 크게 한 번 펄쩍 + 뒤로 22 px 물러남 → 덜덜 떨림 +hero,,,,540,597,,132,0.84,0.55,0.4,1.9,,,,,1.12,,,,0.25,,,,,,,#0000007A,활짝 열린 문 안에 선 영웅의 옅은 실루엣(PD 「빛에 가려져서 좀 더 옅은 형체만」 = 순검정 알파 0.48(얼굴선이 비치지 않게) + 위에 덮이는 빛 0.55 · 발 = 문턱 · 활짝 열리기 시작한 0.25 초 뒤 0.4 초에 걸쳐 드러남) +bang,,,gacha_bang,34,2,34,57,,,,,,,,,,,,,,,,,,,,,느낌표(머리 끝 옆 위) +shadow,,,lobby_glow,0,2,120,32,190,,,,,,,,,,,,,,,,,,,#24160A8C,발밑 그림자(키 190 기준 120×32) +spark,,,,,,12,42,,30,1.5,2.6,3.5,,,,,900,,,,,,,,,,,별가루(터질 때 사방으로 튀어 나가 느려지며 깜빡) +ring,,,,,,120,900,0.5,,0.7,,,,0.4,,,,,,,,,,,,,,얇게 퍼지는 고리 +flash,,,,,,,,,,0.35,,,,,,,,,,,,,,,0.45,,,번쩍 0.35 초 · 흔들림 0.45 초 +dim,,,,,,,,,,,,,,,,,,,,,,,,,,,#120C08E8,카드 단계 어두운 막 +card,5,,,22,40,190,56,,620,0.17,,26,,,0.78,1.75,1.7,0.14,12,0.35,,20,16,0.09,0.32,0.5,,10장 = 5열 2줄 · 카드 0.14 초 간격 +card1,1,,,22,40,320,64,,620,0.17,,26,,,0.78,1.6,1.7,0.14,12,0.35,,26,24,0.09,0.32,0.5,,1장 +puff,,,gacha_puff,,,34,78,,150,0.42,,,,,,,,,,,4,,,,,,#FFFFFFE6,먼지 구름 +twinkle,,,,,,12,32,,50,0.8,,3,,,,,10,,,,3,,,,,,,카드 둘레 별가루(닿을 때 등급 × 3 · ★★★ 카드는 초당 10 계속) diff --git a/Assets/Resources/UI/gacha_scene.csv.meta b/Assets/Resources/UI/gacha_scene.csv.meta new file mode 100644 index 00000000..7537526a --- /dev/null +++ b/Assets/Resources/UI/gacha_scene.csv.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: aa040b178e256334aaabe7980c0fa645 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Units/art_size.csv b/Assets/Resources/Units/art_size.csv index e69e3d70..4e56bebb 100644 --- a/Assets/Resources/Units/art_size.csv +++ b/Assets/Resources/Units/art_size.csv @@ -131,3 +131,6 @@ npc_merchant_f,0,151.6,566.3,335,576.5,291.0,900,892.0,,,저잣거리 NPC(PD 202 npc_elder,0,180.9,553.8,494,531.0,277.0,900,967.3,,,저잣거리 NPC(PD 2026-11-12 · 내정 순찰 장면만) npc_child,0,181.9,581.1,410,544.0,269.0,887,980.9,,,저잣거리 NPC(PD 2026-11-12 · 내정 순찰 장면만) npc_woman,0,192.6,495.5,377,583.0,305.0,900,979.3,,,저잣거리 NPC(PD 2026-11-12 · 내정 순찰 장면만) +gacha_guanyu,0,0,0,0,0,0,600,600,1,,뽑기 연출 전용 뒷모습(삼고초려 · 무기·말 없음 · PD 2026-11-13) — 눈 없음 · 크기 = 장면 표 gacha_scene.csv actor f_h +gacha_liubei,0,0,0,0,0,0,600,600,1,,뽑기 연출 전용 뒷모습(삼고초려 · 무기·말 없음 · PD 2026-11-13) — 눈 없음 · 크기 = 장면 표 gacha_scene.csv actor f_h +gacha_zhangfei,0,0,0,0,0,0,600,600,1,,뽑기 연출 전용 뒷모습(삼고초려 · 무기·말 없음 · PD 2026-11-13) — 눈 없음 · 크기 = 장면 표 gacha_scene.csv actor f_h diff --git a/Assets/Resources/Units/gacha_guanyu.meta b/Assets/Resources/Units/gacha_guanyu.meta new file mode 100644 index 00000000..4ecb231c --- /dev/null +++ b/Assets/Resources/Units/gacha_guanyu.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 914ad32e557a120488bd862e6f37c504 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Units/gacha_guanyu/back_idle.meta b/Assets/Resources/Units/gacha_guanyu/back_idle.meta new file mode 100644 index 00000000..3be31b33 --- /dev/null +++ b/Assets/Resources/Units/gacha_guanyu/back_idle.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8fd4d7f7d7ce64948a20597deefe5a7b +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Units/gacha_guanyu/back_idle/f000.png b/Assets/Resources/Units/gacha_guanyu/back_idle/f000.png new file mode 100644 index 00000000..3f8ffd3d Binary files /dev/null and b/Assets/Resources/Units/gacha_guanyu/back_idle/f000.png differ diff --git a/Assets/Resources/Units/gacha_guanyu/back_idle/f000.png.meta b/Assets/Resources/Units/gacha_guanyu/back_idle/f000.png.meta new file mode 100644 index 00000000..ab8e9881 --- /dev/null +++ b/Assets/Resources/Units/gacha_guanyu/back_idle/f000.png.meta @@ -0,0 +1,168 @@ +fileFormatVersion: 2 +guid: 302b0bdc57a709e448cb6d6dde78e85f +TextureImporter: + internalIDToNameTable: + - first: + 213: -166343660977832731 + second: f000_0 + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 2 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 0 + alignment: 9 + spritePivot: {x: 0.5, y: 0.03} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Android + maxTextureSize: 512 + resizeAlgorithm: 0 + textureFormat: 49 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 1 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: WebGL + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: + - serializedVersion: 2 + name: f000_0 + rect: + serializedVersion: 2 + x: 229 + y: 22 + width: 315 + height: 602 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + customData: + outline: [] + physicsShape: [] + tessellationDetail: -1 + bones: [] + spriteID: 5ec37c8525701bdf0800000000000000 + internalID: -166343660977832731 + vertices: [] + indices: + edges: [] + weights: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Units/gacha_guanyu/back_idle/f001.png b/Assets/Resources/Units/gacha_guanyu/back_idle/f001.png new file mode 100644 index 00000000..1a0ddccf Binary files /dev/null and b/Assets/Resources/Units/gacha_guanyu/back_idle/f001.png differ diff --git a/Assets/Resources/Units/gacha_guanyu/back_idle/f001.png.meta b/Assets/Resources/Units/gacha_guanyu/back_idle/f001.png.meta new file mode 100644 index 00000000..ec5993ef --- /dev/null +++ b/Assets/Resources/Units/gacha_guanyu/back_idle/f001.png.meta @@ -0,0 +1,168 @@ +fileFormatVersion: 2 +guid: a51725dabf3cd5940bf51c21d05e9a04 +TextureImporter: + internalIDToNameTable: + - first: + 213: -985113564820616005 + second: f001_0 + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 2 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 0 + alignment: 9 + spritePivot: {x: 0.5, y: 0.03} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Android + maxTextureSize: 512 + resizeAlgorithm: 0 + textureFormat: 49 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 1 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: WebGL + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: + - serializedVersion: 2 + name: f001_0 + rect: + serializedVersion: 2 + x: 228 + y: 22 + width: 316 + height: 603 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + customData: + outline: [] + physicsShape: [] + tessellationDetail: -1 + bones: [] + spriteID: bbcc271ae6c2452f0800000000000000 + internalID: -985113564820616005 + vertices: [] + indices: + edges: [] + weights: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Units/gacha_guanyu/back_idle/f002.png b/Assets/Resources/Units/gacha_guanyu/back_idle/f002.png new file mode 100644 index 00000000..84062b27 Binary files /dev/null and b/Assets/Resources/Units/gacha_guanyu/back_idle/f002.png differ diff --git a/Assets/Resources/Units/gacha_guanyu/back_idle/f002.png.meta b/Assets/Resources/Units/gacha_guanyu/back_idle/f002.png.meta new file mode 100644 index 00000000..c84fa2a7 --- /dev/null +++ b/Assets/Resources/Units/gacha_guanyu/back_idle/f002.png.meta @@ -0,0 +1,168 @@ +fileFormatVersion: 2 +guid: 7697a325a82e1f643b7010aba6a8234b +TextureImporter: + internalIDToNameTable: + - first: + 213: 202404987911244711 + second: f002_0 + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 2 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 0 + alignment: 9 + spritePivot: {x: 0.5, y: 0.03} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Android + maxTextureSize: 512 + resizeAlgorithm: 0 + textureFormat: 49 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 1 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: WebGL + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: + - serializedVersion: 2 + name: f002_0 + rect: + serializedVersion: 2 + x: 227 + y: 22 + width: 317 + height: 604 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + customData: + outline: [] + physicsShape: [] + tessellationDetail: -1 + bones: [] + spriteID: 7ab873d93461fc200800000000000000 + internalID: 202404987911244711 + vertices: [] + indices: + edges: [] + weights: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Units/gacha_guanyu/back_idle/f003.png b/Assets/Resources/Units/gacha_guanyu/back_idle/f003.png new file mode 100644 index 00000000..0aae9f31 Binary files /dev/null and b/Assets/Resources/Units/gacha_guanyu/back_idle/f003.png differ diff --git a/Assets/Resources/Units/gacha_guanyu/back_idle/f003.png.meta b/Assets/Resources/Units/gacha_guanyu/back_idle/f003.png.meta new file mode 100644 index 00000000..7e7f938b --- /dev/null +++ b/Assets/Resources/Units/gacha_guanyu/back_idle/f003.png.meta @@ -0,0 +1,168 @@ +fileFormatVersion: 2 +guid: 62a55e61d52841e4c90870f9338ceb85 +TextureImporter: + internalIDToNameTable: + - first: + 213: -8764597738744933808 + second: f003_0 + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 2 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 0 + alignment: 9 + spritePivot: {x: 0.5, y: 0.03} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Android + maxTextureSize: 512 + resizeAlgorithm: 0 + textureFormat: 49 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 1 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: WebGL + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: + - serializedVersion: 2 + name: f003_0 + rect: + serializedVersion: 2 + x: 228 + y: 22 + width: 316 + height: 604 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + customData: + outline: [] + physicsShape: [] + tessellationDetail: -1 + bones: [] + spriteID: 0529aee1bc4ed5680800000000000000 + internalID: -8764597738744933808 + vertices: [] + indices: + edges: [] + weights: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Units/gacha_guanyu/greet.meta b/Assets/Resources/Units/gacha_guanyu/greet.meta new file mode 100644 index 00000000..ef215be8 --- /dev/null +++ b/Assets/Resources/Units/gacha_guanyu/greet.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 0b90ef54e44a947489df07e3762e757e +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Units/gacha_guanyu/greet/f000.png b/Assets/Resources/Units/gacha_guanyu/greet/f000.png new file mode 100644 index 00000000..758b9cb8 Binary files /dev/null and b/Assets/Resources/Units/gacha_guanyu/greet/f000.png differ diff --git a/Assets/Resources/Units/gacha_guanyu/greet/f000.png.meta b/Assets/Resources/Units/gacha_guanyu/greet/f000.png.meta new file mode 100644 index 00000000..cf2340ef --- /dev/null +++ b/Assets/Resources/Units/gacha_guanyu/greet/f000.png.meta @@ -0,0 +1,168 @@ +fileFormatVersion: 2 +guid: 573863d1e56598641847577483a47391 +TextureImporter: + internalIDToNameTable: + - first: + 213: -166343660977832731 + second: f000_0 + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 2 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 0 + alignment: 9 + spritePivot: {x: 0.5, y: 0.03} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Android + maxTextureSize: 512 + resizeAlgorithm: 0 + textureFormat: 49 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 1 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: WebGL + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: + - serializedVersion: 2 + name: f000_0 + rect: + serializedVersion: 2 + x: 186 + y: 22 + width: 418 + height: 592 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + customData: + outline: [] + physicsShape: [] + tessellationDetail: -1 + bones: [] + spriteID: 5ec37c8525701bdf0800000000000000 + internalID: -166343660977832731 + vertices: [] + indices: + edges: [] + weights: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Units/gacha_guanyu/meta.json b/Assets/Resources/Units/gacha_guanyu/meta.json new file mode 100644 index 00000000..5d01ffc4 --- /dev/null +++ b/Assets/Resources/Units/gacha_guanyu/meta.json @@ -0,0 +1,44 @@ +{ + "fps": 1, + "ppu": 100, + "frame": [ + 768, + 768 + ], + "pivot": [ + 0.5, + 0.03 + ], + "charHeightPx": 600, + "bodyHeightPx": 600, + "clips": [ + { + "name": "back_idle", + "frames": 4, + "loop": true, + "pingpong": false, + "sequence": [ + 0, + 1, + 2, + 3 + ], + "durations": [ + 0.385, + 0.246, + 0.346, + 0.246 + ] + }, + { + "name": "greet", + "frames": 1, + "loop": true + }, + { + "name": "shock", + "frames": 1, + "loop": true + } + ] +} diff --git a/Assets/Resources/Units/gacha_guanyu/meta.json.meta b/Assets/Resources/Units/gacha_guanyu/meta.json.meta new file mode 100644 index 00000000..b8669528 --- /dev/null +++ b/Assets/Resources/Units/gacha_guanyu/meta.json.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 3a856e5d1b300ce4f96da5b3bb8e6543 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Units/gacha_guanyu/shock.meta b/Assets/Resources/Units/gacha_guanyu/shock.meta new file mode 100644 index 00000000..a40f808e --- /dev/null +++ b/Assets/Resources/Units/gacha_guanyu/shock.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e0a2858330c35b949b180c9df31423b0 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Units/gacha_guanyu/shock/f000.png b/Assets/Resources/Units/gacha_guanyu/shock/f000.png new file mode 100644 index 00000000..9c548ee4 Binary files /dev/null and b/Assets/Resources/Units/gacha_guanyu/shock/f000.png differ diff --git a/Assets/Resources/Units/gacha_guanyu/shock/f000.png.meta b/Assets/Resources/Units/gacha_guanyu/shock/f000.png.meta new file mode 100644 index 00000000..7022a73a --- /dev/null +++ b/Assets/Resources/Units/gacha_guanyu/shock/f000.png.meta @@ -0,0 +1,168 @@ +fileFormatVersion: 2 +guid: 896f7475a8468164a8752972012d27b6 +TextureImporter: + internalIDToNameTable: + - first: + 213: -166343660977832731 + second: f000_0 + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 2 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 0 + alignment: 9 + spritePivot: {x: 0.5, y: 0.03} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Android + maxTextureSize: 512 + resizeAlgorithm: 0 + textureFormat: 49 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 1 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: WebGL + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: + - serializedVersion: 2 + name: f000_0 + rect: + serializedVersion: 2 + x: 150 + y: 22 + width: 481 + height: 595 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + customData: + outline: [] + physicsShape: [] + tessellationDetail: -1 + bones: [] + spriteID: 5ec37c8525701bdf0800000000000000 + internalID: -166343660977832731 + vertices: [] + indices: + edges: [] + weights: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Units/gacha_liubei.meta b/Assets/Resources/Units/gacha_liubei.meta new file mode 100644 index 00000000..370a210c --- /dev/null +++ b/Assets/Resources/Units/gacha_liubei.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3632ca37a3df71c45980e4ff02b82d36 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Units/gacha_liubei/back_idle.meta b/Assets/Resources/Units/gacha_liubei/back_idle.meta new file mode 100644 index 00000000..831d3435 --- /dev/null +++ b/Assets/Resources/Units/gacha_liubei/back_idle.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2ae4acffe16fb994c82431c9baefee2e +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Units/gacha_liubei/back_idle/f000.png b/Assets/Resources/Units/gacha_liubei/back_idle/f000.png new file mode 100644 index 00000000..277c8422 Binary files /dev/null and b/Assets/Resources/Units/gacha_liubei/back_idle/f000.png differ diff --git a/Assets/Resources/Units/gacha_liubei/back_idle/f000.png.meta b/Assets/Resources/Units/gacha_liubei/back_idle/f000.png.meta new file mode 100644 index 00000000..4bca11d4 --- /dev/null +++ b/Assets/Resources/Units/gacha_liubei/back_idle/f000.png.meta @@ -0,0 +1,168 @@ +fileFormatVersion: 2 +guid: 8c02cad3152abf44492cb56703a16dae +TextureImporter: + internalIDToNameTable: + - first: + 213: -166343660977832731 + second: f000_0 + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 2 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 0 + alignment: 9 + spritePivot: {x: 0.5, y: 0.03} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Android + maxTextureSize: 512 + resizeAlgorithm: 0 + textureFormat: 49 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 1 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: WebGL + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: + - serializedVersion: 2 + name: f000_0 + rect: + serializedVersion: 2 + x: 230 + y: 22 + width: 336 + height: 602 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + customData: + outline: [] + physicsShape: [] + tessellationDetail: -1 + bones: [] + spriteID: 5ec37c8525701bdf0800000000000000 + internalID: -166343660977832731 + vertices: [] + indices: + edges: [] + weights: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Units/gacha_liubei/back_idle/f001.png b/Assets/Resources/Units/gacha_liubei/back_idle/f001.png new file mode 100644 index 00000000..004e6600 Binary files /dev/null and b/Assets/Resources/Units/gacha_liubei/back_idle/f001.png differ diff --git a/Assets/Resources/Units/gacha_liubei/back_idle/f001.png.meta b/Assets/Resources/Units/gacha_liubei/back_idle/f001.png.meta new file mode 100644 index 00000000..7cf124f2 --- /dev/null +++ b/Assets/Resources/Units/gacha_liubei/back_idle/f001.png.meta @@ -0,0 +1,168 @@ +fileFormatVersion: 2 +guid: 21e62e0f4c4d6a64fb590d20542f56ac +TextureImporter: + internalIDToNameTable: + - first: + 213: -985113564820616005 + second: f001_0 + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 2 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 0 + alignment: 9 + spritePivot: {x: 0.5, y: 0.03} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Android + maxTextureSize: 512 + resizeAlgorithm: 0 + textureFormat: 49 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 1 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: WebGL + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: + - serializedVersion: 2 + name: f001_0 + rect: + serializedVersion: 2 + x: 229 + y: 22 + width: 337 + height: 603 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + customData: + outline: [] + physicsShape: [] + tessellationDetail: -1 + bones: [] + spriteID: bbcc271ae6c2452f0800000000000000 + internalID: -985113564820616005 + vertices: [] + indices: + edges: [] + weights: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Units/gacha_liubei/back_idle/f002.png b/Assets/Resources/Units/gacha_liubei/back_idle/f002.png new file mode 100644 index 00000000..d72bdafb Binary files /dev/null and b/Assets/Resources/Units/gacha_liubei/back_idle/f002.png differ diff --git a/Assets/Resources/Units/gacha_liubei/back_idle/f002.png.meta b/Assets/Resources/Units/gacha_liubei/back_idle/f002.png.meta new file mode 100644 index 00000000..24fba763 --- /dev/null +++ b/Assets/Resources/Units/gacha_liubei/back_idle/f002.png.meta @@ -0,0 +1,168 @@ +fileFormatVersion: 2 +guid: eb8d3848cded53349a7d91e50768bc43 +TextureImporter: + internalIDToNameTable: + - first: + 213: 202404987911244711 + second: f002_0 + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 2 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 0 + alignment: 9 + spritePivot: {x: 0.5, y: 0.03} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Android + maxTextureSize: 512 + resizeAlgorithm: 0 + textureFormat: 49 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 1 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: WebGL + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: + - serializedVersion: 2 + name: f002_0 + rect: + serializedVersion: 2 + x: 228 + y: 22 + width: 338 + height: 605 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + customData: + outline: [] + physicsShape: [] + tessellationDetail: -1 + bones: [] + spriteID: 7ab873d93461fc200800000000000000 + internalID: 202404987911244711 + vertices: [] + indices: + edges: [] + weights: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Units/gacha_liubei/back_idle/f003.png b/Assets/Resources/Units/gacha_liubei/back_idle/f003.png new file mode 100644 index 00000000..e8f4dc74 Binary files /dev/null and b/Assets/Resources/Units/gacha_liubei/back_idle/f003.png differ diff --git a/Assets/Resources/Units/gacha_liubei/back_idle/f003.png.meta b/Assets/Resources/Units/gacha_liubei/back_idle/f003.png.meta new file mode 100644 index 00000000..814c9e1a --- /dev/null +++ b/Assets/Resources/Units/gacha_liubei/back_idle/f003.png.meta @@ -0,0 +1,168 @@ +fileFormatVersion: 2 +guid: 9ac360dd1fbadd94ba394c22abe93e34 +TextureImporter: + internalIDToNameTable: + - first: + 213: -8764597738744933808 + second: f003_0 + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 2 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 0 + alignment: 9 + spritePivot: {x: 0.5, y: 0.03} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Android + maxTextureSize: 512 + resizeAlgorithm: 0 + textureFormat: 49 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 1 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: WebGL + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: + - serializedVersion: 2 + name: f003_0 + rect: + serializedVersion: 2 + x: 229 + y: 22 + width: 337 + height: 604 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + customData: + outline: [] + physicsShape: [] + tessellationDetail: -1 + bones: [] + spriteID: 0529aee1bc4ed5680800000000000000 + internalID: -8764597738744933808 + vertices: [] + indices: + edges: [] + weights: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Units/gacha_liubei/greet.meta b/Assets/Resources/Units/gacha_liubei/greet.meta new file mode 100644 index 00000000..1f6137af --- /dev/null +++ b/Assets/Resources/Units/gacha_liubei/greet.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c158665098c46b046aebbd20d95ec65f +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Units/gacha_liubei/greet/f000.png b/Assets/Resources/Units/gacha_liubei/greet/f000.png new file mode 100644 index 00000000..2c13ce02 Binary files /dev/null and b/Assets/Resources/Units/gacha_liubei/greet/f000.png differ diff --git a/Assets/Resources/Units/gacha_liubei/greet/f000.png.meta b/Assets/Resources/Units/gacha_liubei/greet/f000.png.meta new file mode 100644 index 00000000..b40b75c8 --- /dev/null +++ b/Assets/Resources/Units/gacha_liubei/greet/f000.png.meta @@ -0,0 +1,168 @@ +fileFormatVersion: 2 +guid: ec1fc3e844850f14e844d4e5cb0ac12b +TextureImporter: + internalIDToNameTable: + - first: + 213: -166343660977832731 + second: f000_0 + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 2 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 0 + alignment: 9 + spritePivot: {x: 0.5, y: 0.03} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Android + maxTextureSize: 512 + resizeAlgorithm: 0 + textureFormat: 49 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 1 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: WebGL + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: + - serializedVersion: 2 + name: f000_0 + rect: + serializedVersion: 2 + x: 205 + y: 22 + width: 458 + height: 574 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + customData: + outline: [] + physicsShape: [] + tessellationDetail: -1 + bones: [] + spriteID: 5ec37c8525701bdf0800000000000000 + internalID: -166343660977832731 + vertices: [] + indices: + edges: [] + weights: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Units/gacha_liubei/meta.json b/Assets/Resources/Units/gacha_liubei/meta.json new file mode 100644 index 00000000..5d01ffc4 --- /dev/null +++ b/Assets/Resources/Units/gacha_liubei/meta.json @@ -0,0 +1,44 @@ +{ + "fps": 1, + "ppu": 100, + "frame": [ + 768, + 768 + ], + "pivot": [ + 0.5, + 0.03 + ], + "charHeightPx": 600, + "bodyHeightPx": 600, + "clips": [ + { + "name": "back_idle", + "frames": 4, + "loop": true, + "pingpong": false, + "sequence": [ + 0, + 1, + 2, + 3 + ], + "durations": [ + 0.385, + 0.246, + 0.346, + 0.246 + ] + }, + { + "name": "greet", + "frames": 1, + "loop": true + }, + { + "name": "shock", + "frames": 1, + "loop": true + } + ] +} diff --git a/Assets/Resources/Units/gacha_liubei/meta.json.meta b/Assets/Resources/Units/gacha_liubei/meta.json.meta new file mode 100644 index 00000000..bf0efc99 --- /dev/null +++ b/Assets/Resources/Units/gacha_liubei/meta.json.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 7b96fde6da395fd4f808cf8495f7fa25 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Units/gacha_liubei/shock.meta b/Assets/Resources/Units/gacha_liubei/shock.meta new file mode 100644 index 00000000..cc9cd178 --- /dev/null +++ b/Assets/Resources/Units/gacha_liubei/shock.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: af2b0fb93c60a7541bb89fd6c02f8bc0 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Units/gacha_liubei/shock/f000.png b/Assets/Resources/Units/gacha_liubei/shock/f000.png new file mode 100644 index 00000000..72f95577 Binary files /dev/null and b/Assets/Resources/Units/gacha_liubei/shock/f000.png differ diff --git a/Assets/Resources/Units/gacha_liubei/shock/f000.png.meta b/Assets/Resources/Units/gacha_liubei/shock/f000.png.meta new file mode 100644 index 00000000..df200cf3 --- /dev/null +++ b/Assets/Resources/Units/gacha_liubei/shock/f000.png.meta @@ -0,0 +1,168 @@ +fileFormatVersion: 2 +guid: 344b8af5d679aec40b3bbda25f7f3cc2 +TextureImporter: + internalIDToNameTable: + - first: + 213: -166343660977832731 + second: f000_0 + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 2 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 0 + alignment: 9 + spritePivot: {x: 0.5, y: 0.03} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Android + maxTextureSize: 512 + resizeAlgorithm: 0 + textureFormat: 49 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 1 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: WebGL + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: + - serializedVersion: 2 + name: f000_0 + rect: + serializedVersion: 2 + x: 201 + y: 22 + width: 445 + height: 602 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + customData: + outline: [] + physicsShape: [] + tessellationDetail: -1 + bones: [] + spriteID: 5ec37c8525701bdf0800000000000000 + internalID: -166343660977832731 + vertices: [] + indices: + edges: [] + weights: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Units/gacha_zhangfei.meta b/Assets/Resources/Units/gacha_zhangfei.meta new file mode 100644 index 00000000..61959916 --- /dev/null +++ b/Assets/Resources/Units/gacha_zhangfei.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a4b837ab44b4f1345805fe1af035114d +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Units/gacha_zhangfei/back_idle.meta b/Assets/Resources/Units/gacha_zhangfei/back_idle.meta new file mode 100644 index 00000000..7894cf8b --- /dev/null +++ b/Assets/Resources/Units/gacha_zhangfei/back_idle.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 90c6eef0e63d82149abbdd4fb768a0e8 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Units/gacha_zhangfei/back_idle/f000.png b/Assets/Resources/Units/gacha_zhangfei/back_idle/f000.png new file mode 100644 index 00000000..42031a82 Binary files /dev/null and b/Assets/Resources/Units/gacha_zhangfei/back_idle/f000.png differ diff --git a/Assets/Resources/Units/gacha_zhangfei/back_idle/f000.png.meta b/Assets/Resources/Units/gacha_zhangfei/back_idle/f000.png.meta new file mode 100644 index 00000000..2666cc1d --- /dev/null +++ b/Assets/Resources/Units/gacha_zhangfei/back_idle/f000.png.meta @@ -0,0 +1,168 @@ +fileFormatVersion: 2 +guid: 1dce8ebe062959448847de971b4f85fa +TextureImporter: + internalIDToNameTable: + - first: + 213: -166343660977832731 + second: f000_0 + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 2 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 0 + alignment: 9 + spritePivot: {x: 0.5, y: 0.03} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Android + maxTextureSize: 512 + resizeAlgorithm: 0 + textureFormat: 49 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 1 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: WebGL + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: + - serializedVersion: 2 + name: f000_0 + rect: + serializedVersion: 2 + x: 181 + y: 22 + width: 471 + height: 602 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + customData: + outline: [] + physicsShape: [] + tessellationDetail: -1 + bones: [] + spriteID: 5ec37c8525701bdf0800000000000000 + internalID: -166343660977832731 + vertices: [] + indices: + edges: [] + weights: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Units/gacha_zhangfei/back_idle/f001.png b/Assets/Resources/Units/gacha_zhangfei/back_idle/f001.png new file mode 100644 index 00000000..52204f95 Binary files /dev/null and b/Assets/Resources/Units/gacha_zhangfei/back_idle/f001.png differ diff --git a/Assets/Resources/Units/gacha_zhangfei/back_idle/f001.png.meta b/Assets/Resources/Units/gacha_zhangfei/back_idle/f001.png.meta new file mode 100644 index 00000000..420acf03 --- /dev/null +++ b/Assets/Resources/Units/gacha_zhangfei/back_idle/f001.png.meta @@ -0,0 +1,168 @@ +fileFormatVersion: 2 +guid: ed379cad2397e43468bccedb5441ac3c +TextureImporter: + internalIDToNameTable: + - first: + 213: -985113564820616005 + second: f001_0 + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 2 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 0 + alignment: 9 + spritePivot: {x: 0.5, y: 0.03} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Android + maxTextureSize: 512 + resizeAlgorithm: 0 + textureFormat: 49 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 1 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: WebGL + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: + - serializedVersion: 2 + name: f001_0 + rect: + serializedVersion: 2 + x: 180 + y: 22 + width: 472 + height: 603 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + customData: + outline: [] + physicsShape: [] + tessellationDetail: -1 + bones: [] + spriteID: bbcc271ae6c2452f0800000000000000 + internalID: -985113564820616005 + vertices: [] + indices: + edges: [] + weights: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Units/gacha_zhangfei/back_idle/f002.png b/Assets/Resources/Units/gacha_zhangfei/back_idle/f002.png new file mode 100644 index 00000000..7c8bb37b Binary files /dev/null and b/Assets/Resources/Units/gacha_zhangfei/back_idle/f002.png differ diff --git a/Assets/Resources/Units/gacha_zhangfei/back_idle/f002.png.meta b/Assets/Resources/Units/gacha_zhangfei/back_idle/f002.png.meta new file mode 100644 index 00000000..88b4ff85 --- /dev/null +++ b/Assets/Resources/Units/gacha_zhangfei/back_idle/f002.png.meta @@ -0,0 +1,168 @@ +fileFormatVersion: 2 +guid: 6b0bf1385ec12ed45b95dd6f1c822671 +TextureImporter: + internalIDToNameTable: + - first: + 213: 202404987911244711 + second: f002_0 + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 2 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 0 + alignment: 9 + spritePivot: {x: 0.5, y: 0.03} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Android + maxTextureSize: 512 + resizeAlgorithm: 0 + textureFormat: 49 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 1 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: WebGL + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: + - serializedVersion: 2 + name: f002_0 + rect: + serializedVersion: 2 + x: 180 + y: 22 + width: 472 + height: 605 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + customData: + outline: [] + physicsShape: [] + tessellationDetail: -1 + bones: [] + spriteID: 7ab873d93461fc200800000000000000 + internalID: 202404987911244711 + vertices: [] + indices: + edges: [] + weights: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Units/gacha_zhangfei/back_idle/f003.png b/Assets/Resources/Units/gacha_zhangfei/back_idle/f003.png new file mode 100644 index 00000000..5f56cc92 Binary files /dev/null and b/Assets/Resources/Units/gacha_zhangfei/back_idle/f003.png differ diff --git a/Assets/Resources/Units/gacha_zhangfei/back_idle/f003.png.meta b/Assets/Resources/Units/gacha_zhangfei/back_idle/f003.png.meta new file mode 100644 index 00000000..6577971d --- /dev/null +++ b/Assets/Resources/Units/gacha_zhangfei/back_idle/f003.png.meta @@ -0,0 +1,168 @@ +fileFormatVersion: 2 +guid: 675244c4cc8bbd3478a0e892f7ce81ea +TextureImporter: + internalIDToNameTable: + - first: + 213: -8764597738744933808 + second: f003_0 + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 2 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 0 + alignment: 9 + spritePivot: {x: 0.5, y: 0.03} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Android + maxTextureSize: 512 + resizeAlgorithm: 0 + textureFormat: 49 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 1 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: WebGL + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: + - serializedVersion: 2 + name: f003_0 + rect: + serializedVersion: 2 + x: 180 + y: 22 + width: 472 + height: 604 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + customData: + outline: [] + physicsShape: [] + tessellationDetail: -1 + bones: [] + spriteID: 0529aee1bc4ed5680800000000000000 + internalID: -8764597738744933808 + vertices: [] + indices: + edges: [] + weights: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Units/gacha_zhangfei/greet.meta b/Assets/Resources/Units/gacha_zhangfei/greet.meta new file mode 100644 index 00000000..232fc9b4 --- /dev/null +++ b/Assets/Resources/Units/gacha_zhangfei/greet.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b5b3efaa644fbfa448777826e22b8db0 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Units/gacha_zhangfei/greet/f000.png b/Assets/Resources/Units/gacha_zhangfei/greet/f000.png new file mode 100644 index 00000000..8da0ea23 Binary files /dev/null and b/Assets/Resources/Units/gacha_zhangfei/greet/f000.png differ diff --git a/Assets/Resources/Units/gacha_zhangfei/greet/f000.png.meta b/Assets/Resources/Units/gacha_zhangfei/greet/f000.png.meta new file mode 100644 index 00000000..a79684be --- /dev/null +++ b/Assets/Resources/Units/gacha_zhangfei/greet/f000.png.meta @@ -0,0 +1,168 @@ +fileFormatVersion: 2 +guid: cf037a242f6094f41b4c4bee7d078ee5 +TextureImporter: + internalIDToNameTable: + - first: + 213: -166343660977832731 + second: f000_0 + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 2 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 0 + alignment: 9 + spritePivot: {x: 0.5, y: 0.03} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Android + maxTextureSize: 512 + resizeAlgorithm: 0 + textureFormat: 49 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 1 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: WebGL + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: + - serializedVersion: 2 + name: f000_0 + rect: + serializedVersion: 2 + x: 183 + y: 22 + width: 519 + height: 638 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + customData: + outline: [] + physicsShape: [] + tessellationDetail: -1 + bones: [] + spriteID: 5ec37c8525701bdf0800000000000000 + internalID: -166343660977832731 + vertices: [] + indices: + edges: [] + weights: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Units/gacha_zhangfei/meta.json b/Assets/Resources/Units/gacha_zhangfei/meta.json new file mode 100644 index 00000000..5d01ffc4 --- /dev/null +++ b/Assets/Resources/Units/gacha_zhangfei/meta.json @@ -0,0 +1,44 @@ +{ + "fps": 1, + "ppu": 100, + "frame": [ + 768, + 768 + ], + "pivot": [ + 0.5, + 0.03 + ], + "charHeightPx": 600, + "bodyHeightPx": 600, + "clips": [ + { + "name": "back_idle", + "frames": 4, + "loop": true, + "pingpong": false, + "sequence": [ + 0, + 1, + 2, + 3 + ], + "durations": [ + 0.385, + 0.246, + 0.346, + 0.246 + ] + }, + { + "name": "greet", + "frames": 1, + "loop": true + }, + { + "name": "shock", + "frames": 1, + "loop": true + } + ] +} diff --git a/Assets/Resources/Units/gacha_zhangfei/meta.json.meta b/Assets/Resources/Units/gacha_zhangfei/meta.json.meta new file mode 100644 index 00000000..741168bc --- /dev/null +++ b/Assets/Resources/Units/gacha_zhangfei/meta.json.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 0dab87c5905d75c40b493beb904de458 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Units/gacha_zhangfei/shock.meta b/Assets/Resources/Units/gacha_zhangfei/shock.meta new file mode 100644 index 00000000..328f23f4 --- /dev/null +++ b/Assets/Resources/Units/gacha_zhangfei/shock.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 487a514b5f467614ebb4e9eb8a8f8405 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Resources/Units/gacha_zhangfei/shock/f000.png b/Assets/Resources/Units/gacha_zhangfei/shock/f000.png new file mode 100644 index 00000000..b45d5793 Binary files /dev/null and b/Assets/Resources/Units/gacha_zhangfei/shock/f000.png differ diff --git a/Assets/Resources/Units/gacha_zhangfei/shock/f000.png.meta b/Assets/Resources/Units/gacha_zhangfei/shock/f000.png.meta new file mode 100644 index 00000000..9755df40 --- /dev/null +++ b/Assets/Resources/Units/gacha_zhangfei/shock/f000.png.meta @@ -0,0 +1,168 @@ +fileFormatVersion: 2 +guid: ac5598a3840bf5148a6ed2faae71fdab +TextureImporter: + internalIDToNameTable: + - first: + 213: -166343660977832731 + second: f000_0 + externalObjects: {} + serializedVersion: 13 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 2 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 0 + alignment: 9 + spritePivot: {x: 0.5, y: 0.03} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 8 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 4 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: Android + maxTextureSize: 512 + resizeAlgorithm: 0 + textureFormat: 49 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 1 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 4 + buildTarget: WebGL + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: + - serializedVersion: 2 + name: f000_0 + rect: + serializedVersion: 2 + x: 156 + y: 22 + width: 549 + height: 631 + alignment: 0 + pivot: {x: 0, y: 0} + border: {x: 0, y: 0, z: 0, w: 0} + customData: + outline: [] + physicsShape: [] + tessellationDetail: -1 + bones: [] + spriteID: 5ec37c8525701bdf0800000000000000 + internalID: -166343660977832731 + vertices: [] + indices: + edges: [] + weights: [] + outline: [] + customData: + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spriteCustomMetadata: + entries: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/OutGame/UI/GachaCutscene.cs b/Assets/Scripts/OutGame/UI/GachaCutscene.cs new file mode 100644 index 00000000..e0caad28 --- /dev/null +++ b/Assets/Scripts/OutGame/UI/GachaCutscene.cs @@ -0,0 +1,1295 @@ +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.UI; + +namespace TKS.OutGame +{ + /// + /// 뽑기 연출 표(Resources/UI/gacha_scene.csv · PD 2026-11-13 「삼고초려 — 초가집 앞 유비·관우·장비의 뒷모습 · 문이 덜컹거린 뒤 서서히 열릴 때 새어 나오는 빛으로 등급을 알게 · + /// 흰(★) · 주황(★★) · 무지개(★★★)」). 형식 = 로비 장면 표(LobbyScene.Load) · 좌표 = 배경 그림 px(왼쪽 위 0,0 · 아래로 +) · 자리·크기·박자·색 = 표(C45) — 줄 뜻은 표 머리 주석. + /// + public static class GachaScene + { + public const string TablePath = "UI/gacha_scene"; + + static List rows; + + public static void Reload() + { + rows = null; + } + + public static List Rows + { + get + { + if (rows == null) rows = LobbyScene.Load(TablePath); + return rows; + } + } + + public static LobbyScene.Row First(string kind) + { + return DomesticScene.First(Rows, kind); + } + + public static List All(string kind) + { + return DomesticScene.All(Rows, kind); + } + + /// 등급 줄(tier1~3 · 없으면 아래 등급). + public static LobbyScene.Row Tier(int tier) + { + for (int t = Mathf.Clamp(tier, 1, 3); t >= 1; t--) + { + var r = First("tier" + t); + if (r != null) return r; + } + return null; + } + + /// 등급별 박자 줄(timeN · 없으면 아래 등급 · 그래도 없으면 time) — PD 2026-11-13 「1성·2성은 문 열림이 길어질 필요 없이 바로 열려도 됨」 = 긴 기대감 연출은 ★★★ 만. + public static LobbyScene.Row Time(int tier) + { + for (int t = Mathf.Clamp(tier, 1, 3); t >= 1; t--) + { + var r = First("time" + t); + if (r != null) return r; + } + return First("time"); + } + + /// 빛 그림(표 fx 줄 s_sprite 의 n 번째 · 0 광원 · 1 빛줄기 · 2 색 번짐 · 3 별 · 4 점 · 5 마당 빛 · 6 고리). + public static Sprite Fx(int n) + { + var r = First("fx"); + if (r == null) return null; + var ids = r.Sprites; + return n < ids.Length ? UISkin.Icon(ids[n]) : null; + } + + /// 표와 배경 그림이 다 있는가(없으면 호출 쪽이 예전 결과 화면). + public static bool Ready + { + get + { + var v = First("view"); + return v != null && UISkin.Icon(v.sprite) != null && First("door") != null && Time(1) != null && First("rattle") != null && First("card") != null && Tier(1) != null; + } + } + } + + /// + /// 뽑기 연출 — ① 삼고초려 장면: 기다림 → 문이 덜컹(여러 번 · 사이에 뜸) → 문이 서서히 열리며 틈으로 등급 색 빛이 새어 나옴(기대감 · 여기서 등급을 알게 됨) → 활짝 열리며 빛이 터지고 삼형제가 반김/놀람 + /// ② 카드 획득(PD 레퍼런스 = 카드가 UI 에 등장할 때): 위에서 떨어져 흰 번쩍 → 눌렸다 튀어 오름 → 먼지·반짝이 · 조각 게이지. + /// 빛 = 부드러운 흰 그림을 덧셈 합성으로 겹침(가운데 흰 광원 + 길고 가는 빛줄기 + 색 번짐 + 별가루 입자 · PD 2026-11-13 「단순히 무지개색이 아니라 예시처럼 화려해 보이게 · 파티클」). + /// 문이 활짝 열리면 영웅의 검은 실루엣만 문 안에 보인다(PD 2026-11-13 최종 · 제 색·이름은 카드에서) · ★·★★ 는 덜컹 한 번 뒤 바로 열림 · 긴 기대감 연출은 ★★★ 만(박자 = 표 timeN) · 장면 중 탭 = 건너뛰어 카드로(PD 「터치로 문이 열리는 장면을 스킵」). + /// 만드는 법 = 내정 장면과 같게(배경 한 장 + 표 좌표 + 원화 프레임 교체 + 자리·배율 움직임) · 삼형제 = 이 연출 전용 그림(Resources/Units/gacha_* · 걸어서 · 무기 없음). + /// 장면·카드는 매 프레임 바뀌므로 Frame 층 · 글자·버튼은 Event 층(P41). 시간 = 실시간(일시정지 무관). + /// + public class GachaCutscene : MonoBehaviour + { + public enum Step + { + Wait, + Rattle, + Leak, + Open, + Cards, + Done + } + + /// 캡처·테스트용: 0 보다 크면 매 프레임 이 초만큼만 흐른다(실시간 무시 · 프레임마다 같은 간격). + public static float FixedDt = -1f; + /// 캡처·테스트용: true 면 스스로 흐르지 않는다(호출 쪽이 Tick 으로 한 칸씩) · 실제 탭도 받지 않는다. + public static bool Manual; + + const string IdleClip = "back_idle"; + /// 덧셈 합성 셰이더(Resources · 없으면 보통 합성으로 — 빛이 덜 화려할 뿐 동작은 같음). + public const string AdditiveShader = "UI/UiAdditive"; + + static Material addMat; + + /// 빛·별가루용 덧셈 합성 재질(한 장을 같이 씀 = 같은 아틀라스면 한 묶음). + public static Material AddMat + { + get + { + if (addMat == null) + { + var sh = Resources.Load(AdditiveShader); + if (sh != null) addMat = new Material(sh) { name = "GachaAdditive", hideFlags = HideFlags.HideAndDontSave }; + } + return addMat; + } + } + + class Actor + { + public RectTransform rt; + public Image img; + public UnitArtData data; + public Sprite[] idle; + public Sprite[] react; + public Vector2 home; + public float phase; + public float flip; + public RectTransform bang; + public RectTransform shadow; + public Vector2 shadowHome; + public float idleOffset; + } + + class Card + { + public RectTransform rt; + public Image flash; + public RectTransform deco; + public RectTransform rays; + public Image glow; + public Image edge; + public bool rainbow; + public float amb; + public RectTransform sheen; + public float sheenW; + public RectTransform strip; + public RectTransform gauge; + public float g0; + public float g1; + public float start; + public Vector2 home; + public bool landed; + public int tier; + } + + class Bit + { + public RectTransform rt; + public Image img; + public Vector2 pos; + public Vector2 vel; + public float grav; + public float drag; + public float t; + public float life; + public float s0; + public float s1; + public float a0; + public float spin; + public float tw; + public float ph; + public bool ring; + public bool live; + } + + class Ray + { + public RectTransform rt; + public Image img; + public LobbyScene.Row row; + } + + OutGameSession s; + List pulls; + System.Action onClose; + float mountedTop; + LobbyScene.Row heroRow; + RectTransform sil; + Image silImg; + Image veil; + + LobbyScene.Row timeRow, doorRow, rattleRow, zoomRow, tierRow, reactRow, sparkRow, ringRow, cardRow, puffRow, twinkleRow, flashRow, shadowRow, dimRow; + readonly List tints = new List(); + + RectTransform clip, stage, backLayer, doorLayer, groundLayer, shadowLayer, fxLayer, bitLayer, frontLayer, cardsLayer, cardFx, ui; + float artW, artH; + RectTransform leafL, leafR, haloRt, coreRt, leakRt, lobeRoot; + Image leafLImg, leafRImg, dimBack, glow, halo, slit, bloom, coreImg, leakImg, flash, shade, fade; + Vector2 leafLHome, leafRHome; + readonly List streaks = new List(); + readonly List lobes = new List(); + readonly List beams = new List(); + readonly List actors = new List(); + readonly List cards = new List(); + readonly List bits = new List(); + GameObject hint; + + float t; + float tRattle, tOpen, tBurst, tReact, tFull, tEnd; + float tCards = -1f; + float flashA; + float flashT = 99f; + float ambAcc; + int lastBeat = -1; + bool burstDone, doneUi; + float lastScale = -1f; + Sprite coreSp, streakSp, lobeSp, starSp, dotSp, beamSp, ringSp, puffSp; + + public Step Stage { get; private set; } + /// 문 빛 등급(뽑힌 것 중 가장 높은 등급 1~3). + public int Tier { get; private set; } + /// 문 안에 실루엣으로 서는 영웅(가장 높은 등급 · 새 영웅 우선). + public GachaPull Featured { get; private set; } + /// 검은 실루엣이 보이는가(문이 활짝 열린 뒤 · 테스트). + public bool SilhouetteShown { get { return silImg != null && silImg.color.a > 0.15f; } } + /// 실루엣 색(검정 · 제 색을 보이지 않음 · 테스트). + public Color SilhouetteColor { get { return silImg != null ? silImg.color : Color.clear; } } + /// 삼형제 반응 클립 이름(표 tier 줄 i_slot 0 = greet · 1 = shock). + public string Reaction { get; private set; } + public int ActorCount { get { return actors.Count; } } + public int CardCount { get { return cards.Count; } } + public float Elapsed { get { return t; } } + /// 장면이 끝나 카드로 넘어가는 시각(캡처 길이). + public float SceneEnd { get { return tEnd; } } + /// 문 열림 비율(0 닫힘 ~ 1 다 열림). + public float DoorOpen { get; private set; } + /// 지금 문틈으로 새는 빛의 세기(0~1 · 테스트). + public float LightLevel { get; private set; } + /// 지금까지 덜컹거린 횟수(테스트). + public int RattleCount { get { return lastBeat + 1; } } + /// 빛줄기 수(표 streakN 줄 · 테스트). + public int StreakCount { get { return streaks.Count; } } + + /// 지금 살아 있는 입자 수(별가루·고리·먼지 · 테스트). + public int LiveBits + { + get + { + int n = 0; + foreach (var b in bits) + if (b.live) n++; + return n; + } + } + + public int CardsLanded + { + get + { + int n = 0; + foreach (var c in cards) + if (c.landed) n++; + return n; + } + } + + public static GachaCutscene Show(OutGameRoot root, OutGameSession s, List pulls, System.Action onClose) + { + var dim = UiKit.Fill("GachaResult", root.TopRoot); + UiLayer.Nest(dim.gameObject, UiRate.Event, true); // 위 덮개 = 자기 캔버스(재화 바와 따로 · PD 2026-11-10) + var c = dim.gameObject.AddComponent(); + c.s = s; + c.pulls = pulls; + c.onClose = onClose; + c.mountedTop = root.Battle != null && root.Battle.Config != null ? root.Battle.Config.mountedArtMaxTop : 0f; + c.Build(dim); + return c; + } + + // ---------- 만들기 ---------- + + void Build(RectTransform dim) + { + doorRow = GachaScene.First("door"); + rattleRow = GachaScene.First("rattle"); + zoomRow = GachaScene.First("zoom"); + sparkRow = GachaScene.First("spark"); + ringRow = GachaScene.First("ring"); + puffRow = GachaScene.First("puff"); + twinkleRow = GachaScene.First("twinkle"); + flashRow = GachaScene.First("flash"); + shadowRow = GachaScene.First("shadow"); + dimRow = GachaScene.First("dim"); + cardRow = pulls.Count <= 1 && GachaScene.First("card1") != null ? GachaScene.First("card1") : GachaScene.First("card"); + + Tier = 1; + Featured = null; + foreach (var p in pulls) + { + Tier = Mathf.Max(Tier, Mathf.Clamp(p.tier, 1, 3)); + if (Featured == null || p.tier > Featured.tier || (p.tier == Featured.tier && p.isNew && !Featured.isNew)) Featured = p; + } + tierRow = GachaScene.Tier(Tier); + timeRow = GachaScene.Time(Tier); + Reaction = tierRow.slot == 1 ? "shock" : "greet"; + reactRow = GachaScene.First(Reaction); + foreach (var r in GachaScene.All("tint" + Tier)) tints.Add(r.color); + if (tints.Count == 0) tints.Add(tierRow.color); + + tRattle = timeRow.first + timeRow.stand; + tOpen = tRattle + timeRow.ready; + tBurst = tOpen + timeRow.hit * Mathf.Clamp01(timeRow.waves); // 서서히 열리는 구간 끝 = 활짝 열리기 시작 + tReact = tBurst + timeRow.gapMin; + tFull = tOpen + timeRow.hit; + tEnd = tFull + timeRow.hold; + + coreSp = GachaScene.Fx(0); + streakSp = GachaScene.Fx(1); + lobeSp = GachaScene.Fx(2); + starSp = GachaScene.Fx(3); + dotSp = GachaScene.Fx(4); + beamSp = GachaScene.Fx(5); + ringSp = GachaScene.Fx(6); + puffSp = puffRow != null ? UISkin.Icon(puffRow.sprite) : null; + + var back = UiKit.Paint(dim, GachaScene.First("view").color, false, true); // 그림 밖(다른 화면 비율) 바탕 + 탭 받는 판 + var tap = dim.gameObject.AddComponent