WL #954 PD 지시 5건 — ① 활 1·2타 모션 = Archer Warrior 팩 RangeAttack1(활 당기기 · 서브클립 BowShot1/2_S · 발사 0.72 · 이전 FR_Bow0 = 크로스보우 느낌) ② 비수 3타 이펙트 = Slash Effects FREE 「Shiny Slash」 사본 WL_Impact_DaggerSpin(PC 중심 수평 고리 · 배율 1.75 · 녹색 tint 재질 사본) ③ 비수 궤적 녹색 계열 + 3타 모션 = 원본 DualBlades_Attack3(점프 자세 Ninja Attack3 제거 · 이펙트 0.10 · 타격 0.25) ④ 비수 주력 = 「Multiple Slash 2」 사본 WL_Fx_DaggerMulti(원본 베기 렌더러 끔 · 0.5 s · 정면 1.2 m) ⑤ 각성 착지 = 0.5 m · 낙하 0.15 · 전체 0.45 s · 낙하 중 반투명 착지 자세 잔상 + 모델 숨김 → 착지 순간 모델·잔상 2·먼지 · 랜딩 중 공격 금지(IsLanding) · WLImpactFx 설정 Play 마다 재로드
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
parent
e1da2ad360
commit
e043fcf1c0
|
|
@ -1,7 +1,7 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 326202b2343de92418b4d103b1460e35
|
||||
ModelImporter:
|
||||
serializedVersion: 22200
|
||||
serializedVersion: 24300
|
||||
internalIDToNameTable:
|
||||
- first:
|
||||
1: 100000
|
||||
|
|
@ -513,6 +513,7 @@ ModelImporter:
|
|||
materialName: 0
|
||||
materialSearch: 1
|
||||
materialLocation: 0
|
||||
searchTexturesGlobally: 1
|
||||
animations:
|
||||
legacyGenerateAnimations: 4
|
||||
bakeSimulation: 0
|
||||
|
|
@ -520,8 +521,6 @@ ModelImporter:
|
|||
optimizeGameObjects: 0
|
||||
removeConstantScaleCurves: 0
|
||||
motionNodeName: Motion
|
||||
rigImportErrors:
|
||||
rigImportWarnings:
|
||||
animationImportErrors:
|
||||
animationImportWarnings:
|
||||
animationRetargetingWarnings:
|
||||
|
|
@ -680,6 +679,178 @@ ModelImporter:
|
|||
maskType: 0
|
||||
maskSource: {fileID: 101100000, guid: 98e3a59f0df1fa647b89e5370cd555bb, type: 2}
|
||||
additiveReferencePoseFrame: 0
|
||||
- serializedVersion: 16
|
||||
name: BowShot1_S_10402
|
||||
takeName: Take 001
|
||||
internalID: 1827226128182048838
|
||||
firstFrame: 0
|
||||
lastFrame: 20
|
||||
wrapMode: 0
|
||||
orientationOffsetY: 0
|
||||
level: 0
|
||||
cycleOffset: 0
|
||||
loop: 0
|
||||
hasAdditiveReferencePose: 0
|
||||
loopTime: 0
|
||||
loopBlend: 0
|
||||
loopBlendOrientation: 1
|
||||
loopBlendPositionY: 1
|
||||
loopBlendPositionXZ: 0
|
||||
keepOriginalOrientation: 1
|
||||
keepOriginalPositionY: 1
|
||||
keepOriginalPositionXZ: 1
|
||||
heightFromFeet: 0
|
||||
mirror: 0
|
||||
bodyMask: 01000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000
|
||||
curves: []
|
||||
events:
|
||||
- time: 0
|
||||
functionName: LookAtTarget
|
||||
data:
|
||||
objectReferenceParameter: {instanceID: 0}
|
||||
floatParameter: 0
|
||||
intParameter: 0
|
||||
messageOptions: 0
|
||||
- time: 0.72
|
||||
functionName: Projectile
|
||||
data: Projectile_10402
|
||||
objectReferenceParameter: {instanceID: 0}
|
||||
floatParameter: 0
|
||||
intParameter: 0
|
||||
messageOptions: 0
|
||||
transformMask: []
|
||||
maskType: 0
|
||||
maskSource: {instanceID: 0}
|
||||
additiveReferencePoseFrame: 0
|
||||
- serializedVersion: 16
|
||||
name: BowShot2_S_10402
|
||||
takeName: Take 001
|
||||
internalID: -998496362607748373
|
||||
firstFrame: 0
|
||||
lastFrame: 20
|
||||
wrapMode: 0
|
||||
orientationOffsetY: 0
|
||||
level: 0
|
||||
cycleOffset: 0
|
||||
loop: 0
|
||||
hasAdditiveReferencePose: 0
|
||||
loopTime: 0
|
||||
loopBlend: 0
|
||||
loopBlendOrientation: 1
|
||||
loopBlendPositionY: 1
|
||||
loopBlendPositionXZ: 0
|
||||
keepOriginalOrientation: 1
|
||||
keepOriginalPositionY: 1
|
||||
keepOriginalPositionXZ: 1
|
||||
heightFromFeet: 0
|
||||
mirror: 0
|
||||
bodyMask: 01000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000
|
||||
curves: []
|
||||
events:
|
||||
- time: 0
|
||||
functionName: LookAtTarget
|
||||
data:
|
||||
objectReferenceParameter: {instanceID: 0}
|
||||
floatParameter: 0
|
||||
intParameter: 0
|
||||
messageOptions: 0
|
||||
- time: 0.72
|
||||
functionName: Projectile
|
||||
data: Projectile_10402
|
||||
objectReferenceParameter: {instanceID: 0}
|
||||
floatParameter: 0
|
||||
intParameter: 0
|
||||
messageOptions: 0
|
||||
transformMask: []
|
||||
maskType: 0
|
||||
maskSource: {instanceID: 0}
|
||||
additiveReferencePoseFrame: 0
|
||||
- serializedVersion: 16
|
||||
name: BowShot1_S_10401
|
||||
takeName: Take 001
|
||||
internalID: 3060872287085348379
|
||||
firstFrame: 0
|
||||
lastFrame: 20
|
||||
wrapMode: 0
|
||||
orientationOffsetY: 0
|
||||
level: 0
|
||||
cycleOffset: 0
|
||||
loop: 0
|
||||
hasAdditiveReferencePose: 0
|
||||
loopTime: 0
|
||||
loopBlend: 0
|
||||
loopBlendOrientation: 1
|
||||
loopBlendPositionY: 1
|
||||
loopBlendPositionXZ: 0
|
||||
keepOriginalOrientation: 1
|
||||
keepOriginalPositionY: 1
|
||||
keepOriginalPositionXZ: 1
|
||||
heightFromFeet: 0
|
||||
mirror: 0
|
||||
bodyMask: 01000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000
|
||||
curves: []
|
||||
events:
|
||||
- time: 0
|
||||
functionName: LookAtTarget
|
||||
data:
|
||||
objectReferenceParameter: {instanceID: 0}
|
||||
floatParameter: 0
|
||||
intParameter: 0
|
||||
messageOptions: 0
|
||||
- time: 0.72
|
||||
functionName: Projectile
|
||||
data: Projectile_10401
|
||||
objectReferenceParameter: {instanceID: 0}
|
||||
floatParameter: 0
|
||||
intParameter: 0
|
||||
messageOptions: 0
|
||||
transformMask: []
|
||||
maskType: 0
|
||||
maskSource: {instanceID: 0}
|
||||
additiveReferencePoseFrame: 0
|
||||
- serializedVersion: 16
|
||||
name: BowShot2_S_10401
|
||||
takeName: Take 001
|
||||
internalID: 6641085478485924818
|
||||
firstFrame: 0
|
||||
lastFrame: 20
|
||||
wrapMode: 0
|
||||
orientationOffsetY: 0
|
||||
level: 0
|
||||
cycleOffset: 0
|
||||
loop: 0
|
||||
hasAdditiveReferencePose: 0
|
||||
loopTime: 0
|
||||
loopBlend: 0
|
||||
loopBlendOrientation: 1
|
||||
loopBlendPositionY: 1
|
||||
loopBlendPositionXZ: 0
|
||||
keepOriginalOrientation: 1
|
||||
keepOriginalPositionY: 1
|
||||
keepOriginalPositionXZ: 1
|
||||
heightFromFeet: 0
|
||||
mirror: 0
|
||||
bodyMask: 01000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000
|
||||
curves: []
|
||||
events:
|
||||
- time: 0
|
||||
functionName: LookAtTarget
|
||||
data:
|
||||
objectReferenceParameter: {instanceID: 0}
|
||||
floatParameter: 0
|
||||
intParameter: 0
|
||||
messageOptions: 0
|
||||
- time: 0.72
|
||||
functionName: Projectile
|
||||
data: Projectile_10401
|
||||
objectReferenceParameter: {instanceID: 0}
|
||||
floatParameter: 0
|
||||
intParameter: 0
|
||||
messageOptions: 0
|
||||
transformMask: []
|
||||
maskType: 0
|
||||
maskSource: {instanceID: 0}
|
||||
additiveReferencePoseFrame: 0
|
||||
isReadable: 1
|
||||
meshes:
|
||||
lODScreenPercentages: []
|
||||
|
|
@ -706,6 +877,9 @@ ModelImporter:
|
|||
maxBonesPerVertex: 4
|
||||
minBoneWeight: 0.001
|
||||
optimizeBones: 1
|
||||
generateMeshLods: 0
|
||||
meshLodGenerationFlags: 0
|
||||
maximumMeshLod: -1
|
||||
meshOptimizationFlags: 0
|
||||
indexFormat: 0
|
||||
secondaryUVAngleDistortion: 8
|
||||
|
|
@ -1217,7 +1391,8 @@ ModelImporter:
|
|||
- name: B_Spine1
|
||||
parentName:
|
||||
position: {x: -0.2152304, y: -0.00023167043, z: -4.216225e-10}
|
||||
rotation: {x: 0.000000029802315, y: 0.000000029802312, z: 0.000000029802326, w: 1}
|
||||
rotation: {x: 0.000000029802315, y: 0.000000029802312, z: 0.000000029802326,
|
||||
w: 1}
|
||||
scale: {x: 1, y: 1, z: 1}
|
||||
- name: B_L_Clavicle
|
||||
parentName:
|
||||
|
|
@ -1322,7 +1497,8 @@ ModelImporter:
|
|||
- name: B_Head
|
||||
parentName:
|
||||
position: {x: -0.12820907, y: -0.000000020861625, z: 2.842171e-16}
|
||||
rotation: {x: 0.000000029802305, y: 0.000000029802301, z: 0.000000029802344, w: 1}
|
||||
rotation: {x: 0.000000029802305, y: 0.000000029802301, z: 0.000000029802344,
|
||||
w: 1}
|
||||
scale: {x: 1, y: 1, z: 0.9999999}
|
||||
- name: B_R_Clavicle
|
||||
parentName:
|
||||
|
|
@ -1431,7 +1607,8 @@ ModelImporter:
|
|||
hasTranslationDoF: 0
|
||||
hasExtraRoot: 0
|
||||
skeletonHasParents: 0
|
||||
lastHumanDescriptionAvatarSource: {fileID: 9000000, guid: 6113d0ea44252774db53fa756483807d, type: 3}
|
||||
lastHumanDescriptionAvatarSource: {fileID: 9000000, guid: 6113d0ea44252774db53fa756483807d,
|
||||
type: 3}
|
||||
autoGenerateAvatarMappingIfUnspecified: 1
|
||||
animationType: 3
|
||||
humanoidOversampling: 1
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
fileFormatVersion: 2
|
||||
guid: afbbfbe54e2f6d242983469698b3aac3
|
||||
ModelImporter:
|
||||
serializedVersion: 22200
|
||||
serializedVersion: 24300
|
||||
internalIDToNameTable:
|
||||
- first:
|
||||
1: 100000
|
||||
|
|
@ -339,6 +339,7 @@ ModelImporter:
|
|||
materialName: 0
|
||||
materialSearch: 1
|
||||
materialLocation: 1
|
||||
searchTexturesGlobally: 1
|
||||
animations:
|
||||
legacyGenerateAnimations: 4
|
||||
bakeSimulation: 0
|
||||
|
|
@ -346,8 +347,6 @@ ModelImporter:
|
|||
optimizeGameObjects: 0
|
||||
removeConstantScaleCurves: 0
|
||||
motionNodeName:
|
||||
rigImportErrors:
|
||||
rigImportWarnings:
|
||||
animationImportErrors:
|
||||
animationImportWarnings:
|
||||
animationRetargetingWarnings:
|
||||
|
|
@ -419,6 +418,63 @@ ModelImporter:
|
|||
maskType: 3
|
||||
maskSource: {instanceID: 0}
|
||||
additiveReferencePoseFrame: 0
|
||||
- serializedVersion: 16
|
||||
name: Attack3_S_10202
|
||||
takeName: Take 001
|
||||
internalID: 1827226128182048838
|
||||
firstFrame: 0
|
||||
lastFrame: 35
|
||||
wrapMode: 0
|
||||
orientationOffsetY: 0
|
||||
level: 0
|
||||
cycleOffset: 0
|
||||
loop: 0
|
||||
hasAdditiveReferencePose: 0
|
||||
loopTime: 1
|
||||
loopBlend: 0
|
||||
loopBlendOrientation: 1
|
||||
loopBlendPositionY: 1
|
||||
loopBlendPositionXZ: 0
|
||||
keepOriginalOrientation: 1
|
||||
keepOriginalPositionY: 1
|
||||
keepOriginalPositionXZ: 1
|
||||
heightFromFeet: 0
|
||||
mirror: 0
|
||||
bodyMask: 01000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000
|
||||
curves: []
|
||||
events:
|
||||
- time: 0
|
||||
functionName: LookAtTarget
|
||||
data:
|
||||
objectReferenceParameter: {instanceID: 0}
|
||||
floatParameter: 0
|
||||
intParameter: 0
|
||||
messageOptions: 0
|
||||
- time: 0.1
|
||||
functionName: ShowEffect
|
||||
data: Effect_Slash_10202_3
|
||||
objectReferenceParameter: {instanceID: 0}
|
||||
floatParameter: 0
|
||||
intParameter: 1
|
||||
messageOptions: 0
|
||||
- time: 0.14
|
||||
functionName: Move
|
||||
data:
|
||||
objectReferenceParameter: {instanceID: 0}
|
||||
floatParameter: 0.2
|
||||
intParameter: 0
|
||||
messageOptions: 0
|
||||
- time: 0.25
|
||||
functionName: Projectile
|
||||
data: Projectile_10202
|
||||
objectReferenceParameter: {instanceID: 0}
|
||||
floatParameter: 0
|
||||
intParameter: 0
|
||||
messageOptions: 0
|
||||
transformMask: []
|
||||
maskType: 3
|
||||
maskSource: {instanceID: 0}
|
||||
additiveReferencePoseFrame: 0
|
||||
isReadable: 0
|
||||
meshes:
|
||||
lODScreenPercentages: []
|
||||
|
|
@ -445,6 +501,9 @@ ModelImporter:
|
|||
maxBonesPerVertex: 4
|
||||
minBoneWeight: 0.001
|
||||
optimizeBones: 1
|
||||
generateMeshLods: 0
|
||||
meshLodGenerationFlags: 0
|
||||
maximumMeshLod: -1
|
||||
meshOptimizationFlags: -1
|
||||
indexFormat: 0
|
||||
secondaryUVAngleDistortion: 8
|
||||
|
|
|
|||
|
|
@ -278,7 +278,8 @@ AnimatorState:
|
|||
m_MirrorParameterActive: 0
|
||||
m_CycleOffsetParameterActive: 0
|
||||
m_TimeParameterActive: 0
|
||||
m_Motion: {fileID: 7400000, guid: 49309bb44028b7d46955d1e9e5b36799, type: 2}
|
||||
m_Motion: {fileID: 1827226128182048838, guid: 326202b2343de92418b4d103b1460e35,
|
||||
type: 3}
|
||||
m_Tag:
|
||||
m_SpeedParameter:
|
||||
m_MirrorParameter:
|
||||
|
|
@ -2992,7 +2993,8 @@ AnimatorState:
|
|||
m_MirrorParameterActive: 0
|
||||
m_CycleOffsetParameterActive: 0
|
||||
m_TimeParameterActive: 0
|
||||
m_Motion: {fileID: 7400000, guid: 7f66eefcaa833114f99e5b86a341f31b, type: 2}
|
||||
m_Motion: {fileID: -998496362607748373, guid: 326202b2343de92418b4d103b1460e35,
|
||||
type: 3}
|
||||
m_Tag:
|
||||
m_SpeedParameter:
|
||||
m_MirrorParameter:
|
||||
|
|
|
|||
|
|
@ -369,7 +369,7 @@ AnimatorState:
|
|||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: DualBlades_Attack3
|
||||
m_Speed: 1.3
|
||||
m_Speed: 1.2
|
||||
m_CycleOffset: 0
|
||||
m_Transitions:
|
||||
- {fileID: 2757370606414768772}
|
||||
|
|
@ -382,7 +382,7 @@ AnimatorState:
|
|||
m_MirrorParameterActive: 0
|
||||
m_CycleOffsetParameterActive: 0
|
||||
m_TimeParameterActive: 0
|
||||
m_Motion: {fileID: 1827226128182048838, guid: d13058de2c92ec0429764bd9879ae7b8,
|
||||
m_Motion: {fileID: 1827226128182048838, guid: afbbfbe54e2f6d242983469698b3aac3,
|
||||
type: 3}
|
||||
m_Tag:
|
||||
m_SpeedParameter:
|
||||
|
|
|
|||
|
|
@ -188,7 +188,8 @@ AnimatorState:
|
|||
m_MirrorParameterActive: 0
|
||||
m_CycleOffsetParameterActive: 0
|
||||
m_TimeParameterActive: 0
|
||||
m_Motion: {fileID: 7400000, guid: 6f2703b45c03b374bba82eb0efa0f731, type: 2}
|
||||
m_Motion: {fileID: 3060872287085348379, guid: 326202b2343de92418b4d103b1460e35,
|
||||
type: 3}
|
||||
m_Tag:
|
||||
m_SpeedParameter:
|
||||
m_MirrorParameter:
|
||||
|
|
@ -2377,7 +2378,8 @@ AnimatorState:
|
|||
m_MirrorParameterActive: 0
|
||||
m_CycleOffsetParameterActive: 0
|
||||
m_TimeParameterActive: 0
|
||||
m_Motion: {fileID: 7400000, guid: 89213433df6d9db4db4ab02631c6c5b9, type: 2}
|
||||
m_Motion: {fileID: 6641085478485924818, guid: 326202b2343de92418b4d103b1460e35,
|
||||
type: 3}
|
||||
m_Tag:
|
||||
m_SpeedParameter:
|
||||
m_MirrorParameter:
|
||||
|
|
|
|||
|
|
@ -570,14 +570,14 @@ MonoBehaviour:
|
|||
intParameter: 0
|
||||
floatParameter: 0
|
||||
- stateName: DualBlades_Attack3
|
||||
sourceFbxPath: Assets/ExplosiveLLC/Ninja Warrior Mecanim Animation Pack/Animations/Ninja@Attack3_S.FBX
|
||||
sourceFbxPath: Assets/Res_Addr/Animations/Animation/Assassin/Stander@DualBlades_Attack3.FBX
|
||||
subClipName: Attack3_S_{CID}
|
||||
sourceClipName:
|
||||
incomingExitTime: 0.5
|
||||
createIfMissing: 0
|
||||
firstFrame: -1
|
||||
lastFrame: -1
|
||||
speed: 1.3
|
||||
speed: 1.2
|
||||
events:
|
||||
- functionName: LookAtTarget
|
||||
time: 0
|
||||
|
|
@ -589,21 +589,21 @@ MonoBehaviour:
|
|||
- functionName: ShowEffect
|
||||
time: 0
|
||||
useNormalized: 1
|
||||
normalizedTime: 0.083
|
||||
normalizedTime: 0.1
|
||||
stringParameter: Effect_Slash_{CID}_3
|
||||
intParameter: 1
|
||||
floatParameter: 0
|
||||
- functionName: Move
|
||||
time: 0
|
||||
useNormalized: 1
|
||||
normalizedTime: 0.14299999
|
||||
normalizedTime: 0.14
|
||||
stringParameter:
|
||||
intParameter: 0
|
||||
floatParameter: 0.2
|
||||
- functionName: Projectile
|
||||
time: 0
|
||||
useNormalized: 1
|
||||
normalizedTime: 0.203
|
||||
normalizedTime: 0.25
|
||||
stringParameter: Projectile_{CID}
|
||||
intParameter: 0
|
||||
floatParameter: 0
|
||||
|
|
@ -775,9 +775,9 @@ MonoBehaviour:
|
|||
enabled: 1
|
||||
states:
|
||||
- stateName: attack
|
||||
sourceFbxPath: Assets/WL/Combat/Anim/FR/FR_Bow0.anim
|
||||
subClipName: FR_Bow1_{CID}
|
||||
sourceClipName:
|
||||
sourceFbxPath: Assets/ExplosiveLLC/Archer Warrior Mecanim Animation Pack/Animations/Archer@RangeAttack1.FBX
|
||||
subClipName: BowShot1_S_{CID}
|
||||
sourceClipName:
|
||||
incomingExitTime: 0
|
||||
createIfMissing: 0
|
||||
firstFrame: -1
|
||||
|
|
@ -788,20 +788,20 @@ MonoBehaviour:
|
|||
time: 0
|
||||
useNormalized: 1
|
||||
normalizedTime: 0
|
||||
stringParameter:
|
||||
stringParameter:
|
||||
intParameter: 0
|
||||
floatParameter: 0
|
||||
- functionName: Projectile
|
||||
time: 0
|
||||
useNormalized: 1
|
||||
normalizedTime: 0.92
|
||||
normalizedTime: 0.72
|
||||
stringParameter: Projectile_{CID}
|
||||
intParameter: 0
|
||||
floatParameter: 0
|
||||
- stateName: Bow_Attack2
|
||||
sourceFbxPath: Assets/WL/Combat/Anim/FR/FR_Bow0.anim
|
||||
subClipName: FR_Bow2_{CID}
|
||||
sourceClipName:
|
||||
sourceFbxPath: Assets/ExplosiveLLC/Archer Warrior Mecanim Animation Pack/Animations/Archer@RangeAttack1.FBX
|
||||
subClipName: BowShot2_S_{CID}
|
||||
sourceClipName:
|
||||
incomingExitTime: 0.98
|
||||
createIfMissing: 0
|
||||
firstFrame: -1
|
||||
|
|
@ -812,13 +812,13 @@ MonoBehaviour:
|
|||
time: 0
|
||||
useNormalized: 1
|
||||
normalizedTime: 0
|
||||
stringParameter:
|
||||
stringParameter:
|
||||
intParameter: 0
|
||||
floatParameter: 0
|
||||
- functionName: Projectile
|
||||
time: 0
|
||||
useNormalized: 1
|
||||
normalizedTime: 0.92
|
||||
normalizedTime: 0.72
|
||||
stringParameter: Projectile_{CID}
|
||||
intParameter: 0
|
||||
floatParameter: 0
|
||||
|
|
@ -860,9 +860,9 @@ MonoBehaviour:
|
|||
enabled: 1
|
||||
states:
|
||||
- stateName: attack
|
||||
sourceFbxPath: Assets/WL/Combat/Anim/FR/FR_Bow0.anim
|
||||
subClipName: FR_Bow1_{CID}
|
||||
sourceClipName:
|
||||
sourceFbxPath: Assets/ExplosiveLLC/Archer Warrior Mecanim Animation Pack/Animations/Archer@RangeAttack1.FBX
|
||||
subClipName: BowShot1_S_{CID}
|
||||
sourceClipName:
|
||||
incomingExitTime: 0
|
||||
createIfMissing: 0
|
||||
firstFrame: -1
|
||||
|
|
@ -873,20 +873,20 @@ MonoBehaviour:
|
|||
time: 0
|
||||
useNormalized: 1
|
||||
normalizedTime: 0
|
||||
stringParameter:
|
||||
stringParameter:
|
||||
intParameter: 0
|
||||
floatParameter: 0
|
||||
- functionName: Projectile
|
||||
time: 0
|
||||
useNormalized: 1
|
||||
normalizedTime: 0.92
|
||||
normalizedTime: 0.72
|
||||
stringParameter: Projectile_{CID}
|
||||
intParameter: 0
|
||||
floatParameter: 0
|
||||
- stateName: Bow_Attack2
|
||||
sourceFbxPath: Assets/WL/Combat/Anim/FR/FR_Bow0.anim
|
||||
subClipName: FR_Bow2_{CID}
|
||||
sourceClipName:
|
||||
sourceFbxPath: Assets/ExplosiveLLC/Archer Warrior Mecanim Animation Pack/Animations/Archer@RangeAttack1.FBX
|
||||
subClipName: BowShot2_S_{CID}
|
||||
sourceClipName:
|
||||
incomingExitTime: 0.98
|
||||
createIfMissing: 0
|
||||
firstFrame: -1
|
||||
|
|
@ -897,13 +897,13 @@ MonoBehaviour:
|
|||
time: 0
|
||||
useNormalized: 1
|
||||
normalizedTime: 0
|
||||
stringParameter:
|
||||
stringParameter:
|
||||
intParameter: 0
|
||||
floatParameter: 0
|
||||
- functionName: Projectile
|
||||
time: 0
|
||||
useNormalized: 1
|
||||
normalizedTime: 0.92
|
||||
normalizedTime: 0.72
|
||||
stringParameter: Projectile_{CID}
|
||||
intParameter: 0
|
||||
floatParameter: 0
|
||||
|
|
|
|||
|
|
@ -0,0 +1,8 @@
|
|||
fileFormatVersion: 2
|
||||
guid: c30aed3bcd63fbf4cb1ef953b048620d
|
||||
folderAsset: yes
|
||||
DefaultImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
|
@ -0,0 +1,106 @@
|
|||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!21 &2100000
|
||||
Material:
|
||||
serializedVersion: 8
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: WL_Mat_Fx_DaggerMulti_Shiny
|
||||
m_Shader: {fileID: 211, guid: 0000000000000000f000000000000000, type: 0}
|
||||
m_Parent: {fileID: 0}
|
||||
m_ModifiedSerializedProperties: 0
|
||||
m_ValidKeywords:
|
||||
- _ALPHABLEND_ON
|
||||
m_InvalidKeywords: []
|
||||
m_LightmapFlags: 0
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: 3000
|
||||
stringTagMap:
|
||||
RenderType: Transparent
|
||||
disabledShaderPasses:
|
||||
- GRABPASS
|
||||
m_LockedProperties:
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- _BumpMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailAlbedoMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailMask:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailNormalMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _EmissionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MainTex:
|
||||
m_Texture: {fileID: 2800000, guid: d7bdd1a257792d64e945309f1335af1b, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MetallicGlossMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _OcclusionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ParallaxMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Ints: []
|
||||
m_Floats:
|
||||
- _BlendOp: 0
|
||||
- _BumpScale: 1
|
||||
- _CameraFadingEnabled: 0
|
||||
- _CameraFarFadeDistance: 2
|
||||
- _CameraNearFadeDistance: 1
|
||||
- _ColorMode: 0
|
||||
- _Cull: 2
|
||||
- _Cutoff: 0.5
|
||||
- _DetailNormalMapScale: 1
|
||||
- _DistortionBlend: 0.5
|
||||
- _DistortionEnabled: 0
|
||||
- _DistortionStrength: 1
|
||||
- _DistortionStrengthScaled: 0
|
||||
- _DstBlend: 10
|
||||
- _EmissionEnabled: 0
|
||||
- _FlipbookMode: 0
|
||||
- _GlossMapScale: 1
|
||||
- _Glossiness: 0.5
|
||||
- _GlossyReflections: 1
|
||||
- _LightingEnabled: 0
|
||||
- _Metallic: 0
|
||||
- _Mode: 2
|
||||
- _OcclusionStrength: 1
|
||||
- _Parallax: 0.02
|
||||
- _SmoothnessTextureChannel: 0
|
||||
- _SoftParticlesEnabled: 0
|
||||
- _SoftParticlesFarFadeDistance: 1
|
||||
- _SoftParticlesNearFadeDistance: 0
|
||||
- _SpecularHighlights: 1
|
||||
- _SrcBlend: 5
|
||||
- _UVSec: 0
|
||||
- _ZWrite: 0
|
||||
m_Colors:
|
||||
- _CameraFadeParams: {r: 0, g: Infinity, b: 0, a: 0}
|
||||
- _Color: {r: 1.3, g: 1.3, b: 1.3, a: 1}
|
||||
- _ColorAddSubDiff: {r: 0, g: 0, b: 0, a: 0}
|
||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
- _SoftParticleFadeParams: {r: 0, g: 0, b: 0, a: 0}
|
||||
m_BuildTextureStacks: []
|
||||
m_AllowLocking: 1
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 8e6beb30aa09dd749a99d0840ae4d461
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 2100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
|
@ -0,0 +1,106 @@
|
|||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!21 &2100000
|
||||
Material:
|
||||
serializedVersion: 8
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: WL_Mat_Fx_DaggerMulti_Slash
|
||||
m_Shader: {fileID: 211, guid: 0000000000000000f000000000000000, type: 0}
|
||||
m_Parent: {fileID: 0}
|
||||
m_ModifiedSerializedProperties: 0
|
||||
m_ValidKeywords:
|
||||
- _ALPHABLEND_ON
|
||||
m_InvalidKeywords: []
|
||||
m_LightmapFlags: 0
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: 3000
|
||||
stringTagMap:
|
||||
RenderType: Transparent
|
||||
disabledShaderPasses:
|
||||
- GRABPASS
|
||||
m_LockedProperties:
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- _BumpMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailAlbedoMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailMask:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailNormalMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _EmissionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MainTex:
|
||||
m_Texture: {fileID: 2800000, guid: db8918f74a0e0364ab3b43f13a6acda0, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MetallicGlossMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _OcclusionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ParallaxMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Ints: []
|
||||
m_Floats:
|
||||
- _BlendOp: 0
|
||||
- _BumpScale: 1
|
||||
- _CameraFadingEnabled: 0
|
||||
- _CameraFarFadeDistance: 2
|
||||
- _CameraNearFadeDistance: 1
|
||||
- _ColorMode: 0
|
||||
- _Cull: 0
|
||||
- _Cutoff: 0.5
|
||||
- _DetailNormalMapScale: 1
|
||||
- _DistortionBlend: 0.5
|
||||
- _DistortionEnabled: 0
|
||||
- _DistortionStrength: 1
|
||||
- _DistortionStrengthScaled: 0
|
||||
- _DstBlend: 10
|
||||
- _EmissionEnabled: 0
|
||||
- _FlipbookMode: 0
|
||||
- _GlossMapScale: 1
|
||||
- _Glossiness: 0.5
|
||||
- _GlossyReflections: 1
|
||||
- _LightingEnabled: 0
|
||||
- _Metallic: 0
|
||||
- _Mode: 2
|
||||
- _OcclusionStrength: 1
|
||||
- _Parallax: 0.02
|
||||
- _SmoothnessTextureChannel: 0
|
||||
- _SoftParticlesEnabled: 0
|
||||
- _SoftParticlesFarFadeDistance: 1
|
||||
- _SoftParticlesNearFadeDistance: 0
|
||||
- _SpecularHighlights: 1
|
||||
- _SrcBlend: 5
|
||||
- _UVSec: 0
|
||||
- _ZWrite: 0
|
||||
m_Colors:
|
||||
- _CameraFadeParams: {r: 0, g: Infinity, b: 0, a: 0}
|
||||
- _Color: {r: 1.3, g: 1.3, b: 1.3, a: 1}
|
||||
- _ColorAddSubDiff: {r: 0, g: 0, b: 0, a: 0}
|
||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
- _SoftParticleFadeParams: {r: 0, g: 0, b: 0, a: 0}
|
||||
m_BuildTextureStacks: []
|
||||
m_AllowLocking: 1
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
fileFormatVersion: 2
|
||||
guid: bf638850d6c4d8342b4b030c82944736
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 2100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
|
@ -0,0 +1,106 @@
|
|||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!21 &2100000
|
||||
Material:
|
||||
serializedVersion: 8
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: WL_Mat_Fx_DaggerMulti_Slash_turn
|
||||
m_Shader: {fileID: 211, guid: 0000000000000000f000000000000000, type: 0}
|
||||
m_Parent: {fileID: 0}
|
||||
m_ModifiedSerializedProperties: 0
|
||||
m_ValidKeywords:
|
||||
- _ALPHABLEND_ON
|
||||
m_InvalidKeywords: []
|
||||
m_LightmapFlags: 0
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: 3000
|
||||
stringTagMap:
|
||||
RenderType: Transparent
|
||||
disabledShaderPasses:
|
||||
- GRABPASS
|
||||
m_LockedProperties:
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- _BumpMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailAlbedoMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailMask:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailNormalMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _EmissionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MainTex:
|
||||
m_Texture: {fileID: 2800000, guid: 3e2f732e64ac3294590ad63c172d62f9, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MetallicGlossMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _OcclusionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ParallaxMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Ints: []
|
||||
m_Floats:
|
||||
- _BlendOp: 0
|
||||
- _BumpScale: 1
|
||||
- _CameraFadingEnabled: 0
|
||||
- _CameraFarFadeDistance: 2
|
||||
- _CameraNearFadeDistance: 1
|
||||
- _ColorMode: 0
|
||||
- _Cull: 0
|
||||
- _Cutoff: 0.5
|
||||
- _DetailNormalMapScale: 1
|
||||
- _DistortionBlend: 0.5
|
||||
- _DistortionEnabled: 0
|
||||
- _DistortionStrength: 1
|
||||
- _DistortionStrengthScaled: 0
|
||||
- _DstBlend: 10
|
||||
- _EmissionEnabled: 0
|
||||
- _FlipbookMode: 0
|
||||
- _GlossMapScale: 1
|
||||
- _Glossiness: 0.5
|
||||
- _GlossyReflections: 1
|
||||
- _LightingEnabled: 0
|
||||
- _Metallic: 0
|
||||
- _Mode: 2
|
||||
- _OcclusionStrength: 1
|
||||
- _Parallax: 0.02
|
||||
- _SmoothnessTextureChannel: 0
|
||||
- _SoftParticlesEnabled: 0
|
||||
- _SoftParticlesFarFadeDistance: 1
|
||||
- _SoftParticlesNearFadeDistance: 0
|
||||
- _SpecularHighlights: 1
|
||||
- _SrcBlend: 5
|
||||
- _UVSec: 0
|
||||
- _ZWrite: 0
|
||||
m_Colors:
|
||||
- _CameraFadeParams: {r: 0, g: Infinity, b: 0, a: 0}
|
||||
- _Color: {r: 1.3, g: 1.3, b: 1.3, a: 1}
|
||||
- _ColorAddSubDiff: {r: 0, g: 0, b: 0, a: 0}
|
||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
- _SoftParticleFadeParams: {r: 0, g: 0, b: 0, a: 0}
|
||||
m_BuildTextureStacks: []
|
||||
m_AllowLocking: 1
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 57549874941670b4aadfdbda77559b5c
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 2100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
|
@ -0,0 +1,106 @@
|
|||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!21 &2100000
|
||||
Material:
|
||||
serializedVersion: 8
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: WL_Mat_Impact_DaggerSpin_Slash
|
||||
m_Shader: {fileID: 211, guid: 0000000000000000f000000000000000, type: 0}
|
||||
m_Parent: {fileID: 0}
|
||||
m_ModifiedSerializedProperties: 0
|
||||
m_ValidKeywords:
|
||||
- _ALPHABLEND_ON
|
||||
m_InvalidKeywords: []
|
||||
m_LightmapFlags: 0
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: 3000
|
||||
stringTagMap:
|
||||
RenderType: Transparent
|
||||
disabledShaderPasses:
|
||||
- GRABPASS
|
||||
m_LockedProperties:
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- _BumpMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailAlbedoMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailMask:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailNormalMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _EmissionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MainTex:
|
||||
m_Texture: {fileID: 2800000, guid: db8918f74a0e0364ab3b43f13a6acda0, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MetallicGlossMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _OcclusionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ParallaxMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Ints: []
|
||||
m_Floats:
|
||||
- _BlendOp: 0
|
||||
- _BumpScale: 1
|
||||
- _CameraFadingEnabled: 0
|
||||
- _CameraFarFadeDistance: 2
|
||||
- _CameraNearFadeDistance: 1
|
||||
- _ColorMode: 0
|
||||
- _Cull: 0
|
||||
- _Cutoff: 0.5
|
||||
- _DetailNormalMapScale: 1
|
||||
- _DistortionBlend: 0.5
|
||||
- _DistortionEnabled: 0
|
||||
- _DistortionStrength: 1
|
||||
- _DistortionStrengthScaled: 0
|
||||
- _DstBlend: 10
|
||||
- _EmissionEnabled: 0
|
||||
- _FlipbookMode: 0
|
||||
- _GlossMapScale: 1
|
||||
- _Glossiness: 0.5
|
||||
- _GlossyReflections: 1
|
||||
- _LightingEnabled: 0
|
||||
- _Metallic: 0
|
||||
- _Mode: 2
|
||||
- _OcclusionStrength: 1
|
||||
- _Parallax: 0.02
|
||||
- _SmoothnessTextureChannel: 0
|
||||
- _SoftParticlesEnabled: 0
|
||||
- _SoftParticlesFarFadeDistance: 1
|
||||
- _SoftParticlesNearFadeDistance: 0
|
||||
- _SpecularHighlights: 1
|
||||
- _SrcBlend: 5
|
||||
- _UVSec: 0
|
||||
- _ZWrite: 0
|
||||
m_Colors:
|
||||
- _CameraFadeParams: {r: 0, g: Infinity, b: 0, a: 0}
|
||||
- _Color: {r: 1.3, g: 1.3, b: 1.3, a: 1}
|
||||
- _ColorAddSubDiff: {r: 0, g: 0, b: 0, a: 0}
|
||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
- _SoftParticleFadeParams: {r: 0, g: 0, b: 0, a: 0}
|
||||
m_BuildTextureStacks: []
|
||||
m_AllowLocking: 1
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 0ae488554cc8afe409cd895ce2a3118a
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 2100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
|
@ -0,0 +1,106 @@
|
|||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!21 &2100000
|
||||
Material:
|
||||
serializedVersion: 8
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: WL_Mat_Impact_DaggerSpin_Stars
|
||||
m_Shader: {fileID: 211, guid: 0000000000000000f000000000000000, type: 0}
|
||||
m_Parent: {fileID: 0}
|
||||
m_ModifiedSerializedProperties: 0
|
||||
m_ValidKeywords:
|
||||
- _ALPHABLEND_ON
|
||||
m_InvalidKeywords: []
|
||||
m_LightmapFlags: 0
|
||||
m_EnableInstancingVariants: 0
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: 3000
|
||||
stringTagMap:
|
||||
RenderType: Transparent
|
||||
disabledShaderPasses:
|
||||
- GRABPASS
|
||||
m_LockedProperties:
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- _BumpMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailAlbedoMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailMask:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _DetailNormalMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _EmissionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MainTex:
|
||||
m_Texture: {fileID: 2800000, guid: d7bdd1a257792d64e945309f1335af1b, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _MetallicGlossMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _OcclusionMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _ParallaxMap:
|
||||
m_Texture: {fileID: 0}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Ints: []
|
||||
m_Floats:
|
||||
- _BlendOp: 0
|
||||
- _BumpScale: 1
|
||||
- _CameraFadingEnabled: 0
|
||||
- _CameraFarFadeDistance: 2
|
||||
- _CameraNearFadeDistance: 1
|
||||
- _ColorMode: 0
|
||||
- _Cull: 2
|
||||
- _Cutoff: 0.5
|
||||
- _DetailNormalMapScale: 1
|
||||
- _DistortionBlend: 0.5
|
||||
- _DistortionEnabled: 0
|
||||
- _DistortionStrength: 1
|
||||
- _DistortionStrengthScaled: 0
|
||||
- _DstBlend: 10
|
||||
- _EmissionEnabled: 0
|
||||
- _FlipbookMode: 0
|
||||
- _GlossMapScale: 1
|
||||
- _Glossiness: 0.5
|
||||
- _GlossyReflections: 1
|
||||
- _LightingEnabled: 0
|
||||
- _Metallic: 0
|
||||
- _Mode: 2
|
||||
- _OcclusionStrength: 1
|
||||
- _Parallax: 0.02
|
||||
- _SmoothnessTextureChannel: 0
|
||||
- _SoftParticlesEnabled: 0
|
||||
- _SoftParticlesFarFadeDistance: 1
|
||||
- _SoftParticlesNearFadeDistance: 0
|
||||
- _SpecularHighlights: 1
|
||||
- _SrcBlend: 5
|
||||
- _UVSec: 0
|
||||
- _ZWrite: 0
|
||||
m_Colors:
|
||||
- _CameraFadeParams: {r: 0, g: Infinity, b: 0, a: 0}
|
||||
- _Color: {r: 1.3, g: 1.3, b: 1.3, a: 1}
|
||||
- _ColorAddSubDiff: {r: 0, g: 0, b: 0, a: 0}
|
||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
- _SoftParticleFadeParams: {r: 0, g: 0, b: 0, a: 0}
|
||||
m_BuildTextureStacks: []
|
||||
m_AllowLocking: 1
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 578bab4c627533c4987386b81e4a2e04
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 2100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
File diff suppressed because it is too large
Load Diff
|
|
@ -0,0 +1,7 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 3e0d5bbb2a2fb5a44914bf626f345b1e
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
|
@ -105,21 +105,22 @@
|
|||
{
|
||||
"classIds": [ 10202 ],
|
||||
"stages": [ 3 ],
|
||||
"prefab": "WL_Impact_DaggerSlash3",
|
||||
"scale": 1.0,
|
||||
"euler": [ 0, 0, 90 ],
|
||||
"yOffset": 0.0,
|
||||
"prefab": "WL_Impact_DaggerSpin",
|
||||
"scale": 1.75,
|
||||
"euler": [ 0, 0, 0 ],
|
||||
"yOffset": -0.2,
|
||||
"calibrated": false,
|
||||
"follow": true,
|
||||
"forward": 0.0,
|
||||
"side": 0.0,
|
||||
"life": 0.8,
|
||||
"life": 0.9,
|
||||
"minInterval": 0.3,
|
||||
"alignWeapon": true,
|
||||
"alignWeapon": false,
|
||||
"alignFraction": 0.3,
|
||||
"massLocal": [ 0, 0.5, 0 ],
|
||||
"massLocal": [ 0, 0, 0 ],
|
||||
"fixedDir": false,
|
||||
"lockFacing": false,
|
||||
"_note_954": "#954 PD 「비수 3타 이펙트가 기존과 다른 컨셉 → Slash Effects FREE 의 회전 이펙트(스크린샷)로」 — 사본 WL_Impact_DaggerSpin(= Shiny Slash · 편집 모드 대조표 954_fx_sheet: 큰 초승달 + 반짝이 · 위에서 보면 수평 고리(954_fx_orient) · 시작색 teal (0.38,0.84,0.83)) · PC 중심에 따라붙음(alignWeapon 끔 · 수평 고리라 euler 0) · 배율 0.95(실제 0.95×0.55×1.16 ≈ 0.6 · 고리 반지름 약 0.8 m 추정) · 이전 DaggerSlash3 규칙(euler Z 90 · massLocal 0.5)은 #952 기록",
|
||||
"_note_951": "#951 PD 「비수 3타 이펙트가 공격한 검 위치를 기준으로 호 형태로 펼쳐지도록」 — 원본 Effect_Slash_10202_3 의 WL 사본을 매 프레임 무기(손잡이 → 날 끝) 방향·위치에 맞춰 따라가게(창 2타 alignWeapon 과 같은 방식) · 수치는 Play 실측 뒤 조정",
|
||||
"_note_952": "#952 PD 「이펙트 위치가 실제 검 위치와 너무 동떨어져 있고 크기가 너무 작아 어색」 — 편집 모드 실측(952_slash.cs): 보이는 호 = HighPolySwordRing 메시 입자(지름 1.98 × 크기 2.92 × 0.5 = 프리팹 단위 2.9 m 고리 · 중심 로컬 (0, 0.5, 0))가 Z 85° 로 기울어 세로 평면(YZ)에 서 있어 위 카메라에서는 모서리(두께 0.43)만 보이고 주변 별 입자만 보였다 → euler Z 90 으로 고리를 수평(XZ)으로 눕히고 massLocal 로 고리 중심을 손잡이 앞 alignFraction 자리에 맞춤(그 전 = 고리 중심이 피벗 위 0.5 × 배율 · 별이 피벗에서 1 m 밖). 배율은 1.0(실제 0.637 = 0.55 × 1.16) 그대로 두고 PD 판정"
|
||||
},
|
||||
|
|
|
|||
|
|
@ -84,6 +84,8 @@ namespace WL.Combat.Impact
|
|||
public static WLImpactSettings S { get { if (!s_loaded) Load(); return s_settings; } }
|
||||
public static bool Enabled { get { var s = S; return s != null && s.enabled; } }
|
||||
public static void Reload() { s_loaded = false; ClearPool(); }
|
||||
[RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.SubsystemRegistration)]
|
||||
static void ResetForPlay() { Reload(); } // #954 도메인 리로드 끔 대비 — Play 마다 WLImpactFx.json 을 다시 읽는다(실측: swingFx 배율 변경이 다음 Play 에 안 먹었다)
|
||||
static void Load()
|
||||
{
|
||||
s_loaded = true;
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -0,0 +1,7 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 57d9462bf3798eb43a87a916cb1f35b3
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
|
@ -42,18 +42,25 @@
|
|||
"jumpForward": 0.4,
|
||||
"jumpSeconds": 0.25,
|
||||
"landState": "ghost_land",
|
||||
"landHeight": 1.2,
|
||||
"landFallSeconds": 0.25,
|
||||
"slideDistance": 0.4,
|
||||
"slideSeconds": 0.35,
|
||||
"landTotalSeconds": 1.0,
|
||||
"landHeight": 0.5,
|
||||
"landFallSeconds": 0.15,
|
||||
"slideDistance": 0.3,
|
||||
"slideSeconds": 0.25,
|
||||
"landTotalSeconds": 0.45,
|
||||
"landAtSeconds": 3.4,
|
||||
"airClip": "Skill8_Air",
|
||||
"landGhosts": 2,
|
||||
"landGhosts": 0,
|
||||
"dustPrefab": "WL/Fx/WL_Fx_LandDust",
|
||||
"dustScale": 0.15,
|
||||
"keepCamera": 1,
|
||||
"fallForward": 0.35,
|
||||
"fallForward": 0.2,
|
||||
"landPose": "ghost_land@0.25",
|
||||
"landHideModel": 1,
|
||||
"landGhostColor": [ 0.55, 0.95, 0.85, 0.45 ],
|
||||
"landGhostHold": 0.02,
|
||||
"landGhostFade": 0.08,
|
||||
"popGhosts": 2,
|
||||
"_note_954": "#954 PD 「각성 뒤 너무 높은 위치에서 튀어나옴 → 0.5 m 정도 낮은 높이에서 반투명 상태로 갑자기 이펙트와 함께 튀어나오며 랜딩 · 랜딩 시간 짧게 · 랜딩 중 공격 불가」 — 높이 1.2 → 0.5 · 낙하 0.25 → 0.15 s · 전체 1.0 → 0.45 s · 미끄러짐 0.4/0.35 → 0.3/0.25 · 낙하 중 실제 모델 숨김 + 착지 자세(ghost_land@0.25)의 반투명 teal 캐릭터를 매 프레임(유지 0.02 · 소멸 0.08) · 착지 순간 모델 보임 + 잔상 2 + 먼지 · 공격 금지 = IsLanding(하네스 공격 키) + IsStop(자동 전투)",
|
||||
"_note_953": "#953 PD 「비수 공격 시 카메라 각도가 달라짐 — 바꾸지 말고 현재 상태 유지한 채 착지(탑뷰가 아니라 대각선에서 미끄러지며 낙하하듯)」 — 원인 = 원본 Skill_DarkAmbush 가 시전 때 RealCamera.Set_TopView(PC) · 2.0 s 뒤 해제 → keepCamera 1 로 둘 다 건너뜀(원본 훅 2줄) · fallForward 0.35 m = 낙하 0.25 s 동안 앞으로(대각선) → 착지 뒤 slide 0.4 m 감속 · 값은 PM 추정(원장 40)",
|
||||
"_note_952": "#952 PD 「이펙트가 끝나는 시점에 즉시 착지(서 있는 모습 없이) · 떨어진 후 미끄러지듯 살짝 전진하다 멈춤 · 흙먼지는 캐릭터 등신에 맞게」 — 착지 시작 = 원본이 모델을 다시 켜는 그 프레임(WLGhostStrike.LateTick · 그 프레임은 숨김 · 섞임 0) · 미끄러짐 = 감속(2D/T → 0 · 0.4 m / 0.35 s) · 먼지 = HCFX Dust_Dash 사본의 긴 줄기(3D 크기 1.7 × 5.0 × lengthScale 1 = 프리팹 단위 5 m) × 0.15 ≈ 0.75 m(PC 키 1.13 m 실측 · Bounds952.Model)",
|
||||
"_note_951": "#951 PD 「각성 시전 시 뛰어오르는 잔상 → 사라진 채 공격 → 잔상과 함께 등장 · 낮은 공중에서 떨어져 착지 포즈 · 0.5 m 미끄러지다 정지 · 흙먼지」 — 시전 순간 위·앞으로 잔상 jumpGhosts 개(jumpSeconds 동안) · PC 가 다시 보이는 순간(또는 landAtSeconds) 모델을 landHeight 에서 landFallSeconds 에 내리며 잔상 landGhosts · 착지 클립 landState(어새신 컨트롤러 ghost_land = Platform Sub_HeroLanding 0~36) · slideSeconds 동안 NavMeshAgent.Move 로 slideDistance 앞으로 · 착지 때 dustPrefab(Hyper Casual Dust_Dash 사본) · landTotalSeconds 뒤 idle",
|
||||
|
|
|
|||
|
|
@ -4,5 +4,13 @@
|
|||
"freezeAnim": 0,
|
||||
"slashScale": 0.5,
|
||||
"smokeScale": 0.5,
|
||||
"keepHitBox": 1
|
||||
"keepHitBox": 1,
|
||||
"fxPrefab": "WL/Fx/WL_Fx_DaggerMulti",
|
||||
"fxScale": 0.85,
|
||||
"fxDelay": 0.5,
|
||||
"fxForward": 1.2,
|
||||
"fxYOffset": 0.1,
|
||||
"fxLife": 2.5,
|
||||
"hideOriginalFx": 1,
|
||||
"_note_954": "#954 PD 「비수 주력 = Slash Effects FREE 의 녹색 난사(스크린샷)로」 — 사본 WL_Fx_DaggerMulti(= Multiple Slash 2 · 초승달 2개가 시차로 · 시작색 teal) · 원본 베기(go_effect · 판정 상자 그대로) 렌더러 끔 · 원본이 베기를 켜는 0.5 s 에 PC 정면 1.2 m · 높이 +0.1 · 배율 0.6 · 2.5 s 뒤 파괴 · 연기(smoke)는 그대로"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -51,6 +51,12 @@ namespace WL.Combat.Weapon
|
|||
public string dustPrefab = ""; public float dustScale = 1f;
|
||||
public int keepCamera = 0; // #953 1 = 원본 Skill_DarkAmbush 의 탑뷰 전환(RealCamera.Set_TopView)을 건너뛴다 — 카메라 각도 유지
|
||||
public float fallForward = 0f; // #953 낙하하는 동안 앞으로 가는 거리(m · 대각선으로 미끄러지며 낙하) · 착지 뒤 미끄러짐(slideDistance)은 별도
|
||||
// #954 PD 「0.5 m 정도 짧은 높이에서 반투명 상태로 갑자기 이펙트와 함께 튀어나오며 랜딩 · 랜딩 시간 짧게 · 랜딩 중 공격 불가」
|
||||
public string landPose = ""; // 착지 자세("상태@정규화 시각") — 떨어지는 동안 반투명 캐릭터(잔상 재질)로 그리고 실제 모델은 숨긴다(landHideModel)
|
||||
public int landHideModel = 0; // 1 = 떨어지는 동안 실제 모델 숨김 → 착지 순간 보임(튀어나옴)
|
||||
public float[] landGhostColor; // 떨어지는 반투명 캐릭터 색(r,g,b,a) · 비우면 잔상 색
|
||||
public float landGhostHold = 0.02f, landGhostFade = 0.08f; // 매 프레임 띄우는 반투명 캐릭터의 유지·소멸(초)
|
||||
public int popGhosts = 0; // 착지 순간 착지 자세로 터뜨리는 잔상 수(잔상 색 · 기본 유지·소멸)
|
||||
public string poseSource = "clips"; // clips = 숨은 꼭두각시에 poses 를 걸어 굽기 · live = 시전 순간 PC 자세 1 개
|
||||
public string[] poses = new string[0]; // "애니메이터 상태 이름@정규화 시각" — 차례로 돌려 쓴다(시작은 무작위)
|
||||
}
|
||||
|
|
@ -95,7 +101,7 @@ namespace WL.Combat.Weapon
|
|||
public float t0, groundY; public List<FxPoint> fx; public int next, poseCursor;
|
||||
public Vector3 lastPos; public bool hasLast, posesReady; public string sig = "";
|
||||
// #951 도약 잔상 · 착지
|
||||
public int jumpDone; public float jumpNext = -1f; public bool wasHidden, sawAir, landing, landed, dustDone; public float landT0, modelBaseY, modelY = float.NaN; public int landGhostsDone, hideUntilFrame;
|
||||
public int jumpDone; public float jumpNext = -1f; public bool wasHidden, sawAir, landing, landed, dustDone, hideDuringFall; public float landT0, modelBaseY, modelY = float.NaN; public int landGhostsDone, hideUntilFrame;
|
||||
public Vector3 landPos, landFwd; public Transform model; public UnityEngine.AI.NavMeshAgent agent; public object stopWas;
|
||||
public readonly List<SkinnedMeshRenderer> smrs = new List<SkinnedMeshRenderer>();
|
||||
public readonly List<MeshFilter> weapons = new List<MeshFilter>();
|
||||
|
|
@ -111,6 +117,7 @@ namespace WL.Combat.Weapon
|
|||
public readonly List<MeshFilter> exF = new List<MeshFilter>(); public readonly List<MeshRenderer> exR = new List<MeshRenderer>();
|
||||
public readonly List<bool> exSingle = new List<bool>();
|
||||
public readonly MaterialPropertyBlock mpb = new MaterialPropertyBlock(); public float t0; public bool busy, pre;
|
||||
public float[] color; public float hold = -1f, fade = -1f; // #954 잔상별 색·수명 덮기(착지 중 반투명 캐릭터)
|
||||
}
|
||||
|
||||
static WLGhostStrikeJson s_cfg;
|
||||
|
|
@ -254,16 +261,18 @@ namespace WL.Combat.Weapon
|
|||
{
|
||||
var g = s_pool[i];
|
||||
if (!g.busy || g.root == null) continue;
|
||||
float t = now - g.t0;
|
||||
if (t >= c.hold + c.fade) { g.busy = false; g.root.SetActive(false); continue; }
|
||||
SetAlpha(g, t <= c.hold ? 1f : 1f - (t - c.hold) / Mathf.Max(0.01f, c.fade));
|
||||
float t = now - g.t0; float hold = g.hold >= 0f ? g.hold : c.hold, fade = g.fade >= 0f ? g.fade : c.fade;
|
||||
if (t >= hold + fade) { g.busy = false; g.root.SetActive(false); g.color = null; g.hold = g.fade = -1f; continue; }
|
||||
SetAlpha(g, t <= hold ? 1f : 1f - (t - hold) / Mathf.Max(0.01f, fade));
|
||||
}
|
||||
}
|
||||
catch (System.Exception ex) { Errors++; LastLog = "틱 실패 — " + ex.Message; }
|
||||
}
|
||||
|
||||
// ───────────────────────────────────────── #951 도약 잔상 · 착지 연출
|
||||
public static int JumpSpawned, Landings; public static string LandLog = "";
|
||||
public static int JumpSpawned, Landings, LandGhostFrames; public static string LandLog = "";
|
||||
/// <summary>#954 「랜딩 중 공격할 수 없어야」 — 이 시전자가 착지 연출 중인가(자동 전투는 IsStop 으로 이미 멈춤 · 수동 공격 키는 이걸로 막는다).</summary>
|
||||
public static bool IsLanding(Actor a) { var cast = s_cast; return cast != null && cast.landing && a != null && ReferenceEquals(cast.shooter, a); }
|
||||
static System.Reflection.PropertyInfo s_isStop;
|
||||
|
||||
static string CurrentClip(Actor a)
|
||||
|
|
@ -295,7 +304,7 @@ namespace WL.Combat.Weapon
|
|||
LandLog += reappeared ? " · 보이는 순간" : airEnded ? " · 공중 클립 끝" : " · 시각";
|
||||
}
|
||||
}
|
||||
if (cast.landing && cast.hideUntilFrame > 0 && Time.frameCount >= cast.hideUntilFrame) { cast.hideUntilFrame = 0; SetVisible(cast, true); }
|
||||
if (cast.landing && cast.hideUntilFrame > 0 && Time.frameCount >= cast.hideUntilFrame) { cast.hideUntilFrame = 0; if (!cast.hideDuringFall) SetVisible(cast, true); } // #954 landHideModel 이면 착지 순간까지 숨긴 채
|
||||
if (!cast.landing || cast.model == null || float.IsNaN(cast.modelY)) return;
|
||||
var lp = cast.model.localPosition; cast.model.localPosition = new Vector3(lp.x, cast.modelY, lp.z);
|
||||
}
|
||||
|
|
@ -316,7 +325,7 @@ namespace WL.Combat.Weapon
|
|||
if (cast.model != null) { var lp = cast.model.localPosition; cast.model.localPosition = new Vector3(lp.x, cast.modelBaseY, lp.z); }
|
||||
SetVisible(cast, true); SetStop(a, cast.stopWas);
|
||||
}
|
||||
cast.landing = false; cast.landed = true; cast.modelY = float.NaN; cast.hideUntilFrame = 0; s_cast = null; LandLog += " · 취소(직업 전환)";
|
||||
cast.landing = false; cast.landed = true; cast.modelY = float.NaN; cast.hideUntilFrame = 0; cast.hideDuringFall = false; s_cast = null; LandLog += " · 취소(직업 전환)";
|
||||
}
|
||||
|
||||
static bool IsHidden(Cast cast)
|
||||
|
|
@ -338,7 +347,7 @@ namespace WL.Combat.Weapon
|
|||
static void StartLanding(Cast cast, float now)
|
||||
{
|
||||
var pc = cast.shooter as PCActor; var r = cast.rule;
|
||||
cast.landing = true; cast.landT0 = now; cast.landGhostsDone = 0; cast.dustDone = false;
|
||||
cast.landing = true; cast.landT0 = now; cast.landGhostsDone = 0; cast.dustDone = false; cast.hideDuringFall = r.landHideModel != 0 && s_landPose != null; // #954 착지 자세를 구웠을 때만 실제 모델을 숨긴다
|
||||
cast.landPos = cast.shooter.Get_position(); cast.landFwd = cast.shooter.transform.forward; cast.landFwd.y = 0f; if (cast.landFwd.sqrMagnitude < 1e-4f) cast.landFwd = Vector3.forward; cast.landFwd.Normalize();
|
||||
cast.model = cast.shooter.m_animation != null ? cast.shooter.m_animation.transform : null; cast.modelBaseY = cast.model != null ? cast.model.localPosition.y : 0f;
|
||||
cast.agent = cast.shooter.GetComponent<UnityEngine.AI.NavMeshAgent>();
|
||||
|
|
@ -357,6 +366,7 @@ namespace WL.Combat.Weapon
|
|||
float k = 1f - t / fall; float y = r.landHeight * k * k; // 가속 낙하(실제 적용은 LateTick)
|
||||
cast.modelY = cast.modelBaseY + y;
|
||||
if (cast.landGhostsDone < r.landGhosts && t >= fall * (cast.landGhostsDone + 1f) / (r.landGhosts + 1f)) { cast.landGhostsDone++; if (Spawn(c, cast, cast.landPos + Vector3.up * y, cast.landFwd)) JumpSpawned++; }
|
||||
if (cast.hideDuringFall && s_landPose != null) { if (Spawn(c, cast, cast.shooter.Get_position() + Vector3.up * y, cast.landFwd, s_landPose, r.landGhostColor, r.landGhostHold, r.landGhostFade)) LandGhostFrames++; } // #954 떨어지는 동안 = 반투명 캐릭터(매 프레임)
|
||||
if (r.fallForward > 0f) // #953 대각선 낙하 — 떨어지는 동안 앞으로 fallForward(등속) · 착지 뒤엔 slide 감속
|
||||
{
|
||||
float step = r.fallForward * Time.deltaTime / fall;
|
||||
|
|
@ -368,6 +378,8 @@ namespace WL.Combat.Weapon
|
|||
if (!cast.dustDone)
|
||||
{
|
||||
cast.dustDone = true;
|
||||
if (cast.hideDuringFall) { cast.hideDuringFall = false; SetVisible(cast, true); } // #954 착지 순간 실제 모델이 튀어나온다
|
||||
if (r.popGhosts > 0 && s_landPose != null) for (int i = 0; i < r.popGhosts; i++) { var jitter = Quaternion.Euler(0f, (i - (r.popGhosts - 1) * 0.5f) * 18f, 0f) * cast.landFwd; if (Spawn(c, cast, cast.shooter.Get_position() + jitter * 0.12f * (i + 1), jitter, s_landPose)) JumpSpawned++; }
|
||||
if (!string.IsNullOrEmpty(r.dustPrefab))
|
||||
{
|
||||
var p = Resources.Load<GameObject>(r.dustPrefab);
|
||||
|
|
@ -545,6 +557,15 @@ namespace WL.Combat.Weapon
|
|||
var pose = BakePose(gt, smrs, weapons);
|
||||
if (pose != null) { s_poses.Add(pose); PosesBaked++; }
|
||||
}
|
||||
// #954 착지 자세 1 개(순환 목록 밖) — 떨어지는 동안의 반투명 캐릭터 · 착지 순간 튀어나오는 잔상
|
||||
if (s_landPose != null && s_landPose.body != null) Object.Destroy(s_landPose.body);
|
||||
s_landPose = null;
|
||||
if (!string.IsNullOrEmpty(cast.rule.landPose))
|
||||
{
|
||||
string ls; float lnt;
|
||||
if (ParsePose(cast.rule.landPose, out ls, out lnt) && an.HasState(0, Animator.StringToHash(ls))) { an.Play(Animator.StringToHash(ls), 0, lnt); an.Update(0f); s_landPose = BakePose(gt, smrs, weapons); }
|
||||
else LastLog = "착지 자세 상태 없음 " + cast.rule.landPose;
|
||||
}
|
||||
PuppetBuilt++;
|
||||
return s_poses.Count > 0;
|
||||
}
|
||||
|
|
@ -623,12 +644,14 @@ namespace WL.Combat.Weapon
|
|||
static Transform Find(Transform root, string path) { return string.IsNullOrEmpty(path) ? root : root.Find(path); }
|
||||
|
||||
// ───────────────────────────────────────── 고스트 · 재질
|
||||
static bool Spawn(WLGhostStrikeJson c, Cast cast, Vector3 pos, Vector3 face)
|
||||
static Pose s_landPose; // #954 착지 자세(규칙 landPose) — 반투명 캐릭터 · 튀어나오는 잔상용(순환 목록 밖)
|
||||
static bool Spawn(WLGhostStrikeJson c, Cast cast, Vector3 pos, Vector3 face, Pose poseOverride = null, float[] color = null, float hold = -1f, float fade = -1f)
|
||||
{
|
||||
if (s_poses.Count == 0 || !EnsureMaterial(c)) return false;
|
||||
if ((s_poses.Count == 0 && poseOverride == null) || !EnsureMaterial(c)) return false;
|
||||
var g = Rent(c);
|
||||
if (g == null) { SkippedCap++; return false; }
|
||||
var pose = s_poses[(cast.poseCursor++ & 0x7fffffff) % s_poses.Count];
|
||||
var pose = poseOverride ?? s_poses[(cast.poseCursor++ & 0x7fffffff) % s_poses.Count];
|
||||
g.color = color; g.hold = hold; g.fade = fade;
|
||||
g.pre = s_matsPre != null;
|
||||
g.bodyF.sharedMesh = pose.body;
|
||||
g.bodyR.sharedMaterials = g.pre ? s_matsPre : s_matsOne;
|
||||
|
|
@ -679,7 +702,7 @@ namespace WL.Combat.Weapon
|
|||
|
||||
static void SetAlpha(Ghost g, float k)
|
||||
{
|
||||
var a = Cfg.color;
|
||||
var a = g.color != null && g.color.Length >= 4 ? g.color : Cfg.color; // #954 잔상별 색 덮기
|
||||
var col = a != null && a.Length >= 4 ? new Color(a[0], a[1], a[2], a[3]) : Color.black;
|
||||
col.a *= Mathf.Clamp01(k);
|
||||
g.mpb.Clear();
|
||||
|
|
|
|||
|
|
@ -30,6 +30,10 @@ namespace WL.Combat.Weapon
|
|||
public float slashScale = 1f; // 베기(go_effect) 보이는 크기 배율
|
||||
public float smokeScale = 1f; // 연기(go_invisibleEffect) 크기 배율
|
||||
public int keepHitBox = 1; // 1 = 베기 판정 상자 월드 크기 유지(보이는 크기만 바꿈)
|
||||
// #954 PD 「비수 주력 = Slash Effects FREE 의 녹색 난사(Multiple Slash 2)로」 — 원본 베기 렌더러를 끄고(판정 상자 그대로) WL 사본을 같은 자리·시각에 띄운다
|
||||
public string fxPrefab = ""; // Resources 경로(비우면 원본 베기 그대로)
|
||||
public float fxScale = 1f, fxDelay = 0.5f, fxForward = 1.5f, fxYOffset = 0f, fxLife = 2.5f; // 배율 · 시전 뒤 시각(원본 go_effect 0.5 s) · PC 정면 거리(원본 1.5) · 높이 · 수명
|
||||
public int hideOriginalFx = 0; // 1 = 원본 베기(go_effect) 렌더러 끔
|
||||
}
|
||||
|
||||
public static class WLShadowSlash
|
||||
|
|
@ -78,11 +82,32 @@ namespace WL.Combat.Weapon
|
|||
}
|
||||
if (skill.go_effect != null) Scale(skill.go_effect.transform, c.slashScale, c.keepHitBox != 0);
|
||||
if (skill.go_invisibleEffect != null) Scale(skill.go_invisibleEffect.transform, c.smokeScale, false);
|
||||
if (!string.IsNullOrEmpty(c.fxPrefab) && !DSUtil.CheckNull(shooter)) // #954
|
||||
{
|
||||
if (c.hideOriginalFx != 0 && skill.go_effect != null) foreach (var rd in skill.go_effect.GetComponentsInChildren<Renderer>(true)) rd.enabled = false; // 풀 인스턴스라 한 번 끄면 유지
|
||||
Runner.StartCoroutine(CoFx(shooter, c));
|
||||
}
|
||||
LastLog = "cast " + Casts + " · shown " + Shown + " · scaled " + Scaled;
|
||||
}
|
||||
catch (System.Exception ex) { Errors++; LastLog = "실패 — " + ex.Message; }
|
||||
}
|
||||
|
||||
public static int FxShown;
|
||||
static WLShadowSlashRunner s_runner;
|
||||
static WLShadowSlashRunner Runner { get { if (s_runner == null) { var go = new GameObject("[WL954] ShadowSlashFx"); go.hideFlags = HideFlags.HideAndDontSave; Object.DontDestroyOnLoad(go); s_runner = go.AddComponent<WLShadowSlashRunner>(); } return s_runner; } }
|
||||
/// <summary>#954 원본 베기가 켜지는 시각(fxDelay)에 WL 사본(녹색 난사)을 PC 정면 fxForward 에 띄운다(PC 방향 · fxLife 뒤 파괴).</summary>
|
||||
static System.Collections.IEnumerator CoFx(Actor shooter, WLShadowSlashJson c)
|
||||
{
|
||||
if (c.fxDelay > 0f) yield return new WaitForSeconds(c.fxDelay);
|
||||
if (DSUtil.CheckNull(shooter) || shooter.IsDead()) yield break;
|
||||
var p = Resources.Load<GameObject>(c.fxPrefab); if (p == null) { LastLog = "fx 프리팹 없음 " + c.fxPrefab; yield break; }
|
||||
var fwd = shooter.transform.forward; fwd.y = 0f; if (fwd.sqrMagnitude < 1e-4f) fwd = Vector3.forward; fwd.Normalize();
|
||||
var pos = shooter.Get_CenterPositionFoward(c.fxForward) + Vector3.up * c.fxYOffset;
|
||||
var go = Object.Instantiate(p, pos, Quaternion.LookRotation(fwd, Vector3.up)); go.transform.localScale = p.transform.localScale * c.fxScale;
|
||||
foreach (var ps in go.GetComponentsInChildren<ParticleSystem>(true)) { var m = ps.main; m.scalingMode = ParticleSystemScalingMode.Hierarchy; ps.Play(true); }
|
||||
Object.Destroy(go, Mathf.Max(0.5f, c.fxLife)); FxShown++; LastLog = "fx " + c.fxPrefab + " @" + pos.ToString("F2") + " ×" + c.fxScale;
|
||||
}
|
||||
|
||||
/// <summary>Actor 의 protected 켜기 함수(Model_OnOff · Weapon_OnOff(bool))를 true 로 부른다 — 원본 Co_Invisible 끝과 같은 호출(가상 함수는 PCActor 쪽이 불린다).</summary>
|
||||
static bool Call(ref MethodInfo m, string name, Actor a)
|
||||
{
|
||||
|
|
@ -118,4 +143,6 @@ namespace WL.Combat.Weapon
|
|||
|
||||
/// <summary>#943-⑧ 이 Transform(원본 스킬 풀 인스턴스)의 처음 크기 · 판정 상자 — 배율 누적 방지.</summary>
|
||||
public sealed class WLShadowSlashBase : MonoBehaviour { public Vector3 scale, size, center; public bool hasBox; }
|
||||
/// <summary>#954 코루틴 숙주(씬 밖 · 숨김).</summary>
|
||||
public sealed class WLShadowSlashRunner : MonoBehaviour { }
|
||||
}
|
||||
|
|
|
|||
|
|
@ -142,8 +142,8 @@ MonoBehaviour:
|
|||
- classId: 10202
|
||||
mode: 0
|
||||
overrideLook: 0
|
||||
colorAdditive: {r: 2.024, g: 0.9, b: 0.15, a: 1}
|
||||
colorAlpha: {r: 1.582, g: 0.52, b: 0.05, a: 1}
|
||||
colorAdditive: {r: 0.2, g: 1.35, b: 1.0, a: 1}
|
||||
colorAlpha: {r: 0.1, g: 0.95, b: 0.7, a: 1}
|
||||
widthScale: 1
|
||||
overrideWeaponSlots: 0
|
||||
weaponSlotIndices:
|
||||
|
|
|
|||
|
|
@ -458,7 +458,7 @@ namespace WL.SkillTest
|
|||
float half = cfg.groundSize * 0.5f - 3f; var pp = pc.Get_position();
|
||||
if (Mathf.Abs(pp.x) > half || Mathf.Abs(pp.z) > half) { pc.Set_Warp(NavPos(V3(cfg.spawnPos))); _msg = "평지 가장자리 — PC·더미 원점 " + ResetDummy(); }
|
||||
|
||||
if (Input.GetKeyDown(_kAttack)) { if (Dummy != null) pc.Change_Target(false, Dummy); pc.Play_Attack(0, 1f); _msg = "기본 공격"; }
|
||||
if (Input.GetKeyDown(_kAttack)) { if (WL.Combat.Weapon.WLGhostStrike.IsLanding(pc)) _msg = "착지 중 — 공격 불가"; else { if (Dummy != null) pc.Change_Target(false, Dummy); pc.Play_Attack(0, 1f); _msg = "기본 공격"; } } // #954 랜딩 중 공격 금지
|
||||
if (Input.GetKeyDown(_kPrev)) _msg = CycleWeapon(-1);
|
||||
if (Input.GetKeyDown(_kNext)) _msg = CycleWeapon(+1);
|
||||
if (Input.GetKeyDown(_kReset)) _msg = ResetDummy();
|
||||
|
|
|
|||
Loading…
Reference in New Issue