feat: VFX 인프라 구축 및 Ground Target 시스템 구현

- VfxEffect 스킬 이펙트 클래스 추가 (일회성 VFX 스폰, 위치/스케일/파티클 제어)
- SkillEffect.IsVisualOnly 프로퍼티 추가로 서버 가드 없이 모든 클라이언트에서 VFX 로컬 실행
- SkillProjectile 트레일 VFX 지원 (OnNetworkSpawn에서 양쪽 생성, despawn 시 월드 분리)
- SkillProjectile HitEffectClientRpc 추가로 충돌 이펙트 클라이언트 동기화
- Ground Target 시스템: 타겟팅 모드 상태머신, 인디케이터, 지면 위치 RPC 전달
- 마법 오름 Ground Target 스킬 에셋 및 VfxEffect 에셋 추가
- 마법 오름 애니메이션 클립 추가
- Ground layer (Layer 7) 추가
- ProjectileBasic에 trailPrefab/hitEffect 필드 추가
- Prefabs/VFX/ 폴더 생성
This commit is contained in:
2026-04-02 22:25:19 +09:00
parent 57ab230c61
commit 188b134062
34 changed files with 42905 additions and 102 deletions

View File

@@ -10,7 +10,7 @@ MonoBehaviour:
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 58efb3c775496fa40b801b21127a011e, type: 3}
m_Name: Data_SkillEffect_Player_\uC591\uC190_\uBAA8\uC544\uBCA0\uAE30_0_\uB370\uBBF8\uC9C0
m_Name: "Data_SkillEffect_Player_\uC591\uC190_\uBAA8\uC544\uBCA0\uAE30_0_\uB370\uBBF8\uC9C0"
m_EditorClassIdentifier: Colosseum.Game::Colosseum.Skills.Effects.DamageEffect
targetType: 1
targetTeam: 0
@@ -19,6 +19,7 @@ MonoBehaviour:
targetLayers:
serializedVersion: 2
m_Bits: 4294967295
includeCasterInArea: 0
areaRadius: 4
fanOriginDistance: 0
fanRadius: 4

View File

@@ -10,7 +10,7 @@ MonoBehaviour:
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 58efb3c775496fa40b801b21127a011e, type: 3}
m_Name: Data_SkillEffect_Player_\uD55C\uC190_\uB9C8\uBC95\uBC1C\uC0AC_0_\uB370\uBBF8\uC9C0
m_Name: "Data_SkillEffect_Player_\uD55C\uC190_\uB9C8\uBC95\uBC1C\uC0AC_0_\uB370\uBBF8\uC9C0"
m_EditorClassIdentifier: Colosseum.Game::Colosseum.Skills.Effects.DamageEffect
targetType: 0
targetTeam: 0
@@ -19,6 +19,7 @@ MonoBehaviour:
targetLayers:
serializedVersion: 2
m_Bits: 0
includeCasterInArea: 0
areaRadius: 3
fanOriginDistance: 1
fanRadius: 3

View File

@@ -10,7 +10,7 @@ MonoBehaviour:
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: a3139ddf07cfe324fa692a88cd565e24, type: 3}
m_Name: Data_SkillEffect_Player_\uD55C\uC190_\uB9C8\uBC95\uBC1C\uC0AC_1_\uC2A4\uD3F0
m_Name: "Data_SkillEffect_Player_\uD55C\uC190_\uB9C8\uBC95\uBC1C\uC0AC_1_\uC2A4\uD3F0"
m_EditorClassIdentifier: Colosseum.Game::Colosseum.Skills.Effects.SpawnEffect
targetType: 0
targetTeam: 0
@@ -19,6 +19,7 @@ MonoBehaviour:
targetLayers:
serializedVersion: 2
m_Bits: 0
includeCasterInArea: 0
areaRadius: 3
fanOriginDistance: 1
fanRadius: 3

View File

@@ -0,0 +1,29 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 58efb3c775496fa40b801b21127a011e, type: 3}
m_Name: "Data_SkillEffect_Player_\uD55C\uC190_\uB9C8\uBC95\uC624\uB984_0_\uB370\uBBF8\uC9C0"
m_EditorClassIdentifier: Colosseum.Game::Colosseum.Skills.Effects.DamageEffect
targetType: 1
targetTeam: 0
areaCenter: 2
areaShape: 0
targetLayers:
serializedVersion: 2
m_Bits: 4294967295
includeCasterInArea: 0
areaRadius: 5
fanOriginDistance: 0
fanRadius: 3
fanHalfAngle: 45
baseDamage: 20
damageType: 1
statScaling: 1

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 1a2b3c4d5e6f7890abcdef1234567890
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,34 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 69581e050479a094782d2ca9eb142fe4, type: 3}
m_Name: "Data_SkillEffect_Player_\uD55C\uC190_\uB9C8\uBC95\uC624\uB984_1_VFX"
m_EditorClassIdentifier: Colosseum.Game::Colosseum.Skills.Effects.VfxEffect
targetType: 0
targetTeam: 0
areaCenter: 0
areaShape: 0
targetLayers:
serializedVersion: 2
m_Bits: 0
includeCasterInArea: 0
areaRadius: 3
fanOriginDistance: 1
fanRadius: 3
fanHalfAngle: 45
vfxPrefab: {fileID: 1559779302510298, guid: 5d27eaf58f7dd214db0ed07333875450, type: 3}
spawnLocation: 3
offset: {x: 0, y: 0.1, z: 0}
lifetime: 2
parentToCaster: 0
scaleMultiplier: 3
autoPlay: 1
loop: 0

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: f7a3b2c1d4e50968abcdef0123456789
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -10,7 +10,7 @@ MonoBehaviour:
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 58efb3c775496fa40b801b21127a011e, type: 3}
m_Name: Data_SkillEffect_Player_\uD55C\uC190_\uB9C8\uBC95\uD754\uB450\uB824\uAE30_0_\uB370\uBBF8\uC9C0
m_Name: "Data_SkillEffect_Player_\uD55C\uC190_\uB9C8\uBC95\uD718\uB450\uB974\uAE30_0_\uB370\uBBF8\uC9C0"
m_EditorClassIdentifier: Colosseum.Game::Colosseum.Skills.Effects.DamageEffect
targetType: 1
targetTeam: 0
@@ -19,6 +19,7 @@ MonoBehaviour:
targetLayers:
serializedVersion: 2
m_Bits: 4294967295
includeCasterInArea: 0
areaRadius: 3
fanOriginDistance: 0
fanRadius: 3