2fcff9a7a1
Extends the DR-022 player pipeline to Husk enemies. A Husk is an ownerless interpolated ghost = structurally a remote player, so the new client-only EnemyAnimationDriveSystem mirrors PlayerAnimationDriveSystem's remote path: velocity from LocalTransform-delta (prevPos cache, pruned every frame), facing from LocalTransform.Rotation (AnimParamMath.PlanarForward), maxSpeed from baked EnemyStats, IsAttacking from the already-replicated AttackWindup telegraph. No new [GhostField], no server/asmdef/ghost-hash change. Monster-mash roster: Werewolf (Grunt), Werewolf-Undead (Swarmer), Kaiju (Brute), built by the reusable, GUID-preserving EnemyRigTools editor tool (materials + AC_EnemyTopDown + EnemyAttackWindup clip + 3 rigged prefabs). WaveSystem now preserves the baked variant Scale (was reset to 1 by LocalTransform.FromPosition). See DR-023. EditMode 208/208; validated in Play (rigs skin, scales replicate, locomotion + attack telegraph drive correctly). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
136 lines
3.3 KiB
YAML
136 lines
3.3 KiB
YAML
%YAML 1.1
|
|
%TAG !u! tag:unity3d.com,2011:
|
|
--- !u!74 &7400000
|
|
AnimationClip:
|
|
m_ObjectHideFlags: 0
|
|
m_CorrespondingSourceObject: {fileID: 0}
|
|
m_PrefabInstance: {fileID: 0}
|
|
m_PrefabAsset: {fileID: 0}
|
|
m_Name: EnemyAttackWindup
|
|
serializedVersion: 7
|
|
m_Legacy: 0
|
|
m_Compressed: 0
|
|
m_UseHighQualityCurve: 1
|
|
m_RotationCurves: []
|
|
m_CompressedRotationCurves: []
|
|
m_EulerCurves:
|
|
- curve:
|
|
serializedVersion: 2
|
|
m_Curve:
|
|
- serializedVersion: 3
|
|
time: 0
|
|
value: {x: 0, y: 0, z: 0}
|
|
inSlope: {x: 0, y: 0, z: 0}
|
|
outSlope: {x: 0, y: 0, z: 0}
|
|
tangentMode: 0
|
|
weightedMode: 0
|
|
inWeight: {x: 0, y: 0.33333334, z: 0.33333334}
|
|
outWeight: {x: 0, y: 0.33333334, z: 0.33333334}
|
|
- serializedVersion: 3
|
|
time: 0.15
|
|
value: {x: 30, y: 0, z: 0}
|
|
inSlope: {x: 0, y: 0, z: 0}
|
|
outSlope: {x: 0, y: 0, z: 0}
|
|
tangentMode: 0
|
|
weightedMode: 0
|
|
inWeight: {x: 0, y: 0.33333334, z: 0.33333334}
|
|
outWeight: {x: 0, y: 0.33333334, z: 0.33333334}
|
|
- serializedVersion: 3
|
|
time: 0.4
|
|
value: {x: 0, y: 0, z: 0}
|
|
inSlope: {x: 0, y: 0, z: 0}
|
|
outSlope: {x: 0, y: 0, z: 0}
|
|
tangentMode: 0
|
|
weightedMode: 0
|
|
inWeight: {x: 0, y: 0.33333334, z: 0.33333334}
|
|
outWeight: {x: 0, y: 0.33333334, z: 0.33333334}
|
|
m_PreInfinity: 2
|
|
m_PostInfinity: 2
|
|
m_RotationOrder: 4
|
|
path: Root
|
|
m_PositionCurves: []
|
|
m_ScaleCurves: []
|
|
m_FloatCurves: []
|
|
m_PPtrCurves: []
|
|
m_SampleRate: 30
|
|
m_WrapMode: 0
|
|
m_Bounds:
|
|
m_Center: {x: 0, y: 0, z: 0}
|
|
m_Extent: {x: 0, y: 0, z: 0}
|
|
m_ClipBindingConstant:
|
|
genericBindings:
|
|
- serializedVersion: 2
|
|
path: 3066451557
|
|
attribute: 4
|
|
script: {fileID: 0}
|
|
typeID: 4
|
|
customType: 4
|
|
isPPtrCurve: 0
|
|
isIntCurve: 0
|
|
isSerializeReferenceCurve: 0
|
|
pptrCurveMapping: []
|
|
m_AnimationClipSettings:
|
|
serializedVersion: 2
|
|
m_AdditiveReferencePoseClip: {fileID: 0}
|
|
m_AdditiveReferencePoseTime: 0
|
|
m_StartTime: 0
|
|
m_StopTime: 0.4
|
|
m_OrientationOffsetY: 0
|
|
m_Level: 0
|
|
m_CycleOffset: 0
|
|
m_HasAdditiveReferencePose: 0
|
|
m_LoopTime: 0
|
|
m_LoopBlend: 0
|
|
m_LoopBlendOrientation: 0
|
|
m_LoopBlendPositionY: 0
|
|
m_LoopBlendPositionXZ: 0
|
|
m_KeepOriginalOrientation: 0
|
|
m_KeepOriginalPositionY: 1
|
|
m_KeepOriginalPositionXZ: 0
|
|
m_HeightFromFeet: 0
|
|
m_Mirror: 0
|
|
m_EditorCurves:
|
|
- serializedVersion: 2
|
|
curve:
|
|
serializedVersion: 2
|
|
m_Curve:
|
|
- serializedVersion: 3
|
|
time: 0
|
|
value: 0
|
|
inSlope: 0
|
|
outSlope: 0
|
|
tangentMode: 0
|
|
weightedMode: 0
|
|
inWeight: 0
|
|
outWeight: 0
|
|
- serializedVersion: 3
|
|
time: 0.15
|
|
value: 30
|
|
inSlope: 0
|
|
outSlope: 0
|
|
tangentMode: 0
|
|
weightedMode: 0
|
|
inWeight: 0
|
|
outWeight: 0
|
|
- serializedVersion: 3
|
|
time: 0.4
|
|
value: 0
|
|
inSlope: 0
|
|
outSlope: 0
|
|
tangentMode: 0
|
|
weightedMode: 0
|
|
inWeight: 0
|
|
outWeight: 0
|
|
m_PreInfinity: 2
|
|
m_PostInfinity: 2
|
|
m_RotationOrder: 4
|
|
attribute: localEulerAnglesRaw.x
|
|
path: Root
|
|
classID: 4
|
|
script: {fileID: 0}
|
|
flags: 16
|
|
m_EulerEditorCurves: []
|
|
m_HasGenericRootTransform: 0
|
|
m_HasMotionFloatCurves: 0
|
|
m_Events: []
|