Add maze generation visualization with 2-phase animation

Enhance maze generation animation system with visual feedback during algorithm execution and a two-phase rendering approach:

- Phase 1: Preview mode displays simple blocks while algorithms run, with real-time feedback for path checking (valid/invalid/evaluating states)
- Phase 2: Sweep 3D modular pieces into place with pop-in animations

Updates:
- New MazeCellHighlight states (EvaluatingValid, EvaluatingInvalid) for algorithm feedback
- Modified all maze algorithms (DFS, Kruskal's, Prim's) to emit visual feedback when checking adjacent cells
- New animation components: HighlightLinger (self-destruct highlights) and PopInAnimation (juicy pop-in effect)
- Refactored MazeReworkSpawner to support preview prefabs and track spawned object state
- New prefabs: Stair room and MazeVisualize variants
- Added stepDelay and isPreviewMode controls to MazeAnimator for flexible pacing
- Reduced default maze size and adjusted material colors for testing
This commit is contained in:
2026-07-04 05:01:00 +07:00
parent a3359cf7e1
commit bdbb76a42a
26 changed files with 1345 additions and 92 deletions

View File

@@ -0,0 +1,63 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1001 &2921409242878097755
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
serializedVersion: 3
m_TransformParent: {fileID: 0}
m_Modifications:
- target: {fileID: 1196592758819373226, guid: c39adeeb3a17d824392cc018d65aedc4, type: 3}
propertyPath: m_Name
value: MazeVisualize 1 1 1
objectReference: {fileID: 0}
- target: {fileID: 6505778898445912368, guid: c39adeeb3a17d824392cc018d65aedc4, type: 3}
propertyPath: m_LocalPosition.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6505778898445912368, guid: c39adeeb3a17d824392cc018d65aedc4, type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6505778898445912368, guid: c39adeeb3a17d824392cc018d65aedc4, type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6505778898445912368, guid: c39adeeb3a17d824392cc018d65aedc4, type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 6505778898445912368, guid: c39adeeb3a17d824392cc018d65aedc4, type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6505778898445912368, guid: c39adeeb3a17d824392cc018d65aedc4, type: 3}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6505778898445912368, guid: c39adeeb3a17d824392cc018d65aedc4, type: 3}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6505778898445912368, guid: c39adeeb3a17d824392cc018d65aedc4, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6505778898445912368, guid: c39adeeb3a17d824392cc018d65aedc4, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6505778898445912368, guid: c39adeeb3a17d824392cc018d65aedc4, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6572798831050454820, guid: c39adeeb3a17d824392cc018d65aedc4, type: 3}
propertyPath: 'm_Materials.Array.data[0]'
value:
objectReference: {fileID: 2100000, guid: 4f17acdef989a4d4fa161356b68eba35, type: 2}
m_RemovedComponents: []
m_RemovedGameObjects: []
m_AddedGameObjects: []
m_AddedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: c39adeeb3a17d824392cc018d65aedc4, type: 3}