feat(scaffold): E002-E006 撞墙检测层默认 Platform+Wall

把 E001 已有的 _wallMask 默认铺到 E002-E006 脚手架 PlaceExxx(AssignLayerMask
movement _wallMask = Platform+Wall);现有 5 个 prefab 的 EnemyMovement._wallMask
同步直接设值(原 Nothing,且 _wallCheckDist=0.2>0 会触发 Awake 撞墙未配报错)。

ChaoFeng(Boss)按用户范围未含,其 _wallMask 仍需单独配置(否则 Awake 报错提醒)。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@
This commit is contained in:
2026-07-20 10:44:41 +08:00
parent bd8e0a4f16
commit ba4a07e96d
6 changed files with 67 additions and 46 deletions
@@ -374,6 +374,11 @@ MonoBehaviour:
m_EditorClassIdentifier:
_defaultSource: {fileID: 11400000, guid: caae9c7600281fe4e8d8637fa3fd2ca1, type: 2}
_hitCooldown: 0.1
_hitMode: 0
_hitInterval: 0.5
_targetLayers:
serializedVersion: 2
m_Bits: 4294967295
_id:
_rivalHitBoxMask:
serializedVersion: 2
@@ -550,17 +555,9 @@ MonoBehaviour:
_patrolZone: {fileID: 0}
_onEnemyDied: {fileID: 11400000, guid: def849e2c5ec8204eae6b083b02307aa, type: 2}
_onPlayerSpawned: {fileID: 11400000, guid: 7e2c7e614f6627b449a244ab44443adf, type: 2}
_btIdleTickInterval: 0.3
_btPatrolTickInterval: 0.15
_btAlertTickInterval: 0.08
_btChaseTickInterval: 0.05
_btCombatTickInterval: 0
_dbg_CurrentState: 0
_dbg_AiPhase: 0
_dbg_HasPlayer: 0
_dbg_LastKnownPos: {x: 0, y: 0}
_dbg_BtTickInterval: 0
_autoPlayPhaseAnimation: 1
--- !u!114 &7385133688981904921
MonoBehaviour:
m_ObjectHideFlags: 0
@@ -606,7 +603,7 @@ MonoBehaviour:
_ledgeCheckDownDist: 0.4
_wallMask:
serializedVersion: 2
m_Bits: 0
m_Bits: 8388864
_dbg_FacingDirection: 0
_dbg_VelocityX: 0
_dbg_VelocityY: 0
@@ -696,6 +693,8 @@ MonoBehaviour:
_groundMask:
serializedVersion: 2
m_Bits: 4294967295
_repathTargetThreshold: 0.5
_repathMinInterval: 0.25
--- !u!114 &5017611108458001053
MonoBehaviour:
m_ObjectHideFlags: 0
@@ -379,6 +379,11 @@ MonoBehaviour:
m_EditorClassIdentifier:
_defaultSource: {fileID: 11400000, guid: caae9c7600281fe4e8d8637fa3fd2ca1, type: 2}
_hitCooldown: 0.1
_hitMode: 0
_hitInterval: 0.5
_targetLayers:
serializedVersion: 2
m_Bits: 4294967295
_id:
_rivalHitBoxMask:
serializedVersion: 2
@@ -537,17 +542,9 @@ MonoBehaviour:
_patrolZone: {fileID: 0}
_onEnemyDied: {fileID: 11400000, guid: def849e2c5ec8204eae6b083b02307aa, type: 2}
_onPlayerSpawned: {fileID: 11400000, guid: 7e2c7e614f6627b449a244ab44443adf, type: 2}
_btIdleTickInterval: 0.3
_btPatrolTickInterval: 0.15
_btAlertTickInterval: 0.08
_btChaseTickInterval: 0.05
_btCombatTickInterval: 0
_dbg_CurrentState: 0
_dbg_AiPhase: 0
_dbg_HasPlayer: 0
_dbg_LastKnownPos: {x: 0, y: 0}
_dbg_BtTickInterval: 0
_autoPlayPhaseAnimation: 1
--- !u!114 &3136685549398515749
MonoBehaviour:
m_ObjectHideFlags: 0
@@ -593,7 +590,7 @@ MonoBehaviour:
_ledgeCheckDownDist: 0.4
_wallMask:
serializedVersion: 2
m_Bits: 0
m_Bits: 8388864
_dbg_FacingDirection: 0
_dbg_VelocityX: 0
_dbg_VelocityY: 0
@@ -683,6 +680,8 @@ MonoBehaviour:
_groundMask:
serializedVersion: 2
m_Bits: 4294967295
_repathTargetThreshold: 0.5
_repathMinInterval: 0.25
--- !u!114 &1137051351926306612
MonoBehaviour:
m_ObjectHideFlags: 0
@@ -376,6 +376,11 @@ MonoBehaviour:
m_EditorClassIdentifier:
_defaultSource: {fileID: 11400000, guid: caae9c7600281fe4e8d8637fa3fd2ca1, type: 2}
_hitCooldown: 0.1
_hitMode: 0
_hitInterval: 0.5
_targetLayers:
serializedVersion: 2
m_Bits: 4294967295
_id:
_rivalHitBoxMask:
serializedVersion: 2
@@ -607,6 +612,11 @@ MonoBehaviour:
m_EditorClassIdentifier:
_defaultSource: {fileID: 11400000, guid: caae9c7600281fe4e8d8637fa3fd2ca1, type: 2}
_hitCooldown: 0.1
_hitMode: 0
_hitInterval: 0.5
_targetLayers:
serializedVersion: 2
m_Bits: 4294967295
_id:
_rivalHitBoxMask:
serializedVersion: 2
@@ -886,17 +896,9 @@ MonoBehaviour:
_patrolZone: {fileID: 0}
_onEnemyDied: {fileID: 11400000, guid: def849e2c5ec8204eae6b083b02307aa, type: 2}
_onPlayerSpawned: {fileID: 11400000, guid: 7e2c7e614f6627b449a244ab44443adf, type: 2}
_btIdleTickInterval: 0.3
_btPatrolTickInterval: 0.15
_btAlertTickInterval: 0.08
_btChaseTickInterval: 0.05
_btCombatTickInterval: 0
_dbg_CurrentState: 0
_dbg_AiPhase: 0
_dbg_HasPlayer: 0
_dbg_LastKnownPos: {x: 0, y: 0}
_dbg_BtTickInterval: 0
_autoPlayPhaseAnimation: 1
--- !u!114 &7254417954483924161
MonoBehaviour:
m_ObjectHideFlags: 0
@@ -925,7 +927,9 @@ MonoBehaviour:
_onHitLight: {fileID: 0}
_onHitMedium: {fileID: 0}
_onHitHeavy: {fileID: 0}
_hitPositionMode: 0
_onTakeHit: {fileID: 0}
_takeHitPositionMode: 0
_onDeath: {fileID: 0}
--- !u!114 &3328651193270866812
MonoBehaviour:
@@ -959,7 +963,7 @@ MonoBehaviour:
_ledgeCheckDownDist: 0.4
_wallMask:
serializedVersion: 2
m_Bits: 0
m_Bits: 8388864
_dbg_FacingDirection: 0
_dbg_VelocityX: 0
_dbg_VelocityY: 0
@@ -1049,6 +1053,8 @@ MonoBehaviour:
_groundMask:
serializedVersion: 2
m_Bits: 4294967295
_repathTargetThreshold: 0.5
_repathMinInterval: 0.25
--- !u!114 &1140989549255509988
MonoBehaviour:
m_ObjectHideFlags: 0
@@ -392,17 +392,9 @@ MonoBehaviour:
_patrolZone: {fileID: 0}
_onEnemyDied: {fileID: 11400000, guid: def849e2c5ec8204eae6b083b02307aa, type: 2}
_onPlayerSpawned: {fileID: 11400000, guid: 7e2c7e614f6627b449a244ab44443adf, type: 2}
_btIdleTickInterval: 0.3
_btPatrolTickInterval: 0.15
_btAlertTickInterval: 0.08
_btChaseTickInterval: 0.05
_btCombatTickInterval: 0
_dbg_CurrentState: 0
_dbg_AiPhase: 0
_dbg_HasPlayer: 0
_dbg_LastKnownPos: {x: 0, y: 0}
_dbg_BtTickInterval: 0
_autoPlayPhaseAnimation: 1
--- !u!114 &1218518018103485926
MonoBehaviour:
m_ObjectHideFlags: 0
@@ -448,7 +440,7 @@ MonoBehaviour:
_ledgeCheckDownDist: 0.4
_wallMask:
serializedVersion: 2
m_Bits: 0
m_Bits: 8388864
_dbg_FacingDirection: 0
_dbg_VelocityX: 0
_dbg_VelocityY: 0
@@ -538,6 +530,8 @@ MonoBehaviour:
_groundMask:
serializedVersion: 2
m_Bits: 4294967295
_repathTargetThreshold: 0.5
_repathMinInterval: 0.25
--- !u!114 &7475404416877533072
MonoBehaviour:
m_ObjectHideFlags: 0
@@ -907,6 +901,11 @@ MonoBehaviour:
m_EditorClassIdentifier:
_defaultSource: {fileID: 11400000, guid: caae9c7600281fe4e8d8637fa3fd2ca1, type: 2}
_hitCooldown: 0.1
_hitMode: 0
_hitInterval: 0.5
_targetLayers:
serializedVersion: 2
m_Bits: 4294967295
_id:
_rivalHitBoxMask:
serializedVersion: 2
@@ -223,17 +223,9 @@ MonoBehaviour:
_patrolZone: {fileID: 0}
_onEnemyDied: {fileID: 11400000, guid: def849e2c5ec8204eae6b083b02307aa, type: 2}
_onPlayerSpawned: {fileID: 11400000, guid: 7e2c7e614f6627b449a244ab44443adf, type: 2}
_btIdleTickInterval: 0.3
_btPatrolTickInterval: 0.15
_btAlertTickInterval: 0.08
_btChaseTickInterval: 0.05
_btCombatTickInterval: 0
_dbg_CurrentState: 0
_dbg_AiPhase: 0
_dbg_HasPlayer: 0
_dbg_LastKnownPos: {x: 0, y: 0}
_dbg_BtTickInterval: 0
_autoPlayPhaseAnimation: 1
--- !u!114 &8540742522477078293
MonoBehaviour:
m_ObjectHideFlags: 0
@@ -279,7 +271,7 @@ MonoBehaviour:
_ledgeCheckDownDist: 0.4
_wallMask:
serializedVersion: 2
m_Bits: 0
m_Bits: 8388864
_dbg_FacingDirection: 0
_dbg_VelocityX: 0
_dbg_VelocityY: 0
@@ -369,6 +361,8 @@ MonoBehaviour:
_groundMask:
serializedVersion: 2
m_Bits: 4294967295
_repathTargetThreshold: 0.5
_repathMinInterval: 0.25
--- !u!114 &8559401075920380543
MonoBehaviour:
m_ObjectHideFlags: 0
@@ -549,6 +543,11 @@ MonoBehaviour:
m_EditorClassIdentifier:
_defaultSource: {fileID: 11400000, guid: caae9c7600281fe4e8d8637fa3fd2ca1, type: 2}
_hitCooldown: 0.1
_hitMode: 0
_hitInterval: 0.5
_targetLayers:
serializedVersion: 2
m_Bits: 4294967295
_id:
_rivalHitBoxMask:
serializedVersion: 2
@@ -720,6 +719,15 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
_config: {fileID: 11400000, guid: f5f7cb08e1c1c83448830da185a7b796, type: 2}
_startClip:
_FadeDuration: 0.25
_Speed: 1
_Events:
_NormalizedTimes: []
_Callbacks: []
_Names: []
_Clip: {fileID: 0}
_NormalizedStartTime: NaN
_loopClip:
_FadeDuration: 0.25
_Speed: 1
@@ -739,7 +747,7 @@ MonoBehaviour:
_Clip: {fileID: 0}
_NormalizedStartTime: NaN
_contactDamage: {fileID: 6544477441689240465}
_aggroSlotName: aggro
_dashSpeed: 0
references:
version: 2
RefIds: []
@@ -826,6 +834,11 @@ MonoBehaviour:
m_EditorClassIdentifier:
_defaultSource: {fileID: 11400000, guid: caae9c7600281fe4e8d8637fa3fd2ca1, type: 2}
_hitCooldown: 0.1
_hitMode: 0
_hitInterval: 0.5
_targetLayers:
serializedVersion: 2
m_Bits: 4294967295
_id:
_rivalHitBoxMask:
serializedVersion: 2
@@ -622,6 +622,7 @@ namespace BaseGames.Editor
AssignLayerMask(movement, "_groundMask",
new[] { "Platform", "OneWayPlatform", "MovingOneWayPlatform", "MidHeightOneWayPlatform" },
report);
AssignLayerMask(movement, "_wallMask", new[] { "Platform", "Wall" }, report); // 撞墙判定层(策划可调)
AssignAsset(strikeAbility, "_config", report, false, "ABL_E002_CeilingStrike");
AssignReference(strikeAbility, "_attackHitBox", attackHitBox, report);
@@ -719,6 +720,7 @@ namespace BaseGames.Editor
AssignLayerMask(movement, "_groundMask",
new[] { "Platform", "OneWayPlatform", "MovingOneWayPlatform", "MidHeightOneWayPlatform" },
report);
AssignLayerMask(movement, "_wallMask", new[] { "Platform", "Wall" }, report); // 撞墙判定层(策划可调)
AssignAsset(fallAbility, "_config", report, false, "ABL_E003_Fall");
AssignReference(fallAbility, "_contactDamage", bodyContact, report);
@@ -838,6 +840,7 @@ namespace BaseGames.Editor
AssignLayerMask(movement, "_groundMask",
new[] { "Platform", "OneWayPlatform", "MovingOneWayPlatform", "MidHeightOneWayPlatform" },
report);
AssignLayerMask(movement, "_wallMask", new[] { "Platform", "Wall" }, report); // 撞墙判定层(策划可调)
AssignAsset(appearAbl, "_config", report, false, "ABL_E004_Appear");
AssignAsset(biteAbl, "_config", report, false, "ABL_E004_Bite");
@@ -951,6 +954,7 @@ namespace BaseGames.Editor
AssignLayerMask(movement, "_groundMask",
new[] { "Platform", "OneWayPlatform", "MovingOneWayPlatform", "MidHeightOneWayPlatform" },
report);
AssignLayerMask(movement, "_wallMask", new[] { "Platform", "Wall" }, report); // 撞墙判定层(策划可调)
AssignAsset(biteAbl, "_config", report, false, "ABL_E005_Bite");
AssignAsset(acidAbl, "_config", report, false, "ABL_E005_Acid");
@@ -1065,6 +1069,7 @@ namespace BaseGames.Editor
AssignLayerMask(movement, "_groundMask",
new[] { "Platform", "OneWayPlatform", "MovingOneWayPlatform", "MidHeightOneWayPlatform" },
report);
AssignLayerMask(movement, "_wallMask", new[] { "Platform", "Wall" }, report); // 撞墙判定层(策划可调)
AssignAsset(leapAbl,"_config", report, false, "ABL_E006_Leap");
AssignAsset(chaseAbl, "_config", report, false, "ABL_E006_Chase");