WL #967 PD 지시 7건 — ① 비수 각성 넉백 끔(WLSkillHitFeel Skill_DarkAmbush 넉백 0 · 밀기 0 · 경직 0.15 s · 실측 각성 판정 2회 넉백 건너뜀 · 판정 사이 밀림 0) ② 비수 4타 = PC 중심 수평 반원 횡베기(SlashTrailSettings arcFlatStages · WeaponTrailDriver 수평 면 · 호 가운데 = 대상 · 실측 반지름 1.25 m · 대상 쪽 8° · 바깥 끝↔대상 0.18 m) ③ 활 주력 모으기 = 0.30→0.50 시위 당기며 유지 · 발사 0.56(WLRapidShot chargeFromNormalized · releaseNormalized · 놓는 클립 BowShot1_S_10402) ④ 활 기본 공격 두 손 = IK 로 머리 밖으로(WLBowPoseIK 신설 · 컨트롤러 IK Pass · 실측 두 손↔머리 0.33/0.38 m) ⑤ 지팡이 3타 = 포즈 0.5 s 연장(attack3 속도 0.25→0.1225 · 실측 머무름 0.90 s) + 투사체 대신 메테오 1발(WLStaffEarth popup.meteor · 전환 중 3타 판정 고침 · 실측 3타 메테오 35 · 바위 솟음 0) ⑥ 각성 메테오 폭발 = 갈색 흙먼지(범인 = 스킬 피격 WL_Hit_StaffSkill · 메테오 전용 갈색 사본 WL_Hit_StaffMeteor · 메테오 사본 폭발 연기 갈색) ⑦ 창 4단 콤보(1 Spearman Attack2_S 횡베기 · 2 Spearman Attack1 내려치기 · 3 찌르기 6연타 · 4 강한 찌르기 · 매핑 재굽기 · 궤적 1·2타 베이크 · 단계 설정 5곳 이동)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
be34565935
commit
3ffc951ceb
|
|
@ -683,7 +683,7 @@ ModelImporter:
|
|||
floatParameter: 0
|
||||
intParameter: 0
|
||||
messageOptions: 0
|
||||
- time: 0.15
|
||||
- time: 0.0735
|
||||
functionName: Projectile
|
||||
data: Projectile_10302
|
||||
objectReferenceParameter: {instanceID: 0}
|
||||
|
|
|
|||
|
|
@ -804,6 +804,63 @@ ModelImporter:
|
|||
maskType: 0
|
||||
maskSource: {instanceID: 0}
|
||||
additiveReferencePoseFrame: 0
|
||||
- serializedVersion: 16
|
||||
name: Attack2_S_10701
|
||||
takeName: Take 001
|
||||
internalID: 3060872287085348379
|
||||
firstFrame: 0
|
||||
lastFrame: 34
|
||||
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.319
|
||||
functionName: ShowEffect
|
||||
data: Effect_Slash_10102_4
|
||||
objectReferenceParameter: {instanceID: 0}
|
||||
floatParameter: 0
|
||||
intParameter: 1
|
||||
messageOptions: 0
|
||||
- time: 0.379
|
||||
functionName: Move
|
||||
data:
|
||||
objectReferenceParameter: {instanceID: 0}
|
||||
floatParameter: 0.3
|
||||
intParameter: 0
|
||||
messageOptions: 0
|
||||
- time: 0.439
|
||||
functionName: Projectile
|
||||
data: Projectile_10101
|
||||
objectReferenceParameter: {instanceID: 0}
|
||||
floatParameter: 0
|
||||
intParameter: 0
|
||||
messageOptions: 0
|
||||
transformMask: []
|
||||
maskType: 0
|
||||
maskSource: {instanceID: 0}
|
||||
additiveReferencePoseFrame: 0
|
||||
isReadable: 1
|
||||
meshes:
|
||||
lODScreenPercentages: []
|
||||
|
|
|
|||
|
|
@ -634,7 +634,7 @@ AnimatorController:
|
|||
m_BlendingMode: 0
|
||||
m_SyncedLayerIndex: -1
|
||||
m_DefaultWeight: 0
|
||||
m_IKPass: 0
|
||||
m_IKPass: 1
|
||||
m_SyncedLayerAffectsTiming: 0
|
||||
m_Controller: {fileID: 9100000}
|
||||
- serializedVersion: 5
|
||||
|
|
|
|||
|
|
@ -446,7 +446,7 @@ AnimatorController:
|
|||
m_BlendingMode: 0
|
||||
m_SyncedLayerIndex: -1
|
||||
m_DefaultWeight: 0
|
||||
m_IKPass: 0
|
||||
m_IKPass: 1
|
||||
m_SyncedLayerAffectsTiming: 0
|
||||
m_Controller: {fileID: 9100000}
|
||||
- serializedVersion: 5
|
||||
|
|
|
|||
|
|
@ -2303,7 +2303,7 @@ AnimatorState:
|
|||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: attack3
|
||||
m_Speed: 0.25
|
||||
m_Speed: 0.1225
|
||||
m_CycleOffset: 0
|
||||
m_Transitions:
|
||||
- {fileID: 7396964718502629461}
|
||||
|
|
|
|||
|
|
@ -22,6 +22,34 @@ AnimatorStateTransition:
|
|||
m_InterruptionSource: 0
|
||||
m_OrderedInterruption: 1
|
||||
m_CanTransitionToSelf: 1
|
||||
--- !u!1102 &-8833876555127775869
|
||||
AnimatorState:
|
||||
serializedVersion: 6
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Attack3
|
||||
m_Speed: 1
|
||||
m_CycleOffset: 0
|
||||
m_Transitions:
|
||||
- {fileID: -7107328108826606063}
|
||||
m_StateMachineBehaviours: []
|
||||
m_Position: {x: 50, y: 50, z: 0}
|
||||
m_IKOnFeet: 0
|
||||
m_WriteDefaultValues: 1
|
||||
m_Mirror: 0
|
||||
m_SpeedParameterActive: 0
|
||||
m_MirrorParameterActive: 0
|
||||
m_CycleOffsetParameterActive: 0
|
||||
m_TimeParameterActive: 0
|
||||
m_Motion: {fileID: 1702301948168947093, guid: eb4cd7aeba3f5bf4fb3ee03443437acb,
|
||||
type: 3}
|
||||
m_Tag:
|
||||
m_SpeedParameter:
|
||||
m_MirrorParameter:
|
||||
m_CycleOffsetParameter:
|
||||
m_TimeParameter:
|
||||
--- !u!1102 &-8757538407910549282
|
||||
AnimatorState:
|
||||
serializedVersion: 6
|
||||
|
|
@ -43,7 +71,7 @@ AnimatorState:
|
|||
m_MirrorParameterActive: 0
|
||||
m_CycleOffsetParameterActive: 0
|
||||
m_TimeParameterActive: 0
|
||||
m_Motion: {fileID: 1827226128182048838, guid: eb4cd7aeba3f5bf4fb3ee03443437acb,
|
||||
m_Motion: {fileID: -998496362607748373, guid: 53058ef486fc88f49820c30b8ca9e674,
|
||||
type: 3}
|
||||
m_Tag:
|
||||
m_SpeedParameter:
|
||||
|
|
@ -72,34 +100,6 @@ AnimatorStateTransition:
|
|||
m_InterruptionSource: 0
|
||||
m_OrderedInterruption: 1
|
||||
m_CanTransitionToSelf: 1
|
||||
--- !u!1102 &-7785429122263097812
|
||||
AnimatorState:
|
||||
serializedVersion: 6
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Attack2c
|
||||
m_Speed: 1
|
||||
m_CycleOffset: 0
|
||||
m_Transitions:
|
||||
- {fileID: 6867887696765296130}
|
||||
m_StateMachineBehaviours: []
|
||||
m_Position: {x: 50, y: 50, z: 0}
|
||||
m_IKOnFeet: 0
|
||||
m_WriteDefaultValues: 1
|
||||
m_Mirror: 0
|
||||
m_SpeedParameterActive: 0
|
||||
m_MirrorParameterActive: 0
|
||||
m_CycleOffsetParameterActive: 0
|
||||
m_TimeParameterActive: 0
|
||||
m_Motion: {fileID: 6641085478485924818, guid: eb4cd7aeba3f5bf4fb3ee03443437acb,
|
||||
type: 3}
|
||||
m_Tag:
|
||||
m_SpeedParameter:
|
||||
m_MirrorParameter:
|
||||
m_CycleOffsetParameter:
|
||||
m_TimeParameter:
|
||||
--- !u!1101 &-7760995152898552014
|
||||
AnimatorStateTransition:
|
||||
m_ObjectHideFlags: 1
|
||||
|
|
@ -170,6 +170,28 @@ AnimatorStateTransition:
|
|||
m_InterruptionSource: 0
|
||||
m_OrderedInterruption: 1
|
||||
m_CanTransitionToSelf: 1
|
||||
--- !u!1101 &-7107328108826606063
|
||||
AnimatorStateTransition:
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name:
|
||||
m_Conditions: []
|
||||
m_DstStateMachine: {fileID: 0}
|
||||
m_DstState: {fileID: 6123893681015815013}
|
||||
m_Solo: 0
|
||||
m_Mute: 0
|
||||
m_IsExit: 0
|
||||
serializedVersion: 3
|
||||
m_TransitionDuration: 0.15
|
||||
m_TransitionOffset: 0
|
||||
m_ExitTime: 0.9
|
||||
m_HasExitTime: 1
|
||||
m_HasFixedDuration: 0
|
||||
m_InterruptionSource: 0
|
||||
m_OrderedInterruption: 1
|
||||
m_CanTransitionToSelf: 1
|
||||
--- !u!1102 &-6995089492646688719
|
||||
AnimatorState:
|
||||
serializedVersion: 6
|
||||
|
|
@ -220,28 +242,6 @@ AnimatorStateTransition:
|
|||
m_InterruptionSource: 0
|
||||
m_OrderedInterruption: 1
|
||||
m_CanTransitionToSelf: 1
|
||||
--- !u!1101 &-6303488384549399601
|
||||
AnimatorStateTransition:
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name:
|
||||
m_Conditions: []
|
||||
m_DstStateMachine: {fileID: 0}
|
||||
m_DstState: {fileID: -7785429122263097812}
|
||||
m_Solo: 0
|
||||
m_Mute: 0
|
||||
m_IsExit: 0
|
||||
serializedVersion: 3
|
||||
m_TransitionDuration: 0.15
|
||||
m_TransitionOffset: 0
|
||||
m_ExitTime: 0.9
|
||||
m_HasExitTime: 1
|
||||
m_HasFixedDuration: 0
|
||||
m_InterruptionSource: 0
|
||||
m_OrderedInterruption: 1
|
||||
m_CanTransitionToSelf: 1
|
||||
--- !u!1102 &-5940922149749640003
|
||||
AnimatorState:
|
||||
serializedVersion: 6
|
||||
|
|
@ -324,6 +324,28 @@ AnimatorState:
|
|||
m_MirrorParameter:
|
||||
m_CycleOffsetParameter:
|
||||
m_TimeParameter:
|
||||
--- !u!1101 &-5572874429042745349
|
||||
AnimatorStateTransition:
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name:
|
||||
m_Conditions: []
|
||||
m_DstStateMachine: {fileID: 0}
|
||||
m_DstState: {fileID: -8833876555127775869}
|
||||
m_Solo: 0
|
||||
m_Mute: 0
|
||||
m_IsExit: 0
|
||||
serializedVersion: 3
|
||||
m_TransitionDuration: 0.15
|
||||
m_TransitionOffset: 0
|
||||
m_ExitTime: 0.75
|
||||
m_HasExitTime: 1
|
||||
m_HasFixedDuration: 0
|
||||
m_InterruptionSource: 0
|
||||
m_OrderedInterruption: 1
|
||||
m_CanTransitionToSelf: 1
|
||||
--- !u!1101 &-5065368659107793234
|
||||
AnimatorStateTransition:
|
||||
m_ObjectHideFlags: 1
|
||||
|
|
@ -346,84 +368,6 @@ AnimatorStateTransition:
|
|||
m_InterruptionSource: 0
|
||||
m_OrderedInterruption: 1
|
||||
m_CanTransitionToSelf: 1
|
||||
--- !u!1101 &-5049265843962658925
|
||||
AnimatorStateTransition:
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name:
|
||||
m_Conditions: []
|
||||
m_DstStateMachine: {fileID: 0}
|
||||
m_DstState: {fileID: -1457214211898673553}
|
||||
m_Solo: 0
|
||||
m_Mute: 0
|
||||
m_IsExit: 0
|
||||
serializedVersion: 3
|
||||
m_TransitionDuration: 0.15
|
||||
m_TransitionOffset: 0
|
||||
m_ExitTime: 0.9
|
||||
m_HasExitTime: 1
|
||||
m_HasFixedDuration: 0
|
||||
m_InterruptionSource: 0
|
||||
m_OrderedInterruption: 1
|
||||
m_CanTransitionToSelf: 1
|
||||
--- !u!1102 &-4643384778099596019
|
||||
AnimatorState:
|
||||
serializedVersion: 6
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Attack2b
|
||||
m_Speed: 1
|
||||
m_CycleOffset: 0
|
||||
m_Transitions:
|
||||
- {fileID: -6303488384549399601}
|
||||
m_StateMachineBehaviours: []
|
||||
m_Position: {x: 50, y: 50, z: 0}
|
||||
m_IKOnFeet: 0
|
||||
m_WriteDefaultValues: 1
|
||||
m_Mirror: 0
|
||||
m_SpeedParameterActive: 0
|
||||
m_MirrorParameterActive: 0
|
||||
m_CycleOffsetParameterActive: 0
|
||||
m_TimeParameterActive: 0
|
||||
m_Motion: {fileID: 3060872287085348379, guid: eb4cd7aeba3f5bf4fb3ee03443437acb,
|
||||
type: 3}
|
||||
m_Tag:
|
||||
m_SpeedParameter:
|
||||
m_MirrorParameter:
|
||||
m_CycleOffsetParameter:
|
||||
m_TimeParameter:
|
||||
--- !u!1102 &-4047895833455868784
|
||||
AnimatorState:
|
||||
serializedVersion: 6
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Attack3
|
||||
m_Speed: 1
|
||||
m_CycleOffset: 0
|
||||
m_Transitions:
|
||||
- {fileID: 6848315810752270045}
|
||||
m_StateMachineBehaviours: []
|
||||
m_Position: {x: 50, y: 50, z: 0}
|
||||
m_IKOnFeet: 0
|
||||
m_WriteDefaultValues: 1
|
||||
m_Mirror: 0
|
||||
m_SpeedParameterActive: 0
|
||||
m_MirrorParameterActive: 0
|
||||
m_CycleOffsetParameterActive: 0
|
||||
m_TimeParameterActive: 0
|
||||
m_Motion: {fileID: 1827226128182048838, guid: 6c44c397d64b80543a6d1c1ccf35589e,
|
||||
type: 3}
|
||||
m_Tag:
|
||||
m_SpeedParameter:
|
||||
m_MirrorParameter:
|
||||
m_CycleOffsetParameter:
|
||||
m_TimeParameter:
|
||||
--- !u!1102 &-3662637916441429638
|
||||
AnimatorState:
|
||||
serializedVersion: 6
|
||||
|
|
@ -480,18 +424,18 @@ AnimatorState:
|
|||
m_MirrorParameter:
|
||||
m_CycleOffsetParameter:
|
||||
m_TimeParameter:
|
||||
--- !u!1102 &-2630414053381351969
|
||||
--- !u!1102 &-2450174865730894799
|
||||
AnimatorState:
|
||||
serializedVersion: 6
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Attack2f
|
||||
m_Name: Attack3d
|
||||
m_Speed: 1
|
||||
m_CycleOffset: 0
|
||||
m_Transitions:
|
||||
- {fileID: 3733479137453790388}
|
||||
- {fileID: 7176115115811901095}
|
||||
m_StateMachineBehaviours: []
|
||||
m_Position: {x: 50, y: 50, z: 0}
|
||||
m_IKOnFeet: 0
|
||||
|
|
@ -501,35 +445,13 @@ AnimatorState:
|
|||
m_MirrorParameterActive: 0
|
||||
m_CycleOffsetParameterActive: 0
|
||||
m_TimeParameterActive: 0
|
||||
m_Motion: {fileID: -6788666626592393668, guid: eb4cd7aeba3f5bf4fb3ee03443437acb,
|
||||
m_Motion: {fileID: 7731641710072435382, guid: eb4cd7aeba3f5bf4fb3ee03443437acb,
|
||||
type: 3}
|
||||
m_Tag:
|
||||
m_SpeedParameter:
|
||||
m_MirrorParameter:
|
||||
m_CycleOffsetParameter:
|
||||
m_TimeParameter:
|
||||
--- !u!1101 &-2463007587306551008
|
||||
AnimatorStateTransition:
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name:
|
||||
m_Conditions: []
|
||||
m_DstStateMachine: {fileID: 0}
|
||||
m_DstState: {fileID: -2630414053381351969}
|
||||
m_Solo: 0
|
||||
m_Mute: 0
|
||||
m_IsExit: 0
|
||||
serializedVersion: 3
|
||||
m_TransitionDuration: 0.15
|
||||
m_TransitionOffset: 0
|
||||
m_ExitTime: 0.9
|
||||
m_HasExitTime: 1
|
||||
m_HasFixedDuration: 0
|
||||
m_InterruptionSource: 0
|
||||
m_OrderedInterruption: 1
|
||||
m_CanTransitionToSelf: 1
|
||||
--- !u!1102 &-1818568085792577103
|
||||
AnimatorState:
|
||||
serializedVersion: 6
|
||||
|
|
@ -541,7 +463,7 @@ AnimatorState:
|
|||
m_Speed: 1
|
||||
m_CycleOffset: 0
|
||||
m_Transitions:
|
||||
- {fileID: 1829211669066088794}
|
||||
- {fileID: -5572874429042745349}
|
||||
m_StateMachineBehaviours: []
|
||||
m_Position: {x: 50, y: 50, z: 0}
|
||||
m_IKOnFeet: 0
|
||||
|
|
@ -551,35 +473,7 @@ AnimatorState:
|
|||
m_MirrorParameterActive: 0
|
||||
m_CycleOffsetParameterActive: 0
|
||||
m_TimeParameterActive: 0
|
||||
m_Motion: {fileID: -998496362607748373, guid: eb4cd7aeba3f5bf4fb3ee03443437acb,
|
||||
type: 3}
|
||||
m_Tag:
|
||||
m_SpeedParameter:
|
||||
m_MirrorParameter:
|
||||
m_CycleOffsetParameter:
|
||||
m_TimeParameter:
|
||||
--- !u!1102 &-1457214211898673553
|
||||
AnimatorState:
|
||||
serializedVersion: 6
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Attack2e
|
||||
m_Speed: 1
|
||||
m_CycleOffset: 0
|
||||
m_Transitions:
|
||||
- {fileID: -2463007587306551008}
|
||||
m_StateMachineBehaviours: []
|
||||
m_Position: {x: 50, y: 50, z: 0}
|
||||
m_IKOnFeet: 0
|
||||
m_WriteDefaultValues: 1
|
||||
m_Mirror: 0
|
||||
m_SpeedParameterActive: 0
|
||||
m_MirrorParameterActive: 0
|
||||
m_CycleOffsetParameterActive: 0
|
||||
m_TimeParameterActive: 0
|
||||
m_Motion: {fileID: 6234510843852800090, guid: eb4cd7aeba3f5bf4fb3ee03443437acb,
|
||||
m_Motion: {fileID: 3060872287085348379, guid: d49af005f8f03dd40944d120d5009866,
|
||||
type: 3}
|
||||
m_Tag:
|
||||
m_SpeedParameter:
|
||||
|
|
@ -640,6 +534,84 @@ AnimatorState:
|
|||
m_MirrorParameter:
|
||||
m_CycleOffsetParameter:
|
||||
m_TimeParameter:
|
||||
--- !u!1102 &-1204854857182881208
|
||||
AnimatorState:
|
||||
serializedVersion: 6
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Attack3f
|
||||
m_Speed: 1
|
||||
m_CycleOffset: 0
|
||||
m_Transitions:
|
||||
- {fileID: 598150552926310329}
|
||||
m_StateMachineBehaviours: []
|
||||
m_Position: {x: 50, y: 50, z: 0}
|
||||
m_IKOnFeet: 0
|
||||
m_WriteDefaultValues: 1
|
||||
m_Mirror: 0
|
||||
m_SpeedParameterActive: 0
|
||||
m_MirrorParameterActive: 0
|
||||
m_CycleOffsetParameterActive: 0
|
||||
m_TimeParameterActive: 0
|
||||
m_Motion: {fileID: -5912188926831197812, guid: eb4cd7aeba3f5bf4fb3ee03443437acb,
|
||||
type: 3}
|
||||
m_Tag:
|
||||
m_SpeedParameter:
|
||||
m_MirrorParameter:
|
||||
m_CycleOffsetParameter:
|
||||
m_TimeParameter:
|
||||
--- !u!1101 &-1140536437572950504
|
||||
AnimatorStateTransition:
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name:
|
||||
m_Conditions: []
|
||||
m_DstStateMachine: {fileID: 0}
|
||||
m_DstState: {fileID: -2450174865730894799}
|
||||
m_Solo: 0
|
||||
m_Mute: 0
|
||||
m_IsExit: 0
|
||||
serializedVersion: 3
|
||||
m_TransitionDuration: 0.15
|
||||
m_TransitionOffset: 0
|
||||
m_ExitTime: 0.9
|
||||
m_HasExitTime: 1
|
||||
m_HasFixedDuration: 0
|
||||
m_InterruptionSource: 0
|
||||
m_OrderedInterruption: 1
|
||||
m_CanTransitionToSelf: 1
|
||||
--- !u!1102 &-1106846073798923778
|
||||
AnimatorState:
|
||||
serializedVersion: 6
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Attack4
|
||||
m_Speed: 1
|
||||
m_CycleOffset: 0
|
||||
m_Transitions:
|
||||
- {fileID: 2775120184130965169}
|
||||
m_StateMachineBehaviours: []
|
||||
m_Position: {x: 50, y: 50, z: 0}
|
||||
m_IKOnFeet: 0
|
||||
m_WriteDefaultValues: 1
|
||||
m_Mirror: 0
|
||||
m_SpeedParameterActive: 0
|
||||
m_MirrorParameterActive: 0
|
||||
m_CycleOffsetParameterActive: 0
|
||||
m_TimeParameterActive: 0
|
||||
m_Motion: {fileID: -998496362607748373, guid: 6c44c397d64b80543a6d1c1ccf35589e,
|
||||
type: 3}
|
||||
m_Tag:
|
||||
m_SpeedParameter:
|
||||
m_MirrorParameter:
|
||||
m_CycleOffsetParameter:
|
||||
m_TimeParameter:
|
||||
--- !u!1102 &-797689860110217983
|
||||
AnimatorState:
|
||||
serializedVersion: 6
|
||||
|
|
@ -2306,9 +2278,6 @@ AnimatorStateMachine:
|
|||
- serializedVersion: 1
|
||||
m_State: {fileID: -1818568085792577103}
|
||||
m_Position: {x: 0, y: 50, z: 0}
|
||||
- serializedVersion: 1
|
||||
m_State: {fileID: -4047895833455868784}
|
||||
m_Position: {x: 0, y: 110, z: 0}
|
||||
- serializedVersion: 1
|
||||
m_State: {fileID: -797689860110217983}
|
||||
m_Position: {x: 35, y: 175, z: 0}
|
||||
|
|
@ -2319,20 +2288,26 @@ AnimatorStateMachine:
|
|||
m_State: {fileID: -6995089492646688719}
|
||||
m_Position: {x: 10, y: -30, z: 0}
|
||||
- serializedVersion: 1
|
||||
m_State: {fileID: -4643384778099596019}
|
||||
m_State: {fileID: -8833876555127775869}
|
||||
m_Position: {x: 45, y: 35, z: 0}
|
||||
- serializedVersion: 1
|
||||
m_State: {fileID: -7785429122263097812}
|
||||
m_State: {fileID: 6123893681015815013}
|
||||
m_Position: {x: 80, y: 100, z: 0}
|
||||
- serializedVersion: 1
|
||||
m_State: {fileID: 53093606317774197}
|
||||
m_State: {fileID: 2607936901088851072}
|
||||
m_Position: {x: 115, y: 165, z: 0}
|
||||
- serializedVersion: 1
|
||||
m_State: {fileID: -1457214211898673553}
|
||||
m_State: {fileID: -2450174865730894799}
|
||||
m_Position: {x: 150, y: 230, z: 0}
|
||||
- serializedVersion: 1
|
||||
m_State: {fileID: -2630414053381351969}
|
||||
m_State: {fileID: 3602972285962933543}
|
||||
m_Position: {x: 185, y: 295, z: 0}
|
||||
- serializedVersion: 1
|
||||
m_State: {fileID: -1204854857182881208}
|
||||
m_Position: {x: 220, y: 360, z: 0}
|
||||
- serializedVersion: 1
|
||||
m_State: {fileID: -1106846073798923778}
|
||||
m_Position: {x: 255, y: 425, z: 0}
|
||||
m_ChildStateMachines: []
|
||||
m_AnyStateTransitions: []
|
||||
m_EntryTransitions: []
|
||||
|
|
@ -2397,34 +2372,6 @@ AnimatorStateMachine:
|
|||
m_ExitPosition: {x: 300, y: 60, z: 0}
|
||||
m_ParentStateMachinePosition: {x: 800, y: 20, z: 0}
|
||||
m_DefaultState: {fileID: 110211406}
|
||||
--- !u!1102 &53093606317774197
|
||||
AnimatorState:
|
||||
serializedVersion: 6
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Attack2d
|
||||
m_Speed: 1
|
||||
m_CycleOffset: 0
|
||||
m_Transitions:
|
||||
- {fileID: -5049265843962658925}
|
||||
m_StateMachineBehaviours: []
|
||||
m_Position: {x: 50, y: 50, z: 0}
|
||||
m_IKOnFeet: 0
|
||||
m_WriteDefaultValues: 1
|
||||
m_Mirror: 0
|
||||
m_SpeedParameterActive: 0
|
||||
m_MirrorParameterActive: 0
|
||||
m_CycleOffsetParameterActive: 0
|
||||
m_TimeParameterActive: 0
|
||||
m_Motion: {fileID: -5059006814000262888, guid: eb4cd7aeba3f5bf4fb3ee03443437acb,
|
||||
type: 3}
|
||||
m_Tag:
|
||||
m_SpeedParameter:
|
||||
m_MirrorParameter:
|
||||
m_CycleOffsetParameter:
|
||||
m_TimeParameter:
|
||||
--- !u!1102 &146044103495546524
|
||||
AnimatorState:
|
||||
serializedVersion: 6
|
||||
|
|
@ -2453,6 +2400,28 @@ AnimatorState:
|
|||
m_MirrorParameter:
|
||||
m_CycleOffsetParameter:
|
||||
m_TimeParameter:
|
||||
--- !u!1101 &598150552926310329
|
||||
AnimatorStateTransition:
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name:
|
||||
m_Conditions: []
|
||||
m_DstStateMachine: {fileID: 0}
|
||||
m_DstState: {fileID: -1106846073798923778}
|
||||
m_Solo: 0
|
||||
m_Mute: 0
|
||||
m_IsExit: 0
|
||||
serializedVersion: 3
|
||||
m_TransitionDuration: 0.15
|
||||
m_TransitionOffset: 0
|
||||
m_ExitTime: 0.9
|
||||
m_HasExitTime: 1
|
||||
m_HasFixedDuration: 0
|
||||
m_InterruptionSource: 0
|
||||
m_OrderedInterruption: 1
|
||||
m_CanTransitionToSelf: 1
|
||||
--- !u!1102 &623298470344145488
|
||||
AnimatorState:
|
||||
serializedVersion: 6
|
||||
|
|
@ -2605,28 +2574,6 @@ AnimatorState:
|
|||
m_MirrorParameter:
|
||||
m_CycleOffsetParameter:
|
||||
m_TimeParameter:
|
||||
--- !u!1101 &1829211669066088794
|
||||
AnimatorStateTransition:
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name:
|
||||
m_Conditions: []
|
||||
m_DstStateMachine: {fileID: 0}
|
||||
m_DstState: {fileID: -4643384778099596019}
|
||||
m_Solo: 0
|
||||
m_Mute: 0
|
||||
m_IsExit: 0
|
||||
serializedVersion: 3
|
||||
m_TransitionDuration: 0.15
|
||||
m_TransitionOffset: 0
|
||||
m_ExitTime: 0.9
|
||||
m_HasExitTime: 1
|
||||
m_HasFixedDuration: 0
|
||||
m_InterruptionSource: 0
|
||||
m_OrderedInterruption: 1
|
||||
m_CanTransitionToSelf: 1
|
||||
--- !u!1101 &2408926578621495657
|
||||
AnimatorStateTransition:
|
||||
m_ObjectHideFlags: 1
|
||||
|
|
@ -2649,6 +2596,34 @@ AnimatorStateTransition:
|
|||
m_InterruptionSource: 0
|
||||
m_OrderedInterruption: 1
|
||||
m_CanTransitionToSelf: 1
|
||||
--- !u!1102 &2607936901088851072
|
||||
AnimatorState:
|
||||
serializedVersion: 6
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Attack3c
|
||||
m_Speed: 1
|
||||
m_CycleOffset: 0
|
||||
m_Transitions:
|
||||
- {fileID: -1140536437572950504}
|
||||
m_StateMachineBehaviours: []
|
||||
m_Position: {x: 50, y: 50, z: 0}
|
||||
m_IKOnFeet: 0
|
||||
m_WriteDefaultValues: 1
|
||||
m_Mirror: 0
|
||||
m_SpeedParameterActive: 0
|
||||
m_MirrorParameterActive: 0
|
||||
m_CycleOffsetParameterActive: 0
|
||||
m_TimeParameterActive: 0
|
||||
m_Motion: {fileID: -4045831500588228705, guid: eb4cd7aeba3f5bf4fb3ee03443437acb,
|
||||
type: 3}
|
||||
m_Tag:
|
||||
m_SpeedParameter:
|
||||
m_MirrorParameter:
|
||||
m_CycleOffsetParameter:
|
||||
m_TimeParameter:
|
||||
--- !u!1102 &2667104774637161799
|
||||
AnimatorState:
|
||||
serializedVersion: 6
|
||||
|
|
@ -2704,6 +2679,28 @@ AnimatorState:
|
|||
m_MirrorParameter:
|
||||
m_CycleOffsetParameter:
|
||||
m_TimeParameter:
|
||||
--- !u!1101 &2775120184130965169
|
||||
AnimatorStateTransition:
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name:
|
||||
m_Conditions: []
|
||||
m_DstStateMachine: {fileID: 0}
|
||||
m_DstState: {fileID: -5708076101590037915}
|
||||
m_Solo: 0
|
||||
m_Mute: 0
|
||||
m_IsExit: 0
|
||||
serializedVersion: 3
|
||||
m_TransitionDuration: 0.25
|
||||
m_TransitionOffset: 0
|
||||
m_ExitTime: 0.8
|
||||
m_HasExitTime: 1
|
||||
m_HasFixedDuration: 1
|
||||
m_InterruptionSource: 0
|
||||
m_OrderedInterruption: 1
|
||||
m_CanTransitionToSelf: 1
|
||||
--- !u!1102 &2846861087779601784
|
||||
AnimatorState:
|
||||
serializedVersion: 6
|
||||
|
|
@ -2784,6 +2781,34 @@ AnimatorState:
|
|||
m_MirrorParameter:
|
||||
m_CycleOffsetParameter:
|
||||
m_TimeParameter:
|
||||
--- !u!1102 &3602972285962933543
|
||||
AnimatorState:
|
||||
serializedVersion: 6
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Attack3e
|
||||
m_Speed: 1
|
||||
m_CycleOffset: 0
|
||||
m_Transitions:
|
||||
- {fileID: 5121688532890949397}
|
||||
m_StateMachineBehaviours: []
|
||||
m_Position: {x: 50, y: 50, z: 0}
|
||||
m_IKOnFeet: 0
|
||||
m_WriteDefaultValues: 1
|
||||
m_Mirror: 0
|
||||
m_SpeedParameterActive: 0
|
||||
m_MirrorParameterActive: 0
|
||||
m_CycleOffsetParameterActive: 0
|
||||
m_TimeParameterActive: 0
|
||||
m_Motion: {fileID: -6577145938085917429, guid: eb4cd7aeba3f5bf4fb3ee03443437acb,
|
||||
type: 3}
|
||||
m_Tag:
|
||||
m_SpeedParameter:
|
||||
m_MirrorParameter:
|
||||
m_CycleOffsetParameter:
|
||||
m_TimeParameter:
|
||||
--- !u!1102 &3688501896258247423
|
||||
AnimatorState:
|
||||
serializedVersion: 6
|
||||
|
|
@ -2811,28 +2836,6 @@ AnimatorState:
|
|||
m_MirrorParameter:
|
||||
m_CycleOffsetParameter:
|
||||
m_TimeParameter:
|
||||
--- !u!1101 &3733479137453790388
|
||||
AnimatorStateTransition:
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name:
|
||||
m_Conditions: []
|
||||
m_DstStateMachine: {fileID: 0}
|
||||
m_DstState: {fileID: -4047895833455868784}
|
||||
m_Solo: 0
|
||||
m_Mute: 0
|
||||
m_IsExit: 0
|
||||
serializedVersion: 3
|
||||
m_TransitionDuration: 0.15
|
||||
m_TransitionOffset: 0
|
||||
m_ExitTime: 0.9
|
||||
m_HasExitTime: 1
|
||||
m_HasFixedDuration: 0
|
||||
m_InterruptionSource: 0
|
||||
m_OrderedInterruption: 1
|
||||
m_CanTransitionToSelf: 1
|
||||
--- !u!1101 &4622039596610312686
|
||||
AnimatorStateTransition:
|
||||
m_ObjectHideFlags: 1
|
||||
|
|
@ -2877,6 +2880,28 @@ AnimatorStateTransition:
|
|||
m_InterruptionSource: 0
|
||||
m_OrderedInterruption: 1
|
||||
m_CanTransitionToSelf: 1
|
||||
--- !u!1101 &5121688532890949397
|
||||
AnimatorStateTransition:
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name:
|
||||
m_Conditions: []
|
||||
m_DstStateMachine: {fileID: 0}
|
||||
m_DstState: {fileID: -1204854857182881208}
|
||||
m_Solo: 0
|
||||
m_Mute: 0
|
||||
m_IsExit: 0
|
||||
serializedVersion: 3
|
||||
m_TransitionDuration: 0.15
|
||||
m_TransitionOffset: 0
|
||||
m_ExitTime: 0.9
|
||||
m_HasExitTime: 1
|
||||
m_HasFixedDuration: 0
|
||||
m_InterruptionSource: 0
|
||||
m_OrderedInterruption: 1
|
||||
m_CanTransitionToSelf: 1
|
||||
--- !u!1101 &5856218280474857649
|
||||
AnimatorStateTransition:
|
||||
m_ObjectHideFlags: 1
|
||||
|
|
@ -2921,6 +2946,28 @@ AnimatorStateTransition:
|
|||
m_InterruptionSource: 0
|
||||
m_OrderedInterruption: 1
|
||||
m_CanTransitionToSelf: 1
|
||||
--- !u!1101 &5868107653792152182
|
||||
AnimatorStateTransition:
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name:
|
||||
m_Conditions: []
|
||||
m_DstStateMachine: {fileID: 0}
|
||||
m_DstState: {fileID: 2607936901088851072}
|
||||
m_Solo: 0
|
||||
m_Mute: 0
|
||||
m_IsExit: 0
|
||||
serializedVersion: 3
|
||||
m_TransitionDuration: 0.15
|
||||
m_TransitionOffset: 0
|
||||
m_ExitTime: 0.9
|
||||
m_HasExitTime: 1
|
||||
m_HasFixedDuration: 0
|
||||
m_InterruptionSource: 0
|
||||
m_OrderedInterruption: 1
|
||||
m_CanTransitionToSelf: 1
|
||||
--- !u!1101 &6082278240856233531
|
||||
AnimatorStateTransition:
|
||||
m_ObjectHideFlags: 1
|
||||
|
|
@ -2943,6 +2990,34 @@ AnimatorStateTransition:
|
|||
m_InterruptionSource: 0
|
||||
m_OrderedInterruption: 1
|
||||
m_CanTransitionToSelf: 1
|
||||
--- !u!1102 &6123893681015815013
|
||||
AnimatorState:
|
||||
serializedVersion: 6
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Attack3b
|
||||
m_Speed: 1
|
||||
m_CycleOffset: 0
|
||||
m_Transitions:
|
||||
- {fileID: 5868107653792152182}
|
||||
m_StateMachineBehaviours: []
|
||||
m_Position: {x: 50, y: 50, z: 0}
|
||||
m_IKOnFeet: 0
|
||||
m_WriteDefaultValues: 1
|
||||
m_Mirror: 0
|
||||
m_SpeedParameterActive: 0
|
||||
m_MirrorParameterActive: 0
|
||||
m_CycleOffsetParameterActive: 0
|
||||
m_TimeParameterActive: 0
|
||||
m_Motion: {fileID: 9093586079265926502, guid: eb4cd7aeba3f5bf4fb3ee03443437acb,
|
||||
type: 3}
|
||||
m_Tag:
|
||||
m_SpeedParameter:
|
||||
m_MirrorParameter:
|
||||
m_CycleOffsetParameter:
|
||||
m_TimeParameter:
|
||||
--- !u!1101 &6198832838648419432
|
||||
AnimatorStateTransition:
|
||||
m_ObjectHideFlags: 1
|
||||
|
|
@ -2993,7 +3068,7 @@ AnimatorState:
|
|||
m_MirrorParameter:
|
||||
m_CycleOffsetParameter:
|
||||
m_TimeParameter:
|
||||
--- !u!1101 &6848315810752270045
|
||||
--- !u!1101 &7176115115811901095
|
||||
AnimatorStateTransition:
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
|
|
@ -3002,29 +3077,7 @@ AnimatorStateTransition:
|
|||
m_Name:
|
||||
m_Conditions: []
|
||||
m_DstStateMachine: {fileID: 0}
|
||||
m_DstState: {fileID: -5708076101590037915}
|
||||
m_Solo: 0
|
||||
m_Mute: 0
|
||||
m_IsExit: 0
|
||||
serializedVersion: 3
|
||||
m_TransitionDuration: 0.25
|
||||
m_TransitionOffset: 0
|
||||
m_ExitTime: 0.8
|
||||
m_HasExitTime: 1
|
||||
m_HasFixedDuration: 1
|
||||
m_InterruptionSource: 0
|
||||
m_OrderedInterruption: 1
|
||||
m_CanTransitionToSelf: 1
|
||||
--- !u!1101 &6867887696765296130
|
||||
AnimatorStateTransition:
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name:
|
||||
m_Conditions: []
|
||||
m_DstStateMachine: {fileID: 0}
|
||||
m_DstState: {fileID: 53093606317774197}
|
||||
m_DstState: {fileID: 3602972285962933543}
|
||||
m_Solo: 0
|
||||
m_Mute: 0
|
||||
m_IsExit: 0
|
||||
|
|
|
|||
|
|
@ -1212,6 +1212,327 @@ ModelImporter:
|
|||
maskType: 3
|
||||
maskSource: {instanceID: 0}
|
||||
additiveReferencePoseFrame: 0
|
||||
- serializedVersion: 16
|
||||
name: Attack3_S_10701
|
||||
takeName: Take 001
|
||||
internalID: 1702301948168947093
|
||||
firstFrame: 3
|
||||
lastFrame: 8
|
||||
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.2
|
||||
functionName: ShowEffect
|
||||
data: Effect_Slash_10101_2
|
||||
objectReferenceParameter: {instanceID: 0}
|
||||
floatParameter: 0
|
||||
intParameter: 1
|
||||
messageOptions: 0
|
||||
- time: 0.4
|
||||
functionName: Move
|
||||
data:
|
||||
objectReferenceParameter: {instanceID: 0}
|
||||
floatParameter: 0.05
|
||||
intParameter: 0
|
||||
messageOptions: 0
|
||||
- time: 0.6
|
||||
functionName: Projectile
|
||||
data: Projectile_10101
|
||||
objectReferenceParameter: {instanceID: 0}
|
||||
floatParameter: 0
|
||||
intParameter: 0
|
||||
messageOptions: 0
|
||||
transformMask: []
|
||||
maskType: 3
|
||||
maskSource: {instanceID: 0}
|
||||
additiveReferencePoseFrame: 0
|
||||
- serializedVersion: 16
|
||||
name: Attack3b_S_10701
|
||||
takeName: Take 001
|
||||
internalID: 9093586079265926502
|
||||
firstFrame: 3
|
||||
lastFrame: 8
|
||||
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.2
|
||||
functionName: ShowEffect
|
||||
data: Effect_Slash_10101_2
|
||||
objectReferenceParameter: {instanceID: 0}
|
||||
floatParameter: 0
|
||||
intParameter: 1
|
||||
messageOptions: 0
|
||||
- time: 0.4
|
||||
functionName: Move
|
||||
data:
|
||||
objectReferenceParameter: {instanceID: 0}
|
||||
floatParameter: 0.05
|
||||
intParameter: 0
|
||||
messageOptions: 0
|
||||
transformMask: []
|
||||
maskType: 3
|
||||
maskSource: {instanceID: 0}
|
||||
additiveReferencePoseFrame: 0
|
||||
- serializedVersion: 16
|
||||
name: Attack3c_S_10701
|
||||
takeName: Take 001
|
||||
internalID: -4045831500588228705
|
||||
firstFrame: 3
|
||||
lastFrame: 8
|
||||
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.2
|
||||
functionName: ShowEffect
|
||||
data: Effect_Slash_10101_2
|
||||
objectReferenceParameter: {instanceID: 0}
|
||||
floatParameter: 0
|
||||
intParameter: 1
|
||||
messageOptions: 0
|
||||
- time: 0.4
|
||||
functionName: Move
|
||||
data:
|
||||
objectReferenceParameter: {instanceID: 0}
|
||||
floatParameter: 0.05
|
||||
intParameter: 0
|
||||
messageOptions: 0
|
||||
- time: 0.6
|
||||
functionName: Projectile
|
||||
data: Projectile_10101
|
||||
objectReferenceParameter: {instanceID: 0}
|
||||
floatParameter: 0
|
||||
intParameter: 0
|
||||
messageOptions: 0
|
||||
transformMask: []
|
||||
maskType: 3
|
||||
maskSource: {instanceID: 0}
|
||||
additiveReferencePoseFrame: 0
|
||||
- serializedVersion: 16
|
||||
name: Attack3d_S_10701
|
||||
takeName: Take 001
|
||||
internalID: 7731641710072435382
|
||||
firstFrame: 3
|
||||
lastFrame: 8
|
||||
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.2
|
||||
functionName: ShowEffect
|
||||
data: Effect_Slash_10101_2
|
||||
objectReferenceParameter: {instanceID: 0}
|
||||
floatParameter: 0
|
||||
intParameter: 1
|
||||
messageOptions: 0
|
||||
- time: 0.4
|
||||
functionName: Move
|
||||
data:
|
||||
objectReferenceParameter: {instanceID: 0}
|
||||
floatParameter: 0.05
|
||||
intParameter: 0
|
||||
messageOptions: 0
|
||||
transformMask: []
|
||||
maskType: 3
|
||||
maskSource: {instanceID: 0}
|
||||
additiveReferencePoseFrame: 0
|
||||
- serializedVersion: 16
|
||||
name: Attack3e_S_10701
|
||||
takeName: Take 001
|
||||
internalID: -6577145938085917429
|
||||
firstFrame: 3
|
||||
lastFrame: 8
|
||||
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.2
|
||||
functionName: ShowEffect
|
||||
data: Effect_Slash_10101_2
|
||||
objectReferenceParameter: {instanceID: 0}
|
||||
floatParameter: 0
|
||||
intParameter: 1
|
||||
messageOptions: 0
|
||||
- time: 0.4
|
||||
functionName: Move
|
||||
data:
|
||||
objectReferenceParameter: {instanceID: 0}
|
||||
floatParameter: 0.05
|
||||
intParameter: 0
|
||||
messageOptions: 0
|
||||
- time: 0.6
|
||||
functionName: Projectile
|
||||
data: Projectile_10101
|
||||
objectReferenceParameter: {instanceID: 0}
|
||||
floatParameter: 0
|
||||
intParameter: 0
|
||||
messageOptions: 0
|
||||
transformMask: []
|
||||
maskType: 3
|
||||
maskSource: {instanceID: 0}
|
||||
additiveReferencePoseFrame: 0
|
||||
- serializedVersion: 16
|
||||
name: Attack3f_S_10701
|
||||
takeName: Take 001
|
||||
internalID: -5912188926831197812
|
||||
firstFrame: 3
|
||||
lastFrame: 8
|
||||
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.2
|
||||
functionName: ShowEffect
|
||||
data: Effect_Slash_10101_2
|
||||
objectReferenceParameter: {instanceID: 0}
|
||||
floatParameter: 0
|
||||
intParameter: 1
|
||||
messageOptions: 0
|
||||
- time: 0.4
|
||||
functionName: Move
|
||||
data:
|
||||
objectReferenceParameter: {instanceID: 0}
|
||||
floatParameter: 0.05
|
||||
intParameter: 0
|
||||
messageOptions: 0
|
||||
transformMask: []
|
||||
maskType: 3
|
||||
maskSource: {instanceID: 0}
|
||||
additiveReferencePoseFrame: 0
|
||||
isReadable: 1
|
||||
meshes:
|
||||
lODScreenPercentages: []
|
||||
|
|
|
|||
|
|
@ -454,6 +454,63 @@ ModelImporter:
|
|||
maskType: 3
|
||||
maskSource: {instanceID: 0}
|
||||
additiveReferencePoseFrame: 0
|
||||
- serializedVersion: 16
|
||||
name: Attack4_S_10701
|
||||
takeName: Take 001
|
||||
internalID: -998496362607748373
|
||||
firstFrame: 0
|
||||
lastFrame: 32
|
||||
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.125
|
||||
functionName: ShowEffect
|
||||
data: Effect_Slash_10101_3
|
||||
objectReferenceParameter: {instanceID: 0}
|
||||
floatParameter: 0
|
||||
intParameter: 1
|
||||
messageOptions: 0
|
||||
- time: 0.188
|
||||
functionName: Move
|
||||
data:
|
||||
objectReferenceParameter: {instanceID: 0}
|
||||
floatParameter: 0.3
|
||||
intParameter: 0
|
||||
messageOptions: 0
|
||||
- time: 0.281
|
||||
functionName: Projectile
|
||||
data: Projectile_10101
|
||||
objectReferenceParameter: {instanceID: 0}
|
||||
floatParameter: 0
|
||||
intParameter: 0
|
||||
messageOptions: 0
|
||||
transformMask: []
|
||||
maskType: 3
|
||||
maskSource: {instanceID: 0}
|
||||
additiveReferencePoseFrame: 0
|
||||
isReadable: 1
|
||||
meshes:
|
||||
lODScreenPercentages: []
|
||||
|
|
|
|||
|
|
@ -1049,7 +1049,7 @@ MonoBehaviour:
|
|||
createIfMissing: 1
|
||||
firstFrame: 28
|
||||
lastFrame: 32
|
||||
speed: 0.25
|
||||
speed: 0.1225
|
||||
maskPath:
|
||||
bakeRootY: -1
|
||||
mirror: 1
|
||||
|
|
@ -1064,7 +1064,7 @@ MonoBehaviour:
|
|||
- functionName: Projectile
|
||||
time: 0
|
||||
useNormalized: 1
|
||||
normalizedTime: 0.15
|
||||
normalizedTime: 0.0735
|
||||
stringParameter: Projectile_{CID}
|
||||
intParameter: 0
|
||||
floatParameter: 0
|
||||
|
|
@ -1554,14 +1554,14 @@ MonoBehaviour:
|
|||
intParameter: 0
|
||||
floatParameter: 0
|
||||
- classId: 10701
|
||||
note: "창 · Spear(WL 10701) → Shinabro Platform Animation Spear 세트(#944 PD 「Platform Animation 에서 찌르기 공격 모션」) · 1타 Spear_Attack1 전체(정면 찌르기 · 30 fps · 내지르기 f4~f6 · 창끝 최대 f6) · 2타 Spear_Attack1 f3~f8 ×6 연타(속도 1 = 1회 0.167 s · exit 0.9 → 0.15 s · 6회 0.9 s · 타격 2a·2c·2e) · 3타 Spear_Attack2 전체(오른쪽 아래로 당겼다 내지르기 · 창끝 최대 f9) — ShowEffect = 내지르기 시작 · Move = 중간 · Projectile = 창끝 최대(편집 모드 포즈 실측 scripts/wl/probes/944_spear_pose.cs · 이전 = Spearman 팩 #840·#940)"
|
||||
note: "창 · Spear(WL 10701) — #967 PD 「창 1타 횡베기, 2타는 내려치기를 사용한 후 찌르기 연타 마지막으로 한번 더 강한 찌르기 형태로 · 1타와 2타는 기존 창 공격 모션을 활용」 = 1타 Spearman Attack2_S 전체(횡베기 · #840~#943 의 1타 · 이벤트 그때 값) · 2타 Spearman Attack1 전체(머리 위에서 앞 아래로 내려치기 · #840~#943 의 3타 · 이벤트 그때 값 · 궤적 키 Effect_Slash_10102_4 = 연타 키 _2 · 강한 찌르기 키 _3 과 겹치지 않게) · 3타 Platform Spear_Attack1 f3~f8 ×6 연타(#944 의 2타 · 타격 3a·3c·3e) · 4타 Platform Spear_Attack2 전체(오른쪽 아래로 당겼다 내지르기 · #944 의 3타) — 편집 모드 포즈 실측 scripts/wl/probes/944_spear_pose.cs(Render) · 이전 #944 = 1타 Spear_Attack1 찌르기 · 2타 연타 · 3타 Spear_Attack2"
|
||||
controllerPathOverride: Assets/Res_Addr/Animations/pcanim_spear.controller
|
||||
enabled: 1
|
||||
states:
|
||||
- stateName: attack
|
||||
sourceFbxPath: Assets/Shinabro/Platform_Animation/Animation/07_Spear/Stander@Spear_Attack1.FBX
|
||||
sourceFbxPath: Assets/ExplosiveLLC/Spearman Warrior Mecanim Animation Pack/Animations/Spearman@Attack2_S.FBX
|
||||
subClipName: Attack1_S_{CID}
|
||||
sourceClipName: Spear_Attack1
|
||||
sourceClipName:
|
||||
incomingExitTime: 0
|
||||
createIfMissing: 0
|
||||
firstFrame: -1
|
||||
|
|
@ -1571,33 +1571,33 @@ MonoBehaviour:
|
|||
- functionName: ShowEffect
|
||||
time: 0
|
||||
useNormalized: 1
|
||||
normalizedTime: 0.133
|
||||
normalizedTime: 0.305
|
||||
stringParameter: Effect_Slash_10101_1
|
||||
intParameter: 1
|
||||
floatParameter: 0
|
||||
- functionName: Move
|
||||
time: 0
|
||||
useNormalized: 1
|
||||
normalizedTime: 0.167
|
||||
normalizedTime: 0.365
|
||||
stringParameter:
|
||||
intParameter: 0
|
||||
floatParameter: 0.2
|
||||
- functionName: Projectile
|
||||
time: 0
|
||||
useNormalized: 1
|
||||
normalizedTime: 0.2
|
||||
normalizedTime: 0.425
|
||||
stringParameter: Projectile_10101
|
||||
intParameter: 0
|
||||
floatParameter: 0
|
||||
- stateName: Attack2
|
||||
sourceFbxPath: Assets/Shinabro/Platform_Animation/Animation/07_Spear/Stander@Spear_Attack1.FBX
|
||||
sourceFbxPath: Assets/ExplosiveLLC/Spearman Warrior Mecanim Animation Pack/Animations/Spearman@Attack1.FBX
|
||||
subClipName: Attack2_S_{CID}
|
||||
sourceClipName: Spear_Attack1
|
||||
sourceClipName: Attack1
|
||||
incomingExitTime: 0.775
|
||||
createIfMissing: 0
|
||||
firstFrame: 3
|
||||
lastFrame: 8
|
||||
speed: 1
|
||||
firstFrame: -1
|
||||
lastFrame: -1
|
||||
speed: 0
|
||||
events:
|
||||
- functionName: LookAtTarget
|
||||
time: 0
|
||||
|
|
@ -1609,199 +1609,237 @@ MonoBehaviour:
|
|||
- functionName: ShowEffect
|
||||
time: 0
|
||||
useNormalized: 1
|
||||
normalizedTime: 0.2
|
||||
stringParameter: Effect_Slash_10101_2
|
||||
normalizedTime: 0.319
|
||||
stringParameter: Effect_Slash_10102_4
|
||||
intParameter: 1
|
||||
floatParameter: 0
|
||||
- functionName: Move
|
||||
time: 0
|
||||
useNormalized: 1
|
||||
normalizedTime: 0.4
|
||||
normalizedTime: 0.379
|
||||
stringParameter:
|
||||
intParameter: 0
|
||||
floatParameter: 0.05
|
||||
floatParameter: 0.3
|
||||
- functionName: Projectile
|
||||
time: 0
|
||||
useNormalized: 1
|
||||
normalizedTime: 0.6
|
||||
normalizedTime: 0.439
|
||||
stringParameter: Projectile_10101
|
||||
intParameter: 0
|
||||
floatParameter: 0
|
||||
- stateName: Attack2b
|
||||
sourceFbxPath: Assets/Shinabro/Platform_Animation/Animation/07_Spear/Stander@Spear_Attack1.FBX
|
||||
subClipName: Attack2b_S_{CID}
|
||||
sourceClipName: Spear_Attack1
|
||||
incomingExitTime: 0.9
|
||||
createIfMissing: 1
|
||||
firstFrame: 3
|
||||
lastFrame: 8
|
||||
speed: 1
|
||||
events:
|
||||
- functionName: LookAtTarget
|
||||
time: 0
|
||||
useNormalized: 1
|
||||
normalizedTime: 0
|
||||
stringParameter:
|
||||
intParameter: 0
|
||||
floatParameter: 0
|
||||
- functionName: ShowEffect
|
||||
time: 0
|
||||
useNormalized: 1
|
||||
normalizedTime: 0.2
|
||||
stringParameter: Effect_Slash_10101_2
|
||||
intParameter: 1
|
||||
floatParameter: 0
|
||||
- functionName: Move
|
||||
time: 0
|
||||
useNormalized: 1
|
||||
normalizedTime: 0.4
|
||||
stringParameter:
|
||||
intParameter: 0
|
||||
floatParameter: 0.05
|
||||
- stateName: Attack2c
|
||||
sourceFbxPath: Assets/Shinabro/Platform_Animation/Animation/07_Spear/Stander@Spear_Attack1.FBX
|
||||
subClipName: Attack2c_S_{CID}
|
||||
sourceClipName: Spear_Attack1
|
||||
incomingExitTime: 0.9
|
||||
createIfMissing: 1
|
||||
firstFrame: 3
|
||||
lastFrame: 8
|
||||
speed: 1
|
||||
events:
|
||||
- functionName: LookAtTarget
|
||||
time: 0
|
||||
useNormalized: 1
|
||||
normalizedTime: 0
|
||||
stringParameter:
|
||||
intParameter: 0
|
||||
floatParameter: 0
|
||||
- functionName: ShowEffect
|
||||
time: 0
|
||||
useNormalized: 1
|
||||
normalizedTime: 0.2
|
||||
stringParameter: Effect_Slash_10101_2
|
||||
intParameter: 1
|
||||
floatParameter: 0
|
||||
- functionName: Move
|
||||
time: 0
|
||||
useNormalized: 1
|
||||
normalizedTime: 0.4
|
||||
stringParameter:
|
||||
intParameter: 0
|
||||
floatParameter: 0.05
|
||||
- functionName: Projectile
|
||||
time: 0
|
||||
useNormalized: 1
|
||||
normalizedTime: 0.6
|
||||
stringParameter: Projectile_10101
|
||||
intParameter: 0
|
||||
floatParameter: 0
|
||||
- stateName: Attack2d
|
||||
sourceFbxPath: Assets/Shinabro/Platform_Animation/Animation/07_Spear/Stander@Spear_Attack1.FBX
|
||||
subClipName: Attack2d_S_{CID}
|
||||
sourceClipName: Spear_Attack1
|
||||
incomingExitTime: 0.9
|
||||
createIfMissing: 1
|
||||
firstFrame: 3
|
||||
lastFrame: 8
|
||||
speed: 1
|
||||
events:
|
||||
- functionName: LookAtTarget
|
||||
time: 0
|
||||
useNormalized: 1
|
||||
normalizedTime: 0
|
||||
stringParameter:
|
||||
intParameter: 0
|
||||
floatParameter: 0
|
||||
- functionName: ShowEffect
|
||||
time: 0
|
||||
useNormalized: 1
|
||||
normalizedTime: 0.2
|
||||
stringParameter: Effect_Slash_10101_2
|
||||
intParameter: 1
|
||||
floatParameter: 0
|
||||
- functionName: Move
|
||||
time: 0
|
||||
useNormalized: 1
|
||||
normalizedTime: 0.4
|
||||
stringParameter:
|
||||
intParameter: 0
|
||||
floatParameter: 0.05
|
||||
- stateName: Attack2e
|
||||
sourceFbxPath: Assets/Shinabro/Platform_Animation/Animation/07_Spear/Stander@Spear_Attack1.FBX
|
||||
subClipName: Attack2e_S_{CID}
|
||||
sourceClipName: Spear_Attack1
|
||||
incomingExitTime: 0.9
|
||||
createIfMissing: 1
|
||||
firstFrame: 3
|
||||
lastFrame: 8
|
||||
speed: 1
|
||||
events:
|
||||
- functionName: LookAtTarget
|
||||
time: 0
|
||||
useNormalized: 1
|
||||
normalizedTime: 0
|
||||
stringParameter:
|
||||
intParameter: 0
|
||||
floatParameter: 0
|
||||
- functionName: ShowEffect
|
||||
time: 0
|
||||
useNormalized: 1
|
||||
normalizedTime: 0.2
|
||||
stringParameter: Effect_Slash_10101_2
|
||||
intParameter: 1
|
||||
floatParameter: 0
|
||||
- functionName: Move
|
||||
time: 0
|
||||
useNormalized: 1
|
||||
normalizedTime: 0.4
|
||||
stringParameter:
|
||||
intParameter: 0
|
||||
floatParameter: 0.05
|
||||
- functionName: Projectile
|
||||
time: 0
|
||||
useNormalized: 1
|
||||
normalizedTime: 0.6
|
||||
stringParameter: Projectile_10101
|
||||
intParameter: 0
|
||||
floatParameter: 0
|
||||
- stateName: Attack2f
|
||||
sourceFbxPath: Assets/Shinabro/Platform_Animation/Animation/07_Spear/Stander@Spear_Attack1.FBX
|
||||
subClipName: Attack2f_S_{CID}
|
||||
sourceClipName: Spear_Attack1
|
||||
incomingExitTime: 0.9
|
||||
createIfMissing: 1
|
||||
firstFrame: 3
|
||||
lastFrame: 8
|
||||
speed: 1
|
||||
events:
|
||||
- functionName: LookAtTarget
|
||||
time: 0
|
||||
useNormalized: 1
|
||||
normalizedTime: 0
|
||||
stringParameter:
|
||||
intParameter: 0
|
||||
floatParameter: 0
|
||||
- functionName: ShowEffect
|
||||
time: 0
|
||||
useNormalized: 1
|
||||
normalizedTime: 0.2
|
||||
stringParameter: Effect_Slash_10101_2
|
||||
intParameter: 1
|
||||
floatParameter: 0
|
||||
- functionName: Move
|
||||
time: 0
|
||||
useNormalized: 1
|
||||
normalizedTime: 0.4
|
||||
stringParameter:
|
||||
intParameter: 0
|
||||
floatParameter: 0.05
|
||||
- stateName: Attack3
|
||||
sourceFbxPath: Assets/Shinabro/Platform_Animation/Animation/07_Spear/Stander@Spear_Attack2.FBX
|
||||
sourceFbxPath: Assets/Shinabro/Platform_Animation/Animation/07_Spear/Stander@Spear_Attack1.FBX
|
||||
subClipName: Attack3_S_{CID}
|
||||
sourceClipName: Spear_Attack1
|
||||
incomingExitTime: 0.75
|
||||
createIfMissing: 1
|
||||
firstFrame: 3
|
||||
lastFrame: 8
|
||||
speed: 1
|
||||
events:
|
||||
- functionName: LookAtTarget
|
||||
time: 0
|
||||
useNormalized: 1
|
||||
normalizedTime: 0
|
||||
stringParameter:
|
||||
intParameter: 0
|
||||
floatParameter: 0
|
||||
- functionName: ShowEffect
|
||||
time: 0
|
||||
useNormalized: 1
|
||||
normalizedTime: 0.2
|
||||
stringParameter: Effect_Slash_10101_2
|
||||
intParameter: 1
|
||||
floatParameter: 0
|
||||
- functionName: Move
|
||||
time: 0
|
||||
useNormalized: 1
|
||||
normalizedTime: 0.4
|
||||
stringParameter:
|
||||
intParameter: 0
|
||||
floatParameter: 0.05
|
||||
- functionName: Projectile
|
||||
time: 0
|
||||
useNormalized: 1
|
||||
normalizedTime: 0.6
|
||||
stringParameter: Projectile_10101
|
||||
intParameter: 0
|
||||
floatParameter: 0
|
||||
- stateName: Attack3b
|
||||
sourceFbxPath: Assets/Shinabro/Platform_Animation/Animation/07_Spear/Stander@Spear_Attack1.FBX
|
||||
subClipName: Attack3b_S_{CID}
|
||||
sourceClipName: Spear_Attack1
|
||||
incomingExitTime: 0.9
|
||||
createIfMissing: 1
|
||||
firstFrame: 3
|
||||
lastFrame: 8
|
||||
speed: 1
|
||||
events:
|
||||
- functionName: LookAtTarget
|
||||
time: 0
|
||||
useNormalized: 1
|
||||
normalizedTime: 0
|
||||
stringParameter:
|
||||
intParameter: 0
|
||||
floatParameter: 0
|
||||
- functionName: ShowEffect
|
||||
time: 0
|
||||
useNormalized: 1
|
||||
normalizedTime: 0.2
|
||||
stringParameter: Effect_Slash_10101_2
|
||||
intParameter: 1
|
||||
floatParameter: 0
|
||||
- functionName: Move
|
||||
time: 0
|
||||
useNormalized: 1
|
||||
normalizedTime: 0.4
|
||||
stringParameter:
|
||||
intParameter: 0
|
||||
floatParameter: 0.05
|
||||
- stateName: Attack3c
|
||||
sourceFbxPath: Assets/Shinabro/Platform_Animation/Animation/07_Spear/Stander@Spear_Attack1.FBX
|
||||
subClipName: Attack3c_S_{CID}
|
||||
sourceClipName: Spear_Attack1
|
||||
incomingExitTime: 0.9
|
||||
createIfMissing: 1
|
||||
firstFrame: 3
|
||||
lastFrame: 8
|
||||
speed: 1
|
||||
events:
|
||||
- functionName: LookAtTarget
|
||||
time: 0
|
||||
useNormalized: 1
|
||||
normalizedTime: 0
|
||||
stringParameter:
|
||||
intParameter: 0
|
||||
floatParameter: 0
|
||||
- functionName: ShowEffect
|
||||
time: 0
|
||||
useNormalized: 1
|
||||
normalizedTime: 0.2
|
||||
stringParameter: Effect_Slash_10101_2
|
||||
intParameter: 1
|
||||
floatParameter: 0
|
||||
- functionName: Move
|
||||
time: 0
|
||||
useNormalized: 1
|
||||
normalizedTime: 0.4
|
||||
stringParameter:
|
||||
intParameter: 0
|
||||
floatParameter: 0.05
|
||||
- functionName: Projectile
|
||||
time: 0
|
||||
useNormalized: 1
|
||||
normalizedTime: 0.6
|
||||
stringParameter: Projectile_10101
|
||||
intParameter: 0
|
||||
floatParameter: 0
|
||||
- stateName: Attack3d
|
||||
sourceFbxPath: Assets/Shinabro/Platform_Animation/Animation/07_Spear/Stander@Spear_Attack1.FBX
|
||||
subClipName: Attack3d_S_{CID}
|
||||
sourceClipName: Spear_Attack1
|
||||
incomingExitTime: 0.9
|
||||
createIfMissing: 1
|
||||
firstFrame: 3
|
||||
lastFrame: 8
|
||||
speed: 1
|
||||
events:
|
||||
- functionName: LookAtTarget
|
||||
time: 0
|
||||
useNormalized: 1
|
||||
normalizedTime: 0
|
||||
stringParameter:
|
||||
intParameter: 0
|
||||
floatParameter: 0
|
||||
- functionName: ShowEffect
|
||||
time: 0
|
||||
useNormalized: 1
|
||||
normalizedTime: 0.2
|
||||
stringParameter: Effect_Slash_10101_2
|
||||
intParameter: 1
|
||||
floatParameter: 0
|
||||
- functionName: Move
|
||||
time: 0
|
||||
useNormalized: 1
|
||||
normalizedTime: 0.4
|
||||
stringParameter:
|
||||
intParameter: 0
|
||||
floatParameter: 0.05
|
||||
- stateName: Attack3e
|
||||
sourceFbxPath: Assets/Shinabro/Platform_Animation/Animation/07_Spear/Stander@Spear_Attack1.FBX
|
||||
subClipName: Attack3e_S_{CID}
|
||||
sourceClipName: Spear_Attack1
|
||||
incomingExitTime: 0.9
|
||||
createIfMissing: 1
|
||||
firstFrame: 3
|
||||
lastFrame: 8
|
||||
speed: 1
|
||||
events:
|
||||
- functionName: LookAtTarget
|
||||
time: 0
|
||||
useNormalized: 1
|
||||
normalizedTime: 0
|
||||
stringParameter:
|
||||
intParameter: 0
|
||||
floatParameter: 0
|
||||
- functionName: ShowEffect
|
||||
time: 0
|
||||
useNormalized: 1
|
||||
normalizedTime: 0.2
|
||||
stringParameter: Effect_Slash_10101_2
|
||||
intParameter: 1
|
||||
floatParameter: 0
|
||||
- functionName: Move
|
||||
time: 0
|
||||
useNormalized: 1
|
||||
normalizedTime: 0.4
|
||||
stringParameter:
|
||||
intParameter: 0
|
||||
floatParameter: 0.05
|
||||
- functionName: Projectile
|
||||
time: 0
|
||||
useNormalized: 1
|
||||
normalizedTime: 0.6
|
||||
stringParameter: Projectile_10101
|
||||
intParameter: 0
|
||||
floatParameter: 0
|
||||
- stateName: Attack3f
|
||||
sourceFbxPath: Assets/Shinabro/Platform_Animation/Animation/07_Spear/Stander@Spear_Attack1.FBX
|
||||
subClipName: Attack3f_S_{CID}
|
||||
sourceClipName: Spear_Attack1
|
||||
incomingExitTime: 0.9
|
||||
createIfMissing: 1
|
||||
firstFrame: 3
|
||||
lastFrame: 8
|
||||
speed: 1
|
||||
events:
|
||||
- functionName: LookAtTarget
|
||||
time: 0
|
||||
useNormalized: 1
|
||||
normalizedTime: 0
|
||||
stringParameter:
|
||||
intParameter: 0
|
||||
floatParameter: 0
|
||||
- functionName: ShowEffect
|
||||
time: 0
|
||||
useNormalized: 1
|
||||
normalizedTime: 0.2
|
||||
stringParameter: Effect_Slash_10101_2
|
||||
intParameter: 1
|
||||
floatParameter: 0
|
||||
- functionName: Move
|
||||
time: 0
|
||||
useNormalized: 1
|
||||
normalizedTime: 0.4
|
||||
stringParameter:
|
||||
intParameter: 0
|
||||
floatParameter: 0.05
|
||||
- stateName: Attack4
|
||||
sourceFbxPath: Assets/Shinabro/Platform_Animation/Animation/07_Spear/Stander@Spear_Attack2.FBX
|
||||
subClipName: Attack4_S_{CID}
|
||||
sourceClipName: Spear_Attack2
|
||||
incomingExitTime: 0.9
|
||||
createIfMissing: 0
|
||||
createIfMissing: 1
|
||||
firstFrame: -1
|
||||
lastFrame: -1
|
||||
speed: 0
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -0,0 +1,7 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 50ce0d1c1c4eb454c85b90082caba298
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
|
@ -96,6 +96,17 @@
|
|||
"fit": 1.4,
|
||||
"offsetCompensate": true
|
||||
},
|
||||
{
|
||||
"classIds": [
|
||||
10302
|
||||
],
|
||||
"skills": [ "Skill_MeteoStorm" ],
|
||||
"prefab": "WL_Hit_StaffMeteor",
|
||||
"scale": 1.0,
|
||||
"fit": 1.6,
|
||||
"offsetCompensate": true,
|
||||
"_note_967": "#967 PD 「지팡이 각성 메테오가 떨어진 후 폭파 연기가 너무 짙은 검은색에 가까운데 자연스러운 흙먼지와 같은 반투명한 브라운 계열로」 — Play 끄기 실측(967_diag2 · 캡처 967h_k1_*): 검은 연기 · 검은 돌 = 운석마다 대상 몸에 뜨는 아래 행 WL_Hit_StaffSkill(먼지 회색 0.42→0.21 · 돌 0.28~0.36) → 메테오만 갈색 사본(먼지 반투명 갈색 α0.6→0.45 · 돌 갈색 · 만들기 scripts/wl/probes/967_meteorhit.cs) · 오브 · 마법책 · 지팡이 주력 피격은 그대로"
|
||||
},
|
||||
{
|
||||
"classIds": [
|
||||
10301,
|
||||
|
|
@ -330,8 +341,9 @@
|
|||
10701
|
||||
],
|
||||
"stages": [
|
||||
2
|
||||
3
|
||||
],
|
||||
"_note_967": "#967 창 콤보 4단 — 찌르기 6연타가 2타 → 3타(Attack3~3f_S_10701)로 옮겨 단계 2 → 3",
|
||||
"prefab": "WL_Impact_SpearBlast",
|
||||
"scale": 0.4,
|
||||
"euler": [ 0, -90, -26 ],
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
{
|
||||
"enabled": 1,
|
||||
"rules": [
|
||||
{ "skill": "Skill_DarkAmbush", "pushScale": 0.0, "knockbackScale": 0.0, "staggerSeconds": 0.15, "_note_967": "#967 PD 「비수 각성 스킬 사용 시 적이 밀려나는 현상이 없도록」 — 각성(환영 난무) 판정 = 원본 Skill_DarkAmbush 충돌체(0.25 s 뒤 1.75 s) · 맞을 때마다 원본 넉백(f_KnockbackTime + AttackKnockBack) + 피격 밀기(MobStagger)가 걸렸다 → 넉백 시작 안 함 · 밀기 × 0 · 맞는 반응은 경직 0.15 s" },
|
||||
{ "skill": "Skill_ShadowSlash", "pushScale": 0.05, "knockbackScale": 0.0, "staggerSeconds": 0.15, "_note_962": "#962 PD 「비수 주력 사용 시 판정이 발생되지 않는다」 — Play 실측: 판정은 나지만 맞을 때마다 원본 넉백 + 피격 밀기로 더미가 2 s 동안 1.0 → 3.4 m 밀려 제자리 난사 이펙트 밖으로 나가고 4.0 m 를 넘으면 빗나감 → 넉백 끔 · 밀기 × 0.05 · 맞을 때마다 경직 0.15 s(맞는 반응이 보이게)" },
|
||||
{
|
||||
"skill": "Skill_DashSlash",
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@
|
|||
"turnDegPerSec": 1440,
|
||||
"snapAtHitbox": 1,
|
||||
"minDistance": 0.05,
|
||||
"holdClips": [ "Attack4_S_10202", "Attack2_S_10701", "Attack2b_S_10701", "Attack2c_S_10701", "Attack2d_S_10701", "Attack2e_S_10701", "Attack2f_S_10701" ],
|
||||
"holdClips": [ "Attack4_S_10202", "Attack3_S_10701", "Attack3b_S_10701", "Attack3c_S_10701", "Attack3d_S_10701", "Attack3e_S_10701", "Attack3f_S_10701" ],
|
||||
"_note_967": "#967 창 콤보 4단(1타 횡베기 · 2타 내려치기 · 3타 찌르기 6연타 · 4타 강한 찌르기) — 찌르기 6연타 클립 이름이 Attack2~2f → Attack3~3f_S_10701 로 바뀌어 유지 목록도 옮김",
|
||||
"_note_963": "#963 PD 「비수 4타는 플레이어가 방향을 바꿔 공격하지 않고 원래 적을 공격하던 방향 그대로」 — 4타(대상을 뚫고 지나가는 돌진)는 매 프레임 대상 쪽 돌기 때문에 지나간 뒤 156~162° 돌아섰다(Play 실측) → 이 클립 동안은 들어온 순간의 대상 쪽 방향 유지 · 창 2타 찌르기 6연타(Attack2~2f)도 같은 유지(#943-⑤ 방향 고정을 창 따라가기 이펙트로 바꾸며 옮김)"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -444,6 +444,12 @@ namespace WL.Combat
|
|||
[Tooltip("#966 타별 호 겨누기(0~1) — 칸 번호 = 타 − 1 · 1 = 호 가운데를 대상(없으면 PC 정면) 쪽으로 호 면 안에서 돌린다 · 0 = 궤적 실측 그대로(비수 1·2타 = PD 「몬스터 방향으로」)")]
|
||||
public float[] arcAimStages = new float[0];
|
||||
|
||||
[Tooltip("#967 타별 수평 반원(0 = 끔 · +1 = 법선 위 = 위에서 볼 때 왼쪽 → 오른쪽 · −1 = 법선 아래 = 오른쪽 → 왼쪽) — 칸 번호 = 타 − 1 · 궤적 실측 면 대신 수평 면 · 호 가운데 = 대상(없으면 PC 정면) 쪽 · 중심 = PC(보정 피벗 높이) · 기울기 · 겨누기 생략(비수 4타 = PD 「플레이어 전방을 반원 형태로 가르는 횡베기」)")]
|
||||
public float[] arcFlatStages = new float[0];
|
||||
|
||||
[Tooltip("#967 수평 반원 중심을 PC 에서 호 가운데 쪽으로 이만큼(m) 민다 · 0 = PC 자리")]
|
||||
public float arcFlatForward;
|
||||
|
||||
/// <summary>#966 이 타의 호 겨누기 비율(0~1) — 없으면 0.</summary>
|
||||
public float StageAim(string effectName)
|
||||
{
|
||||
|
|
@ -453,6 +459,16 @@ namespace WL.Combat
|
|||
return Mathf.Clamp01(arcAimStages[st - 1]);
|
||||
}
|
||||
|
||||
/// <summary>#967 이 타의 수평 반원 부호(+1 · −1) — 없으면 0(끔).</summary>
|
||||
public float StageFlat(string effectName)
|
||||
{
|
||||
if (arcFlatStages == null || arcFlatStages.Length == 0 || string.IsNullOrEmpty(effectName)) return 0f;
|
||||
int i = effectName.LastIndexOf('_'), st;
|
||||
if (i < 0 || !int.TryParse(effectName.Substring(i + 1), out st) || st < 1 || st > arcFlatStages.Length) return 0f;
|
||||
float v = arcFlatStages[st - 1];
|
||||
return Mathf.Abs(v) < 0.01f ? 0f : Mathf.Sign(v);
|
||||
}
|
||||
|
||||
/// <summary>#964 이 타(ShowEffect 이름 끝 숫자 · Effect_Slash_{직업}_{타})의 호 크기 배율 — 없으면 1.</summary>
|
||||
public float StageSizeMul(string effectName)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -6362,8 +6362,8 @@ ParticleSystem:
|
|||
maxColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
maxGradient:
|
||||
serializedVersion: 2
|
||||
key0: {r: 0.93, g: 0.91, b: 0.88, a: 0.7}
|
||||
key1: {r: 0.84, g: 0.84, b: 0.86, a: 0.55}
|
||||
key0: {r: 0.66, g: 0.52, b: 0.38, a: 0.55}
|
||||
key1: {r: 0.55, g: 0.44, b: 0.33, a: 0.4}
|
||||
key2: {r: 0, g: 0, b: 0, a: 0}
|
||||
key3: {r: 0, g: 0, b: 0, a: 0}
|
||||
key4: {r: 0, g: 0, b: 0, a: 0}
|
||||
|
|
@ -49604,8 +49604,8 @@ ParticleSystem:
|
|||
startColor:
|
||||
serializedVersion: 2
|
||||
minMaxState: 2
|
||||
minColor: {r: 0.78, g: 0.75, b: 0.72, a: 0.8}
|
||||
maxColor: {r: 0.93, g: 0.91, b: 0.88, a: 0.8}
|
||||
minColor: {r: 0.6, g: 0.47, b: 0.34, a: 0.7}
|
||||
maxColor: {r: 0.72, g: 0.58, b: 0.43, a: 0.7}
|
||||
maxGradient:
|
||||
serializedVersion: 2
|
||||
key0: {r: 1, g: 1, b: 1, a: 1}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"enabled": 1,
|
||||
"classes": [ 10402, 10401 ],
|
||||
"states": [ "attack", "Bow_Attack2", "Bow_Attack3", "Bow_Skill4_Push" ],
|
||||
"rightOffset": [ 0.17, -0.03, -0.02 ],
|
||||
"leftOffset": [ -0.10, -0.03, 0.12 ],
|
||||
"weight": 1.0,
|
||||
"rampIn": 0.15,
|
||||
"rampOut": 0.85,
|
||||
"note": "#967 PD 「활 기본 공격시에도 한쪽 손이 가만히 있는 동작처럼 보이는 현상 — 위에서 내려다 볼 때 특히 · 아래에서 위를 볼 때도 한손만 쓰는 것처럼」 — 원인(편집 모드 손 실측 scripts/wl/probes/967_bowhands.cs): 활 1·2타 두 손이 머리 높이에서 앞뒤 일직선(좌우 0.00~0.15 m)이라 화면 위/아래로 쏠 때 큰 머리가 한 손을 가린다 → 이 상태들을 재생하는 동안 IK 로 당기는 손(오른손)을 PC 오른쪽 0.17 m(머리 옆으로 보이게), 활 손(왼손)을 앞 0.12 m · 왼쪽 0.10 m 더 뻗는다(머리 앞으로 활이 나오게 · 1차 값 좌우 ±0.2 는 화면 아래를 볼 때 팔을 양옆으로 벌린 모양 · Play 캡처 967_b_dn_on) · 손 방향은 애니메이션 그대로 · 가중치 = 상태 0.15 까지 오름 · 0.85 부터 내림 · 컨트롤러 기본 층 IK Pass 필요(pcanim_archer · pcanim_rookiearcher) · 값은 PM 추정(Play 캡처로 확인)"
|
||||
}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
fileFormatVersion: 2
|
||||
guid: a57eaf963771fc348aabe0355185dad2
|
||||
TextScriptImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
|
@ -88,21 +88,29 @@
|
|||
10701
|
||||
],
|
||||
"stage": 1,
|
||||
"frontReach": 1.5,
|
||||
"_note_943": "#943-⑥ PD 「창 사거리를 실제 창 길이에 맞게」 — 앞 끝 = 창끝 정면 도달 실측(편집 모드 · 게임과 같은 PC LH_M05 × 1.0527 · 창 WL_W_Spear_T05_003 1.846 m · 60 Hz 포즈 · AgentScripts/WL828_TrailBake.ProbeDump): 1·2타(수평 회전 베기) 최대 1.29 · 3타(내려찍기) 1.55 m. 이전 2.66~2.78 = 사거리 2.5 크기 궤적 기준"
|
||||
"frontReach": 1.29,
|
||||
"_note_943": "#943-⑥ PD 「창 사거리를 실제 창 길이에 맞게」 — 앞 끝 = 창끝 정면 도달 실측(편집 모드 · 게임과 같은 PC LH_M05 × 1.0527 · 창 WL_W_Spear_T05_003 1.846 m · 60 Hz 포즈 · AgentScripts/WL828_TrailBake.ProbeDump): 1·2타(수평 회전 베기) 최대 1.29 · 3타(내려찍기) 1.55 m. 이전 2.66~2.78 = 사거리 2.5 크기 궤적 기준",
|
||||
"_note_967": "#967 창 콤보 4단 — 1타 = Spearman Attack2_S 횡베기(#943 실측 1.29) · 2타 = Spearman Attack1 내려치기(#943 실측 1.55) · 3타 = 찌르기 6연타(#944 의 2타 값 1.5) · 4타 = 강한 찌르기(#944 의 3타 값 1.47)"
|
||||
},
|
||||
{
|
||||
"classIds": [
|
||||
10701
|
||||
],
|
||||
"stage": 2,
|
||||
"frontReach": 1.5
|
||||
"frontReach": 1.55
|
||||
},
|
||||
{
|
||||
"classIds": [
|
||||
10701
|
||||
],
|
||||
"stage": 3,
|
||||
"frontReach": 1.5
|
||||
},
|
||||
{
|
||||
"classIds": [
|
||||
10701
|
||||
],
|
||||
"stage": 4,
|
||||
"frontReach": 1.47
|
||||
},
|
||||
{
|
||||
|
|
|
|||
|
|
@ -5,12 +5,16 @@
|
|||
],
|
||||
"shots": 3,
|
||||
"shotState": "attack",
|
||||
"shotClip": "FR_Bow1_10402",
|
||||
"drawNormalized": 0.8,
|
||||
"fromNormalized": 0.55,
|
||||
"shotSpeed": 2.5,
|
||||
"shotClip": "BowShot1_S_10402",
|
||||
"drawNormalized": 0.5,
|
||||
"chargeFromNormalized": 0.3,
|
||||
"chargeDrawSeconds": 0.35,
|
||||
"releaseNormalized": 0.56,
|
||||
"fromNormalized": 0.3,
|
||||
"shotSpeed": 1.75,
|
||||
"endNormalized": 0.97,
|
||||
"chargeSeconds": 0.6,
|
||||
"_note_967": "#967 PD 「주력 스킬 모으기 시 활을 들지 않는 손이 멈춰 있는데 자연스럽게 활을 쏠 때와 같이 활시위를 당기는 포즈로 모으도록」 — 원인(편집 모드 손 실측 scripts/wl/probes/967_bowhands.cs): #954 에 1타 클립이 FR_Bow1 → BowShot1_S_10402(Archer RangeAttack1)로 바뀌었는데 모으기 자리 0.8 · 놓는 클립 이름 FR_Bow1 이 그대로라 ① 모으기 = 시위를 놓고 활을 내린 뒤 자세(왼손 높이 0.39 m · 오른손 정지)에서 멈춤 ② 놓는 이벤트를 못 찾아 0.92(활 내린 뒤)에 발사. 수정 = 모으기 첫 0.35 s 에 0.30(활 든 채 턱 앞 시위)→0.50(끝까지 당김 · 오른손 뒤 0.36 m) 당긴 뒤 유지 · 발사 = 놓는 순간 0.56 · 둘째 발부터 0.30 에서 다시 당겨 쏨(배속 1.75 = 발 간격 약 0.1 s · 이전과 같은 박자) · 놓는 클립 이름 BowShot1_S_10402",
|
||||
"socket": "w_archer_l",
|
||||
"chargeFx": "WL/Fx/WL_Fx_BowCharge",
|
||||
"chargeFxScale": 0.08,
|
||||
|
|
|
|||
|
|
@ -174,6 +174,37 @@
|
|||
"launchHeight": 0.0,
|
||||
"launchSeconds": 0.6,
|
||||
"stunSeconds": 0.0,
|
||||
"meteor": 1,
|
||||
"meteorRule": {
|
||||
"skill": "Attack3Meteor",
|
||||
"center": "target",
|
||||
"fx": {
|
||||
"prefab": "WL/Fx/WL_Fx_Meteor01",
|
||||
"scale": 0.45,
|
||||
"bodyScale": 0,
|
||||
"offset": [ 0, 0, 0 ],
|
||||
"euler": [ 0, 0, 0 ],
|
||||
"life": 1.6,
|
||||
"fade": 0.3,
|
||||
"follow": 0,
|
||||
"socket": "",
|
||||
"head": 0,
|
||||
"headPull": 0.08
|
||||
},
|
||||
"hitDelay": 0.0,
|
||||
"spreadSpeed": 0,
|
||||
"radius": 1.2,
|
||||
"launchHeight": 0,
|
||||
"launchSeconds": 0.6,
|
||||
"stunSeconds": 0,
|
||||
"endAfter": 0.3,
|
||||
"meteors": 1,
|
||||
"meteorArea": 0.0,
|
||||
"meteorInterval": 0.0,
|
||||
"meteorImpact": 0.67,
|
||||
"meteorYaw": 30
|
||||
},
|
||||
"_note_967": "#967 PD 「지팡이 공격 마지막 타 — 포즈 지속시간 0.5초 늘리고 · 기본 공격 투사체 대신 메테오(각성 스킬에 사용중인 이펙트) 한 발이 대상에게 떨어지도록」 — meteor 1 = 3타 투사체를 쏘는 순간 넘겨받아 숨기고 대상 자리(meteorArea 0)에 각성과 같은 운석(WL_Fx_Meteor01 · 배율 0.45 · 낙하 0.67 s) 1개 · 땅에 닿는 순간 반경 1.2 m(공격표 3타 aoe_radius_m 과 같은 값) 안 적에게 그 투사체 피해(띄움은 WLStageHitReaction 10302 3행 그대로) · 기절 0 · 바위 솟음(fx)은 메테오 3타에선 띄우지 않음(PM 해석 — 각성 메테오와 같은 겉모습) · 포즈 = CombatAnimMapping 10302 attack3 속도 0.25 → 0.1225(상태 0.53 → 1.09 s · idle 전환 시작 0.48 → 0.98 s · 발사 시각 0.08 s 유지)",
|
||||
"_note_948": "#948 PD 「3타 바위 크기 절반」 fx.scale 0.3 → 0.15 · 띄움·기절은 WLStageHitReaction 10302 3행(바위 등장 0.2 s 뒤 Fling)으로 옮겨 0 · 갈라짐(crack) 검정 → 브라운은 프리팹 입자 시작색"
|
||||
},
|
||||
"castCircleClasses": [
|
||||
|
|
|
|||
|
|
@ -29,12 +29,14 @@
|
|||
9003,무희의 쌍검,Dagger,10201,pcanim_bladedancer,3,DEX,1.0,3,DualBlades_Attack3,Area,4,0.3,1,0,1.5,0,0,0,Projectile_10201,Effect_Slash_10201_3,Effect_Hit_10201,703202|703203,M:class_id;anim_controller;anim_state;range_m;hitbox_prefab;slash_vfx;hit_vfx;ref_skill_ids
|
||||
9005,정령의 셉터,Staff,10303,pcanim_summoner,4,INT,1.0,1,attack,Projectile,1,1.2,5,0,0,12,0,0,Projectile_10303,,Effect_Hit_10303,703307|703309,M:class_id;anim_controller;anim_state;range_m;hitbox_prefab;hit_vfx;ref_skill_ids
|
||||
9009,마법책(가칭),Staff,10303,pcanim_summoner,4,INT,1.0,1,attack,Projectile,1,1.2,5,0,0,12,0,0,Projectile_10303,,Effect_Hit_10303,703307|703309,M:class_id;anim_controller;anim_state;range_m;hitbox_prefab;hit_vfx;ref_skill_ids
|
||||
9006,철창(가칭),Spear,10701,pcanim_spear,2,DEX,1.0,1,attack,MeleeArc,1,1.1,1.5,60,0,0,0,0.3,Projectile_10101,,Effect_Hit_10101,,M:class_id;anim_controller;anim_state;range_m;hitbox_prefab;hit_vfx
|
||||
9006,철창(가칭),Spear,10701,pcanim_spear,2,DEX,1.0,2,Attack2,MeleeArc,1,1.1,1.5,60,0,0,0,0.2,Projectile_10101,,Effect_Hit_10101,,M:class_id;anim_controller;anim_state;range_m;hitbox_prefab;hit_vfx
|
||||
9006,철창(가칭),Spear,10701,pcanim_spear,2,DEX,1.0,3,Attack3,MeleeArc,1,1.7,1.47,40,0,0,1,0.5,Projectile_10101,,Effect_Hit_10101,,M:class_id;anim_controller;anim_state;range_m;hitbox_prefab;hit_vfx
|
||||
9007,은창(가칭),Spear,10701,pcanim_spear,3,DEX,1.0,1,attack,MeleeArc,1,1.1,1.5,60,0,0,0,0.3,Projectile_10101,,Effect_Hit_10101,,M:class_id;anim_controller;anim_state;range_m;hitbox_prefab;hit_vfx
|
||||
9007,은창(가칭),Spear,10701,pcanim_spear,3,DEX,1.0,2,Attack2,MeleeArc,1,1.1,1.5,60,0,0,0,0.2,Projectile_10101,,Effect_Hit_10101,,M:class_id;anim_controller;anim_state;range_m;hitbox_prefab;hit_vfx
|
||||
9007,은창(가칭),Spear,10701,pcanim_spear,3,DEX,1.0,3,Attack3,MeleeArc,1,1.7,1.47,40,0,0,1,0.5,Projectile_10101,,Effect_Hit_10101,,M:class_id;anim_controller;anim_state;range_m;hitbox_prefab;hit_vfx
|
||||
9006,철창(가칭),Spear,10701,pcanim_spear,2,DEX,1.0,1,attack,MeleeArc,1,1.1,1.29,60,0,0,0,0.3,Projectile_10101,,Effect_Hit_10101,,M:class_id;anim_controller;anim_state;range_m;hitbox_prefab;hit_vfx #967:4단(1 횡베기 Spearman Attack2_S · 2 내려치기 Spearman Attack1 · 3 찌르기 6연타 · 4 강한 찌르기 · 2단 피해 1.1 = 1단 값 임시)
|
||||
9006,철창(가칭),Spear,10701,pcanim_spear,2,DEX,1.0,2,Attack2,MeleeArc,1,1.1,1.55,60,0,0,0,0.3,Projectile_10101,,Effect_Hit_10101,,M:class_id;anim_controller;anim_state;range_m;hitbox_prefab;hit_vfx #967:4단(1 횡베기 Spearman Attack2_S · 2 내려치기 Spearman Attack1 · 3 찌르기 6연타 · 4 강한 찌르기 · 2단 피해 1.1 = 1단 값 임시)
|
||||
9006,철창(가칭),Spear,10701,pcanim_spear,2,DEX,1.0,3,Attack3,MeleeArc,1,1.1,1.5,60,0,0,0,0.2,Projectile_10101,,Effect_Hit_10101,,M:class_id;anim_controller;anim_state;range_m;hitbox_prefab;hit_vfx #967:4단(1 횡베기 Spearman Attack2_S · 2 내려치기 Spearman Attack1 · 3 찌르기 6연타 · 4 강한 찌르기 · 2단 피해 1.1 = 1단 값 임시)
|
||||
9006,철창(가칭),Spear,10701,pcanim_spear,2,DEX,1.0,4,Attack4,MeleeArc,1,1.7,1.47,40,0,0,1,0.5,Projectile_10101,,Effect_Hit_10101,,M:class_id;anim_controller;anim_state;range_m;hitbox_prefab;hit_vfx #967:4단(1 횡베기 Spearman Attack2_S · 2 내려치기 Spearman Attack1 · 3 찌르기 6연타 · 4 강한 찌르기 · 2단 피해 1.1 = 1단 값 임시)
|
||||
9007,은창(가칭),Spear,10701,pcanim_spear,3,DEX,1.0,1,attack,MeleeArc,1,1.1,1.29,60,0,0,0,0.3,Projectile_10101,,Effect_Hit_10101,,M:class_id;anim_controller;anim_state;range_m;hitbox_prefab;hit_vfx #967:4단(1 횡베기 Spearman Attack2_S · 2 내려치기 Spearman Attack1 · 3 찌르기 6연타 · 4 강한 찌르기 · 2단 피해 1.1 = 1단 값 임시)
|
||||
9007,은창(가칭),Spear,10701,pcanim_spear,3,DEX,1.0,2,Attack2,MeleeArc,1,1.1,1.55,60,0,0,0,0.3,Projectile_10101,,Effect_Hit_10101,,M:class_id;anim_controller;anim_state;range_m;hitbox_prefab;hit_vfx #967:4단(1 횡베기 Spearman Attack2_S · 2 내려치기 Spearman Attack1 · 3 찌르기 6연타 · 4 강한 찌르기 · 2단 피해 1.1 = 1단 값 임시)
|
||||
9007,은창(가칭),Spear,10701,pcanim_spear,3,DEX,1.0,3,Attack3,MeleeArc,1,1.1,1.5,60,0,0,0,0.2,Projectile_10101,,Effect_Hit_10101,,M:class_id;anim_controller;anim_state;range_m;hitbox_prefab;hit_vfx #967:4단(1 횡베기 Spearman Attack2_S · 2 내려치기 Spearman Attack1 · 3 찌르기 6연타 · 4 강한 찌르기 · 2단 피해 1.1 = 1단 값 임시)
|
||||
9007,은창(가칭),Spear,10701,pcanim_spear,3,DEX,1.0,4,Attack4,MeleeArc,1,1.7,1.47,40,0,0,1,0.5,Projectile_10101,,Effect_Hit_10101,,M:class_id;anim_controller;anim_state;range_m;hitbox_prefab;hit_vfx #967:4단(1 횡베기 Spearman Attack2_S · 2 내려치기 Spearman Attack1 · 3 찌르기 6연타 · 4 강한 찌르기 · 2단 피해 1.1 = 1단 값 임시)
|
||||
9008,대검(가칭),Greatsword,10801,pcanim_greatsword,2,STR,1.0,1,attack,MeleeArc,1,1.2,1.8,150,0,0,0,0.3,Projectile_10101,,Effect_Hit_10101,703102|703603,M:class_id;anim_controller;anim_state;hitbox_prefab;hit_vfx
|
||||
9008,대검(가칭),Greatsword,10801,pcanim_greatsword,2,STR,1.0,2,Attack2,MeleeArc,1,1.2,1.8,150,0,0,0,0.15,Projectile_10101,,Effect_Hit_10101,703102|703603,M:class_id;anim_controller;anim_state;hitbox_prefab;hit_vfx
|
||||
9008,대검(가칭),Greatsword,10801,pcanim_greatsword,2,STR,1.0,3,Attack3,MeleeArc,1,1.9,2.0,180,0,0,0,0.31,Projectile_10101,,Effect_Hit_10101,703102|703603,M:class_id;anim_controller;anim_state;hitbox_prefab;hit_vfx
|
||||
|
|
|
|||
|
|
|
@ -36,6 +36,7 @@ namespace WL.Combat.Weapon
|
|||
var pc = MyValue.MyPC;
|
||||
if (pc == null) return;
|
||||
if (pc.GetComponent<WLBowChargeReceiver>() == null) pc.gameObject.AddComponent<WLBowChargeReceiver>();
|
||||
WLBowPoseIK.Ensure(pc); // #967 활 쏘는 자세 두 손 벌리기(IK)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,107 @@
|
|||
// ─────────────────────────────────────────────────────────────────────────────
|
||||
// WLBowPoseIK.cs — 활 쏘는 자세에서 두 손을 머리 바깥으로 벌린다 (#967 · 2026-10-22)
|
||||
//
|
||||
// PD 원문: 「활 기본 공격시에도 한쪽 손이 가만히 있는 동작처럼 보이는 현상을 수정해줘. (위에서 아래로 내려다 보는 각도일 때 특히 두드러지며, 아래에서 위를 볼때도 한손만 쓰는 것처럼 보임)」
|
||||
// ■ 원인(편집 모드 손 실측 · 조직 레포 scripts/wl/probes/967_bowhands.cs) — 활 1·2타(Archer RangeAttack1 · BowShot1/2_S) 두 손이 머리 높이(0.6~0.86 m · 머리 0.70 m)에서
|
||||
// 앞뒤 일직선(활 손 앞 0.29 m · 당기는 손 뒤 0.36 m · 좌우 0.00~0.15 m) → 위 카메라에서 화면 위/아래로 쏘면 큰 머리가 한 손을 가린다(위를 보면 활 손 · 아래를 보면 당기는 손).
|
||||
// ■ 활 직업 PC 애니메이터의 IK(OnAnimatorIK · 컨트롤러 기본 층 IK Pass) — states 의 상태를 재생하는 동안 두 손 목표 = 애니메이션 손 위치 + PC 기준 오프셋
|
||||
// (rightOffset = 당기는 손 · leftOffset = 활 손 · (오른쪽, 위, 앞) m) · 손 방향(회전)은 애니메이션 그대로 · 가중치 = 상태 정규화 시각 rampIn 까지 0 → weight · rampOut 부터 weight → 0 · 전환 중엔 두 상태 가중치를 섞는다.
|
||||
// ■ 붙이기 = WLBowChargeBoot 가 0.5 s 마다 MyValue.MyPC 의 애니메이터 오브젝트에 보장(Ensure).
|
||||
// ■ 값 = Resources/WL/WLBowPoseIK.json (C45) · enabled 0 = 끔 · RuntimeDisabled(프로브 전후 비교용)
|
||||
// 🔴 Debug.LogError 금지(원본 팝업).
|
||||
// ─────────────────────────────────────────────────────────────────────────────
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
namespace WL.Combat.Weapon
|
||||
{
|
||||
[System.Serializable]
|
||||
public class WLBowPoseIKJson
|
||||
{
|
||||
public int enabled = 0;
|
||||
public int[] classes = new int[0];
|
||||
public string[] states = new string[0]; // 기본 층 상태 이름(활 기본 공격 · 속사가 쓰는 상태)
|
||||
public float[] rightOffset = { 0f, 0f, 0f }; // 당기는 손(오른손) 목표 오프셋 — PC 기준 (오른쪽, 위, 앞) m
|
||||
public float[] leftOffset = { 0f, 0f, 0f }; // 활 손(왼손)
|
||||
public float weight = 1f;
|
||||
public float rampIn = 0.15f, rampOut = 0.85f; // 상태 정규화 시각 — 0 → rampIn 가중치 오름 · rampOut → 1 내림
|
||||
public string note = "";
|
||||
}
|
||||
|
||||
public sealed class WLBowPoseIK : MonoBehaviour
|
||||
{
|
||||
public const string ResourcesPath = "WL/WLBowPoseIK";
|
||||
public static bool RuntimeDisabled;
|
||||
public static int Attached, Frames;
|
||||
public static float LastWeight;
|
||||
public static string LastLog = "";
|
||||
|
||||
static WLBowPoseIKJson s_cfg;
|
||||
static readonly HashSet<int> s_hashes = new HashSet<int>();
|
||||
|
||||
Animator _an; PCActor _pc;
|
||||
|
||||
static WLBowPoseIKJson Cfg
|
||||
{
|
||||
get
|
||||
{
|
||||
if (s_cfg != null) return s_cfg;
|
||||
s_cfg = new WLBowPoseIKJson(); s_hashes.Clear();
|
||||
var ta = Resources.Load<TextAsset>(ResourcesPath);
|
||||
if (ta == null) { LastLog = "설정 없음 " + ResourcesPath; return s_cfg; }
|
||||
try { JsonUtility.FromJsonOverwrite(ta.text, s_cfg); } catch (System.Exception ex) { LastLog = "설정 파싱 실패 — " + ex.Message; }
|
||||
if (s_cfg.states != null) foreach (var s in s_cfg.states) if (!string.IsNullOrEmpty(s)) s_hashes.Add(Animator.StringToHash(s));
|
||||
return s_cfg;
|
||||
}
|
||||
}
|
||||
|
||||
[RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.SubsystemRegistration)]
|
||||
static void Reset() { s_cfg = null; s_hashes.Clear(); RuntimeDisabled = false; Attached = Frames = 0; LastWeight = 0f; LastLog = ""; }
|
||||
|
||||
/// <summary>활 직업이면 PC 애니메이터 오브젝트에 붙인다(이미 있으면 그대로).</summary>
|
||||
public static void Ensure(PCActor pc)
|
||||
{
|
||||
if (pc == null || pc.m_animation == null) return;
|
||||
var c = Cfg; if (c.enabled == 0) return;
|
||||
var go = pc.m_animation.gameObject;
|
||||
if (go.GetComponent<WLBowPoseIK>() != null) return;
|
||||
go.AddComponent<WLBowPoseIK>(); Attached++;
|
||||
}
|
||||
|
||||
static Vector3 V(float[] a) { return a != null && a.Length >= 3 ? new Vector3(a[0], a[1], a[2]) : Vector3.zero; }
|
||||
|
||||
float StateWeight(AnimatorStateInfo st, WLBowPoseIKJson c)
|
||||
{
|
||||
if (!s_hashes.Contains(st.shortNameHash)) return 0f;
|
||||
float n = Mathf.Clamp01(st.normalizedTime);
|
||||
float w = 1f;
|
||||
if (c.rampIn > 0.001f && n < c.rampIn) w = n / c.rampIn;
|
||||
if (c.rampOut < 0.999f && n > c.rampOut) w = Mathf.Min(w, (1f - n) / Mathf.Max(0.001f, 1f - c.rampOut));
|
||||
return Mathf.Clamp01(w) * Mathf.Clamp01(c.weight);
|
||||
}
|
||||
|
||||
void OnAnimatorIK(int layer)
|
||||
{
|
||||
if (layer != 0 || RuntimeDisabled) return;
|
||||
var c = Cfg; if (c.enabled == 0 || s_hashes.Count == 0) return;
|
||||
if (_an == null) _an = GetComponent<Animator>();
|
||||
if (_pc == null) _pc = GetComponentInParent<PCActor>();
|
||||
if (_an == null || _pc == null || c.classes == null || System.Array.IndexOf(c.classes, _pc.Get_ID()) < 0) return;
|
||||
float w;
|
||||
if (_an.IsInTransition(0))
|
||||
{
|
||||
float tr = Mathf.Clamp01(_an.GetAnimatorTransitionInfo(0).normalizedTime);
|
||||
w = Mathf.Lerp(StateWeight(_an.GetCurrentAnimatorStateInfo(0), c), StateWeight(_an.GetNextAnimatorStateInfo(0), c), tr);
|
||||
}
|
||||
else w = StateWeight(_an.GetCurrentAnimatorStateInfo(0), c);
|
||||
LastWeight = w;
|
||||
if (w <= 0.001f) return;
|
||||
var rot = _pc.transform.rotation;
|
||||
var r = _an.GetIKPosition(AvatarIKGoal.RightHand) + rot * V(c.rightOffset);
|
||||
var l = _an.GetIKPosition(AvatarIKGoal.LeftHand) + rot * V(c.leftOffset);
|
||||
_an.SetIKPositionWeight(AvatarIKGoal.RightHand, w); _an.SetIKPosition(AvatarIKGoal.RightHand, r);
|
||||
_an.SetIKPositionWeight(AvatarIKGoal.LeftHand, w); _an.SetIKPosition(AvatarIKGoal.LeftHand, l);
|
||||
Frames++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 6fdce4d199995354c849182a2db94454
|
||||
|
|
@ -89,6 +89,12 @@ namespace WL.Combat.Weapon
|
|||
{
|
||||
if (pb == null) return;
|
||||
WLStaffEarth.OnProjectileSet(pb); // #935 지팡이 3타 투사체 표시(쏠 때마다 · 이미 겉모습을 붙인 풀 인스턴스도)
|
||||
try { OnSetVisual(pb); }
|
||||
finally { WLStaffEarth.AfterProjectileSet(pb); } // #967 3타 메테오 = 겉모습 자식까지 붙은 뒤 넘겨받아 모두 끈다
|
||||
}
|
||||
|
||||
static void OnSetVisual(ProjectileBase pb)
|
||||
{
|
||||
if (!s_loaded) Load();
|
||||
WLProjectileVisualRule rule;
|
||||
var n = pb.name;
|
||||
|
|
|
|||
|
|
@ -31,6 +31,11 @@ namespace WL.Combat.Weapon
|
|||
public string shotState = "attack";
|
||||
public string shotClip = "FR_Bow1_10402"; // 놓는 순간 = 이 클립의 Projectile 이벤트
|
||||
public float drawNormalized = 0.8f; // 모으기 동안 멈출 자세(활 당김) · 첫 발 시작
|
||||
// #967 PD 「주력 스킬 모으기 시 활을 들지 않는 손이 멈춰 있는데 — 활을 쏠 때와 같이 자연스럽게 활시위를 당기는 포즈로 모으도록」 — chargeFromNormalized ≥ 0 이면 모으기 첫 chargeDrawSeconds 동안
|
||||
// shotState 를 그 자리(활 든 채 시위에 손)부터 drawNormalized(끝까지 당김)까지 재생한 뒤 유지 · < 0 = 이전(처음부터 drawNormalized 정지)
|
||||
public float chargeFromNormalized = -1f;
|
||||
public float chargeDrawSeconds = 0.35f;
|
||||
public float releaseNormalized; // #967 > 0 = 놓는 순간(발사)을 이 정규화 시각으로 · 0 = shotClip 의 Projectile 이벤트
|
||||
public float fromNormalized = 0.55f; // 둘째 발부터 여기서 재생
|
||||
public float shotSpeed = 2.5f; // 발 재생 배속
|
||||
public float endNormalized = 0.97f; // 마지막 발 뒤 여기까지 재생하고 대기
|
||||
|
|
@ -126,7 +131,7 @@ namespace WL.Combat.Weapon
|
|||
IEnumerator Run()
|
||||
{
|
||||
var c = _c; var an = _an;
|
||||
float releaseN = ReleaseNormalized(an, c.shotClip);
|
||||
float releaseN = c.releaseNormalized > 0f ? c.releaseNormalized : ReleaseNormalized(an, c.shotClip);
|
||||
if (releaseN <= 0f) { WLRapidShot.LastLog = "놓는 이벤트 없음 " + c.shotClip; releaseN = 0.92f; }
|
||||
int n = Mathf.Clamp(c.shots, 1, _shots.Count);
|
||||
|
||||
|
|
@ -135,7 +140,9 @@ namespace WL.Combat.Weapon
|
|||
|
||||
// ② 모으기 — 활 당긴 자세 · 활 흰 빛 · 모으기 이펙트
|
||||
an.fireEvents = false; _animOwned = true;
|
||||
an.Play(c.shotState, 0, c.drawNormalized); an.speed = 0f; an.Update(0f);
|
||||
bool drawing = c.chargeFromNormalized >= 0f && c.chargeFromNormalized < c.drawNormalized; // #967 시위를 당기며 모은다
|
||||
float poseN = drawing ? c.chargeFromNormalized : c.drawNormalized;
|
||||
an.Play(c.shotState, 0, poseN); an.speed = 0f; an.Update(0f);
|
||||
Face();
|
||||
_socket = FindSocket(_pc, c.socket);
|
||||
if (_socket != null) { _glow.Begin(_socket, c.glowMaterial); _centerLocal = WLWeaponGlowFx.CenterLocal(_socket); }
|
||||
|
|
@ -147,7 +154,13 @@ namespace WL.Combat.Weapon
|
|||
{
|
||||
if (Broken()) { End(false); yield break; }
|
||||
if (an.speed != 0f) an.speed = 0f;
|
||||
if (!an.GetCurrentAnimatorStateInfo(0).IsName(c.shotState)) an.Play(c.shotState, 0, c.drawNormalized); // 다른 연출이 상태를 바꾸면 되돌림
|
||||
if (drawing) // #967 시위 당기기 — chargeDrawSeconds 동안 부드럽게 끝까지 → 유지
|
||||
{
|
||||
float dk = Mathf.SmoothStep(0f, 1f, Mathf.Clamp01(t / Mathf.Max(0.01f, c.chargeDrawSeconds)));
|
||||
float want = Mathf.Lerp(c.chargeFromNormalized, c.drawNormalized, dk);
|
||||
if (Mathf.Abs(want - poseN) > 1e-4f || !an.GetCurrentAnimatorStateInfo(0).IsName(c.shotState)) { poseN = want; an.Play(c.shotState, 0, poseN); }
|
||||
}
|
||||
else if (!an.GetCurrentAnimatorStateInfo(0).IsName(c.shotState)) an.Play(c.shotState, 0, c.drawNormalized); // 다른 연출이 상태를 바꾸면 되돌림
|
||||
float k = Mathf.Clamp01(t / Mathf.Max(0.01f, c.chargeSeconds));
|
||||
_glow.Set(c.glowMax * k, col, c.glowFill, c.glowRimPower);
|
||||
if (_charge != null) _charge.transform.position = BowCenter();
|
||||
|
|
|
|||
|
|
@ -78,6 +78,10 @@ namespace WL.Combat.Weapon
|
|||
public string stateName = "attack3"; // 쏘는 순간 애니메이터 현재 상태 이름(지팡이 콤보는 애니메이터 전환으로 이어져 CurAnim · ComboTracker 단계가 1 에 머문다)
|
||||
public WLStaffEarthFx fx = new WLStaffEarthFx();
|
||||
public float launchHeight = 1.5f, launchSeconds = 0.6f, stunSeconds = 0.5f;
|
||||
// #967 PD 「지팡이 공격 마지막 타 — 기본 공격 투사체 대신 메테오(각성 스킬에 사용중인 이펙트) 한 발이 대상에게 떨어지도록」 — 1 = 3타 투사체를 쏘는 순간(겉모습을 붙인 뒤) 넘겨받아
|
||||
// 숨기고 meteorRule(메테오 방식 · 운석 1개 · 대상 자리)로 떨어뜨려 땅에 닿는 순간 그 투사체 피해 · 이 경우 바위 솟음(fx)은 띄우지 않는다 · 0 = 이전(투사체 + 맞은 자리 바위)
|
||||
public int meteor;
|
||||
public WLStaffEarthSkill meteorRule = new WLStaffEarthSkill();
|
||||
}
|
||||
|
||||
[System.Serializable]
|
||||
|
|
@ -98,7 +102,8 @@ namespace WL.Combat.Weapon
|
|||
public static class WLStaffEarth
|
||||
{
|
||||
public const string ResourcesPath = "WL/WLStaffEarth";
|
||||
public static int Casts, TakeOvers, Hits, Launches, Marked, Popups, Errors, Circles, Meteors, SkillCastFxShown;
|
||||
public static int Casts, TakeOvers, Hits, Launches, Marked, Popups, Errors, Circles, Meteors, SkillCastFxShown, Attack3Meteors; // #967 Attack3Meteors = 3타 투사체를 메테오로 넘겨받은 수
|
||||
static ProjectileBase s_pendingMeteor; // #967 OnProjectileSet 이 고른 3타 투사체 — 겉모습 훅이 끝난 뒤(AfterProjectileSet) 넘겨받는다
|
||||
public static string MeteorSrc = ""; public static Vector3 MeteorCenter; public static readonly List<Vector3> MeteorPts = new List<Vector3>(), MeteorCenters = new List<Vector3>(); // #964 검증용(메테오 중심 출처 · 낙하 자리)
|
||||
public static string LastLog = "";
|
||||
|
||||
|
|
@ -124,7 +129,7 @@ namespace WL.Combat.Weapon
|
|||
[RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.AfterSceneLoad)]
|
||||
static void Boot()
|
||||
{
|
||||
s_cfg = null; s_prefabs.Clear(); s_marked.Clear();
|
||||
s_cfg = null; s_prefabs.Clear(); s_marked.Clear(); s_pendingMeteor = null;
|
||||
CombatEvents.SkillCast.Remove(OnSkillCast); CombatEvents.HitConfirmed.Remove(OnHitConfirmed);
|
||||
if (Cfg.enabled == 0) return;
|
||||
CombatEvents.SkillCast.Add(OnSkillCast); CombatEvents.HitConfirmed.Add(OnHitConfirmed);
|
||||
|
|
@ -265,12 +270,31 @@ namespace WL.Combat.Weapon
|
|||
var c = Cfg; if (c.enabled == 0 || pb == null) return;
|
||||
var pd = pb.Get_ProjectTileData(); var sh = pd != null ? pd.shooter as PCActor : null;
|
||||
var an = sh != null ? sh.m_animation : null;
|
||||
bool mark = sh != null && !pd.IsSkill() && sh.Get_ID() == c.popup.classId && an != null && an.GetCurrentAnimatorStateInfo(0).IsName(c.popup.stateName);
|
||||
// #967 3타 발사 이벤트(attack3 0.08 s)가 attack2 → attack3 전환 중에 나와 현재 상태가 아직 attack2 였다(Play 실측 3타 표시 0) → 전환 중이면 다음 상태도 본다
|
||||
bool inState = an != null && (an.GetCurrentAnimatorStateInfo(0).IsName(c.popup.stateName) || (an.IsInTransition(0) && an.GetNextAnimatorStateInfo(0).IsName(c.popup.stateName)));
|
||||
bool mark = sh != null && !pd.IsSkill() && sh.Get_ID() == c.popup.classId && inState;
|
||||
bool meteor = mark && c.popup.meteor != 0 && c.popup.meteorRule != null && c.popup.meteorRule.meteors > 0;
|
||||
if (meteor) { s_pendingMeteor = pb; mark = false; } // #967 3타 = 메테오(바위 솟음 표시 안 함)
|
||||
if (mark) { s_marked.Add(pb.GetInstanceID()); Marked++; } else s_marked.Remove(pb.GetInstanceID());
|
||||
}
|
||||
catch (System.Exception ex) { Errors++; LastLog = "3타 표시 실패 — " + ex.Message; }
|
||||
}
|
||||
|
||||
/// <summary>#967 투사체 Set 끝 훅(WLProjectileVisual.OnSet 마지막 · 겉모습 자식까지 붙은 뒤) — OnProjectileSet 이 고른 3타 투사체를 메테오 러너로 넘겨받는다(겉모습 · 판정 상자 · 이동을 끄고 대상 자리에 운석 1개).</summary>
|
||||
public static void AfterProjectileSet(ProjectileBase pb)
|
||||
{
|
||||
if (pb == null || !ReferenceEquals(s_pendingMeteor, pb)) return;
|
||||
s_pendingMeteor = null;
|
||||
try
|
||||
{
|
||||
var c = Cfg; var pd = pb.Get_ProjectTileData(); if (pd == null || DSUtil.CheckNull(pd.shooter)) return;
|
||||
if (s_runner == null) { var go = new GameObject("[WL935] StaffEarth"); go.hideFlags = HideFlags.HideInHierarchy; Object.DontDestroyOnLoad(go); s_runner = go.AddComponent<WLStaffEarthRunner>(); }
|
||||
s_runner.Begin(pb, pd, c.popup.meteorRule);
|
||||
Attack3Meteors++;
|
||||
}
|
||||
catch (System.Exception ex) { Errors++; LastLog = "3타 메테오 실패 — " + ex.Message; }
|
||||
}
|
||||
|
||||
static void OnHitConfirmed(in HitConfirmedEvent e)
|
||||
{
|
||||
try
|
||||
|
|
|
|||
|
|
@ -173,6 +173,7 @@ namespace WL.Combat
|
|||
public static int MappedSpawnCount;
|
||||
public static int ArcTilted; // #922 기울기를 적용한 호 배치 수(진단)
|
||||
public static int ArcAimed, ArcYawed; // #966 대상 쪽으로 돌린 호 · 이벤트 각으로 돌린 호(진단)
|
||||
public static int ArcFlat; // #967 수평 반원으로 놓은 호 수(진단)
|
||||
private float _arcYaw; // #966 지금 이벤트의 floatParameter(호 위 축 회전 · 도)
|
||||
|
||||
// ── 검증용 공개 프로퍼티 (2단계 CSV 샘플러가 읽는다) ────────────────────
|
||||
|
|
@ -1613,7 +1614,18 @@ namespace WL.Combat
|
|||
// #966 PD 「비수 1타와 2타 공격 이펙트가 실제 몬스터 위치까지 가기 전에 끊어지는 느낌 — 좀 더 몬스터 방향으로」 — 타별 arcAimStages(0~1): 호 가운데(이등분)를
|
||||
// 대상 쪽(없으면 PC 정면 · 수평)으로 호 면 안에서 그만큼 돌린다(면 · 반지름 · 피벗은 그대로 · 실측: 1타 이등분이 PC 뒤쪽 −Z · 2타 오른쪽이라 앞의 몬스터에 안 닿아 보였다)
|
||||
var covAim = settings.FindOverride(p.classId);
|
||||
float aim = covAim != null ? covAim.StageAim(!string.IsNullOrEmpty(cal.clipName) ? cal.clipName : _burstPrefab) : 0f;
|
||||
string stageKey = !string.IsNullOrEmpty(cal.clipName) ? cal.clipName : _burstPrefab;
|
||||
// #967 PD 「비수 마지막 타 공격이 너무 먼 거리에서 발생되고 내려치는 형태의 이펙트 — 플레이어 전방을 반원 형태로 가르는 횡베기로」 — 타별 arcFlatStages(±1):
|
||||
// 궤적 실측 면(4타 = 세로 내려찍기 면 · 피벗 PC 앞 0.68 m)을 버리고 수평 면 · 호 가운데 = 대상(없으면 PC 정면) · 중심 = PC(보정 피벗 높이 + arcFlatForward) · 겨누기 · 이벤트 각 · 기울기 생략
|
||||
float flat = covAim != null && _pc != null ? covAim.StageFlat(stageKey) : 0f;
|
||||
if (flat != 0f)
|
||||
{
|
||||
var tgtF = _pc.Get_Target(); Vector3 wantF = tgtF != null ? tgtF.Get_position() - _pc.Get_position() : _pc.transform.forward; wantF.y = 0f;
|
||||
if (wantF.sqrMagnitude < 1e-4f) { wantF = _pc.transform.forward; wantF.y = 0f; }
|
||||
if (wantF.sqrMagnitude > 1e-6f) { nW = Vector3.up * flat; bW = wantF.normalized; ArcFlat++; }
|
||||
else flat = 0f;
|
||||
}
|
||||
float aim = flat == 0f && covAim != null ? covAim.StageAim(stageKey) : 0f;
|
||||
if (aim > 0.001f && _pc != null)
|
||||
{
|
||||
var tgt = _pc.Get_Target(); Vector3 want = tgt != null ? tgt.Get_position() - _pc.Get_position() : _pc.transform.forward; want.y = 0f;
|
||||
|
|
@ -1621,9 +1633,9 @@ namespace WL.Combat
|
|||
Vector3 wp = want.normalized; wp -= nW * Vector3.Dot(wp, nW);
|
||||
if (wp.sqrMagnitude > 1e-3f) { wp.Normalize(); bW = Vector3.Slerp(bW, wp, Mathf.Clamp01(aim)); bW -= nW * Vector3.Dot(bW, nW); if (bW.sqrMagnitude > 1e-8f) { bW.Normalize(); ArcAimed++; } else bW = wp; }
|
||||
}
|
||||
if (Mathf.Abs(p.yawOffset) > 0.01f) { var qy = Quaternion.AngleAxis(p.yawOffset, Vector3.up); nW = qy * nW; bW = qy * bW; ArcYawed++; } // #966 이벤트 각
|
||||
if (flat == 0f && Mathf.Abs(p.yawOffset) > 0.01f) { var qy = Quaternion.AngleAxis(p.yawOffset, Vector3.up); nW = qy * nW; bW = qy * bW; ArcYawed++; } // #966 이벤트 각
|
||||
// #922 (클래스, 클립) 호 기울기 — 이등분 축 둘레로 돌려 카메라에서 보이는 면을 넓힌다(±중 카메라를 더 마주 보는 쪽)
|
||||
float tilt = settings.ArcTilt(p.classId, p.source);
|
||||
float tilt = flat == 0f ? settings.ArcTilt(p.classId, p.source) : 0f;
|
||||
if (Mathf.Abs(tilt) > 0.01f)
|
||||
{
|
||||
var camT = Camera.main;
|
||||
|
|
@ -1633,6 +1645,7 @@ namespace WL.Combat
|
|||
ArcTilted++;
|
||||
}
|
||||
Vector3 pivotW = ToWorldPos(cal.pivot);
|
||||
if (flat != 0f) { var pcPos = _pc.Get_position(); pivotW = new Vector3(pcPos.x, pivotW.y, pcPos.z) + bW * covAim.arcFlatForward; } // #967 수평 반원 중심 = PC
|
||||
|
||||
// ── 균등 스케일 ────────────────────────────────────────────────
|
||||
float s;
|
||||
|
|
|
|||
|
|
@ -120,6 +120,9 @@ MonoBehaviour:
|
|||
arcFitBlade: 0
|
||||
arcSizeMul: 0.924
|
||||
arcSizeMulStages: []
|
||||
arcAimStages: []
|
||||
arcFlatStages: []
|
||||
arcFlatForward: 0
|
||||
- classId: 10102
|
||||
mode: 0
|
||||
overrideLook: 0
|
||||
|
|
@ -131,6 +134,9 @@ MonoBehaviour:
|
|||
arcFitBlade: 0
|
||||
arcSizeMul: 0.924
|
||||
arcSizeMulStages: []
|
||||
arcAimStages: []
|
||||
arcFlatStages: []
|
||||
arcFlatForward: 0
|
||||
- classId: 10201
|
||||
mode: 0
|
||||
overrideLook: 0
|
||||
|
|
@ -142,6 +148,9 @@ MonoBehaviour:
|
|||
arcFitBlade: 0
|
||||
arcSizeMul: 1
|
||||
arcSizeMulStages: []
|
||||
arcAimStages: []
|
||||
arcFlatStages: []
|
||||
arcFlatForward: 0
|
||||
- classId: 10202
|
||||
mode: 0
|
||||
overrideLook: 1
|
||||
|
|
@ -162,6 +171,12 @@ MonoBehaviour:
|
|||
- 1
|
||||
- 0
|
||||
- 0
|
||||
arcFlatStages:
|
||||
- 0
|
||||
- 0
|
||||
- 0
|
||||
- -1
|
||||
arcFlatForward: 0
|
||||
- classId: 10501
|
||||
mode: 0
|
||||
overrideLook: 0
|
||||
|
|
@ -173,6 +188,9 @@ MonoBehaviour:
|
|||
arcFitBlade: 0
|
||||
arcSizeMul: 1
|
||||
arcSizeMulStages: []
|
||||
arcAimStages: []
|
||||
arcFlatStages: []
|
||||
arcFlatForward: 0
|
||||
- classId: 10502
|
||||
mode: 0
|
||||
overrideLook: 0
|
||||
|
|
@ -184,6 +202,9 @@ MonoBehaviour:
|
|||
arcFitBlade: 0
|
||||
arcSizeMul: 1
|
||||
arcSizeMulStages: []
|
||||
arcAimStages: []
|
||||
arcFlatStages: []
|
||||
arcFlatForward: 0
|
||||
- classId: 10701
|
||||
mode: 0
|
||||
overrideLook: 0
|
||||
|
|
@ -195,6 +216,9 @@ MonoBehaviour:
|
|||
arcFitBlade: 1
|
||||
arcSizeMul: 1
|
||||
arcSizeMulStages: []
|
||||
arcAimStages: []
|
||||
arcFlatStages: []
|
||||
arcFlatForward: 0
|
||||
useTableWeaponIndices: 1
|
||||
burstMode: 0
|
||||
burstTiming: 1
|
||||
|
|
@ -837,25 +861,6 @@ MonoBehaviour:
|
|||
straight=0.65 sweep=218.9\xB0 pivot=\uCE7C\uB05D\uC6D0 tipR=1.664 hiltR=0.405
|
||||
dev=0.034 fitQ=0.96 kind=Swing (\uB7F0\uD0C0\uC784 \uB85C\uCEEC=\uD68C\uC804\uB9CC
|
||||
\xB7 \uCEE8\uD2B8\uB864\uB7EC \uD074\uB9BD)"
|
||||
- classId: 10701
|
||||
clipName: Effect_Slash_10101_1
|
||||
kind: 2
|
||||
planeNormal: {x: 0.88158125, y: 0.349564, z: 0.31720594}
|
||||
pivot: {x: 0.65397054, y: 0.591501, z: -0.05616218}
|
||||
bisector: {x: -0.28329372, y: -0.1457048, z: 0.9479002}
|
||||
startDir: {x: -0.29784253, y: -0.109399565, z: 0.94832563}
|
||||
tipRadius: 1.7077701
|
||||
hiltRadius: 0.16302724
|
||||
sweepDeg: 4.4824414
|
||||
stabAxis: {x: -0.2826259, y: -0.38485995, z: 0.87863845}
|
||||
stabStart: {x: 0.23207891, y: 0.43653736, z: 1.2871335}
|
||||
stabLength: 0.5966695
|
||||
quality: 50
|
||||
source: "wl828m1 2026-10-19 22:18 Attack1_S_10701 f8~f12/60@60Hz n=5(\uD2B8\uB9BC
|
||||
5\u21925) PC=LH_M05 rootScale=1.0527 weaponK=0.9937 path=0.78 bladeAng=23\xB0
|
||||
straight=0.77 sweep=4.5\xB0 pivot=\uC190\uC7A1\uC774\uC911\uC2EC tipR=1.708
|
||||
hiltR=0.163 dev=0.028 fitQ=0.97 kind=Stab (\uB7F0\uD0C0\uC784 \uB85C\uCEEC=\uD68C\uC804\uB9CC
|
||||
\xB7 \uCEE8\uD2B8\uB864\uB7EC \uD074\uB9BD)"
|
||||
- classId: 10701
|
||||
clipName: Effect_Slash_10101_2
|
||||
kind: 2
|
||||
|
|
@ -932,6 +937,44 @@ MonoBehaviour:
|
|||
straight=0.68 sweep=219.4\xB0 pivot=\uC190\uC7A1\uC774\uC911\uC2EC tipR=0.376
|
||||
hiltR=0.348 dev=0.014 fitQ=0.92 kind=Swing (\uB7F0\uD0C0\uC784 \uB85C\uCEEC=\uD68C\uC804\uB9CC
|
||||
\xB7 \uCEE8\uD2B8\uB864\uB7EC \uD074\uB9BD)"
|
||||
- classId: 10701
|
||||
clipName: Effect_Slash_10101_1
|
||||
kind: 1
|
||||
planeNormal: {x: 0.038015425, y: 0.9977091, z: -0.055959173}
|
||||
pivot: {x: 0.074319184, y: 0.5030525, z: -0.035045374}
|
||||
bisector: {x: -0.98307157, y: 0.047384575, z: 0.17698874}
|
||||
startDir: {x: 0.5735504, y: -0.067642264, z: -0.8163727}
|
||||
tipRadius: 1.332726
|
||||
hiltRadius: 0.5697392
|
||||
sweepDeg: 270.71988
|
||||
stabAxis: {x: -0.4314748, y: 0.02015867, z: 0.90189976}
|
||||
stabStart: {x: 0.8704324, y: 0.4606447, z: -1.1683016}
|
||||
stabLength: 2.7308962
|
||||
quality: 50
|
||||
source: "wl828m1 2026-10-22 01:06 Attack1_S_10701 f24~f32/74@60Hz n=9(\uD2B8\uB9BC
|
||||
9\u21929) PC=LH_M05 rootScale=1.0527 weaponK=0.9937 path=6.21 bladeAng=281\xB0
|
||||
straight=0.60 sweep=270.7\xB0 pivot=\uCE7C\uB05D\uC6D0 tipR=1.333 hiltR=0.570
|
||||
dev=0.041 fitQ=0.94 kind=Swing (\uB7F0\uD0C0\uC784 \uB85C\uCEEC=\uD68C\uC804\uB9CC
|
||||
\xB7 \uCEE8\uD2B8\uB864\uB7EC \uD074\uB9BD)"
|
||||
- classId: 10701
|
||||
clipName: Effect_Slash_10102_4
|
||||
kind: 1
|
||||
planeNormal: {x: 0.95719343, y: 0.28941464, z: -0.0044637853}
|
||||
pivot: {x: 0.25622573, y: 0.3826955, z: 0.07922937}
|
||||
bisector: {x: -0.25352824, y: 0.84574616, z: 0.46950716}
|
||||
startDir: {x: -0.1840746, y: 0.5967516, z: -0.7810276}
|
||||
tipRadius: 1.5382556
|
||||
hiltRadius: 0.4461397
|
||||
sweepDeg: 158.71616
|
||||
stabAxis: {x: 0.119720384, y: -0.45538092, z: 0.8822104}
|
||||
stabStart: {x: -0.0034473303, y: 1.3192463, z: -1.1360762}
|
||||
stabLength: 3.0381339
|
||||
quality: 50
|
||||
source: "wl828m1 2026-10-22 01:06 Attack2_S_10701 f25~f30/68@60Hz n=6(\uD2B8\uB9BC
|
||||
6\u21926) PC=LH_M05 rootScale=1.0527 weaponK=0.9937 path=4.19 bladeAng=169\xB0
|
||||
straight=0.72 sweep=158.7\xB0 pivot=\uCE7C\uB05D\uC6D0 tipR=1.538 hiltR=0.446
|
||||
dev=0.011 fitQ=0.99 kind=Swing (\uB7F0\uD0C0\uC784 \uB85C\uCEEC=\uD68C\uC804\uB9CC
|
||||
\xB7 \uCEE8\uD2B8\uB864\uB7EC \uD074\uB9BD)"
|
||||
swingMinSweepDegrees: 150
|
||||
swingMinTipHiltRatio: 3
|
||||
stabMinStraightness: 0.86
|
||||
|
|
|
|||
|
|
@ -262,7 +262,7 @@ MonoBehaviour:
|
|||
- 0.6
|
||||
- 0.1
|
||||
passThrough: 0
|
||||
- clipContains: Attack3_S_107
|
||||
- clipContains: Attack2_S_107
|
||||
frames: 08000000090000000a0000000b0000000c0000000d0000000e0000000f000000100000001100000012000000200000002100000022000000
|
||||
cm:
|
||||
- 0.3
|
||||
|
|
|
|||
Loading…
Reference in New Issue