diff --git a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup2/inlet/Start1/Preview.png b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup2/inlet/Start1/Preview.png
index 7b54f23..d987c60 100644
--- a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup2/inlet/Start1/Preview.png
+++ b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup2/inlet/Start1/Preview.png
Binary files differ
diff --git a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup2/inlet/Start1/RoomInfo.json b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup2/inlet/Start1/RoomInfo.json
index 484c844..54cd81b 100644
--- a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup2/inlet/Start1/RoomInfo.json
+++ b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup2/inlet/Start1/RoomInfo.json
@@ -1 +1 @@
-{"Position":{"X":-4,"Y":-6},"Size":{"X":14,"Y":14},"DoorAreaInfos":[{"Direction":0,"Start":80,"End":144},{"Direction":2,"Start":16,"End":160},{"Direction":1,"Start":96,"End":160},{"Direction":3,"Start":48,"End":160}],"GroupName":"TestGroup2","RoomType":1,"RoomName":"Start1","Weight":100,"Remark":""}
\ No newline at end of file
+{"Position":{"X":-3,"Y":-6},"Size":{"X":13,"Y":13},"DoorAreaInfos":[{"Direction":0,"Start":32,"End":112},{"Direction":2,"Start":0,"End":160},{"Direction":1,"Start":64,"End":176},{"Direction":3,"Start":32,"End":144}],"GroupName":"TestGroup2","RoomType":1,"RoomName":"Start1","Weight":100,"Remark":""}
\ No newline at end of file
diff --git a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup2/inlet/Start1/TileInfo.json b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup2/inlet/Start1/TileInfo.json
index 0b84828..3550281 100644
--- a/DungeonShooting_Godot/resource/map/tileMaps/TestGroup2/inlet/Start1/TileInfo.json
+++ b/DungeonShooting_Godot/resource/map/tileMaps/TestGroup2/inlet/Start1/TileInfo.json
@@ -1 +1 @@
-{"NavigationList":[],"Floor":[0,-2,0,0,4,0,-1,0,0,4,0,0,0,0,4,0,1,0,0,4,1,1,0,0,4,2,1,0,0,4,3,1,0,0,4,4,1,0,0,4,5,1,0,0,4,5,-3,0,0,4,5,-2,0,0,4,5,-1,0,0,4,5,0,0,0,4,3,-3,0,0,4,4,-2,0,0,4,4,-1,0,0,4,4,0,0,0,4,3,0,0,0,4,2,0,0,0,4,1,0,0,0,4,3,-2,0,0,4,3,-1,0,0,4,1,-2,0,0,4,2,-1,0,0,4,1,-1,0,0,4,1,2,0,0,4,2,2,0,0,4,5,2,0,0,4,6,2,0,0,4,7,2,0,0,4,3,2,0,0,4,0,2,0,0,4,-1,2,0,0,4,-2,2,0,0,4,-3,2,0,0,4,-2,3,0,0,4,-1,3,0,0,4,0,3,0,0,4,0,4,0,0,4,1,4,0,0,4,2,4,0,0,4,3,4,0,0,4,4,4,0,0,4,5,4,0,0,4,6,4,0,0,4,7,4,0,0,4,7,3,0,0,4,6,3,0,0,4,5,3,0,0,4,3,3,0,0,4,2,3,0,0,4,1,3,0,0,4,-2,4,0,0,4,-1,4,0,0,4,7,5,0,0,4,6,5,0,0,4,5,5,0,0,4,4,5,0,0,4,3,5,0,0,4,2,5,0,0,4,1,5,0,0,4,0,5,0,0,4,-1,5,0,0,4,-2,5,0,0,4,-2,6,0,0,4,-1,6,0,0,4,0,6,0,0,4,1,6,0,0,4,2,6,0,0,4,3,6,0,0,4,4,6,0,0,4,5,6,0,0,4,6,6,0,0,4,6,-3,0,0,4,6,-2,0,0,4,6,-1,0,0,4,6,0,0,0,4,6,1,0,0,4,2,-2,0,0,4,7,-2,0,0,4,7,-1,0,0,4,7,0,0,0,4,7,1,0,0,4,8,1,0,0,4,8,0,0,0,4,8,-1,0,0,4,8,-2,0,0,4,7,-3,0,0,4,4,-3,0,0,4,-1,1,0,0,4,-2,1,0,0,4,-3,1,0,0,4,-3,0,0,0,4,-2,0,0,0,4,-1,0,0,0,4,-1,-1,0,0,4,-2,-1,0,0,4,-3,-1,0,0,4,-1,-2,0,0,4,8,-3,0,0,4,2,-3,0,0,4,1,-3,0,0,4,0,-3,0,0,4,-1,-3,0,0,4,-1,-4,0,0,4,0,-4,0,0,4,1,-4,0,0,4,2,-4,0,0,4,3,-4,0,0,4,4,-4,0,0,4,5,-4,0,0,4,6,-4,0,0,4,7,-4,0,0,4,8,-4,0,0,4,-2,-4,0,0,4,4,2,0,0,4,4,3,0,0,4],"Middle":[],"Top":[-4,-6,0,9,2,-4,-5,0,9,2,-4,-4,0,9,2,-4,-3,0,6,2,-4,-2,0,11,2,-4,-1,0,11,2,-4,0,0,11,2,-4,1,0,11,2,-4,2,0,11,2,-4,3,0,6,1,-4,4,0,9,2,-4,5,0,9,2,-4,6,0,9,2,-4,7,0,9,2,-3,-6,0,6,2,-3,-5,0,11,2,-3,-4,0,11,2,-3,-3,0,6,3,-3,-2,0,2,4,-3,3,0,11,0,-3,4,0,11,2,-3,5,0,11,2,-3,6,0,11,2,-3,7,0,6,1,-2,-6,0,9,3,-2,-5,0,2,4,-2,-3,0,3,3,-2,-2,0,3,4,-2,7,0,10,0,-1,-6,0,9,3,-1,-5,0,2,4,-1,7,0,10,0,0,-6,0,9,3,0,-5,0,2,4,0,7,0,10,0,1,-6,0,9,3,1,-5,0,2,4,1,7,0,10,0,2,-6,0,9,3,2,-5,0,2,4,2,7,0,10,0,3,-6,0,9,3,3,-5,0,2,4,3,7,0,10,0,4,-6,0,9,3,4,-5,0,2,4,4,7,0,10,0,5,-6,0,9,3,5,-5,0,2,4,5,7,0,10,0,6,-6,0,9,3,6,-5,0,2,4,6,7,0,10,0,7,-6,0,9,3,7,-5,0,2,4,7,6,0,8,0,7,7,0,5,1,8,-6,0,9,3,8,-5,0,2,4,8,2,0,8,0,8,3,0,8,1,8,4,0,8,1,8,5,0,8,1,8,6,0,5,1,8,7,0,9,2,9,-6,0,5,2,9,-5,0,8,1,9,-4,0,8,1,9,-3,0,8,1,9,-2,0,8,1,9,-1,0,8,1,9,0,0,8,1,9,1,0,8,1,9,2,0,5,1,9,3,0,9,2,9,4,0,9,2,9,5,0,9,2,9,6,0,9,2,9,7,0,9,2]}
\ No newline at end of file
+{"NavigationVertices":[{"X":54,"Y":70},{"X":122,"Y":98},{"X":-26,"Y":98},{"X":-6,"Y":70},{"X":-26,"Y":-10},{"X":-6,"Y":18},{"X":138,"Y":-42},{"X":138,"Y":34},{"X":122,"Y":34},{"X":102,"Y":6},{"X":102,"Y":-30},{"X":106,"Y":-42},{"X":22,"Y":18},{"X":6,"Y":-10},{"X":58,"Y":6},{"X":54,"Y":34},{"X":22,"Y":34},{"X":6,"Y":-58},{"X":106,"Y":-58},{"X":58,"Y":-30}],"NavigationPolygon":[[0,1,2,3],[3,2,4,5],[6,7,8,9,10,11],[12,5,4,13,14],[9,8,1,0,15,14],[15,16,12,14],[13,17,18,19],[19,14,13],[10,19,18,11]],"Floor":[0,-2,0,0,4,0,-1,0,0,4,0,0,0,0,4,1,1,0,0,4,2,1,0,0,4,3,1,0,0,4,4,1,0,0,4,5,1,0,0,4,5,-3,0,0,4,5,0,0,0,4,3,-3,0,0,4,4,0,0,0,4,3,0,0,0,4,2,0,0,0,4,1,0,0,0,4,3,-2,0,0,4,3,-1,0,0,4,1,-2,0,0,4,2,-1,0,0,4,1,-1,0,0,4,5,2,0,0,4,6,2,0,0,4,7,2,0,0,4,3,2,0,0,4,-1,2,0,0,4,-2,2,0,0,4,-2,3,0,0,4,-1,3,0,0,4,0,4,0,0,4,1,4,0,0,4,2,4,0,0,4,3,4,0,0,4,4,4,0,0,4,5,4,0,0,4,6,4,0,0,4,7,4,0,0,4,7,3,0,0,4,6,3,0,0,4,5,3,0,0,4,3,3,0,0,4,-2,4,0,0,4,-1,4,0,0,4,7,5,0,0,4,6,5,0,0,4,5,5,0,0,4,4,5,0,0,4,3,5,0,0,4,2,5,0,0,4,1,5,0,0,4,0,5,0,0,4,-1,5,0,0,4,-2,5,0,0,4,6,-3,0,0,4,6,-2,0,0,4,6,-1,0,0,4,6,0,0,0,4,6,1,0,0,4,2,-2,0,0,4,7,-2,0,0,4,7,-1,0,0,4,7,0,0,0,4,7,1,0,0,4,8,1,0,0,4,8,0,0,0,4,8,-1,0,0,4,8,-2,0,0,4,7,-3,0,0,4,4,-3,0,0,4,-1,1,0,0,4,-2,1,0,0,4,-2,0,0,0,4,-1,0,0,0,4,-1,-1,0,0,4,-2,-1,0,0,4,8,-3,0,0,4,2,-3,0,0,4,1,-3,0,0,4,0,-3,0,0,4,0,-4,0,0,4,1,-4,0,0,4,2,-4,0,0,4,3,-4,0,0,4,4,-4,0,0,4,5,-4,0,0,4,6,-4,0,0,4,4,2,0,0,4,4,3,0,0,4],"Middle":[],"Top":[-3,-6,0,9,2,-3,-5,0,9,2,-3,-4,0,9,2,-3,-3,0,6,2,-3,-2,0,11,2,-3,-1,0,11,2,-3,0,0,11,2,-3,1,0,11,2,-3,2,0,11,2,-3,3,0,11,2,-3,4,0,11,2,-3,5,0,11,2,-3,6,0,6,1,-2,-6,0,9,2,-2,-5,0,9,2,-2,-4,0,9,2,-2,-3,0,9,3,-2,-2,0,2,4,-2,6,0,10,0,-1,-6,0,6,2,-1,-5,0,11,2,-1,-4,0,11,2,-1,-3,0,11,3,-1,-2,0,3,4,-1,6,0,10,0,0,-6,0,9,3,0,-5,0,2,4,0,1,0,0,0,0,2,0,1,2,0,3,0,1,4,0,6,0,10,0,1,-6,0,9,3,1,-5,0,2,4,1,2,0,2,3,1,3,0,2,4,1,6,0,10,0,2,-6,0,9,3,2,-5,0,2,4,2,2,0,3,3,2,3,0,3,4,2,6,0,10,0,3,-6,0,9,3,3,-5,0,2,4,3,6,0,10,0,4,-6,0,9,3,4,-5,0,2,4,4,-2,0,1,3,4,-1,0,1,4,4,6,0,10,0,5,-6,0,9,3,5,-5,0,2,4,5,-2,0,3,3,5,-1,0,3,4,5,6,0,10,0,6,-6,0,9,3,6,-5,0,2,4,6,6,0,10,0,7,-6,0,5,2,7,-5,0,8,3,7,-4,0,1,4,7,6,0,10,0,8,-6,0,9,2,8,-5,0,9,3,8,-4,0,2,4,8,2,0,8,0,8,3,0,8,1,8,4,0,8,1,8,5,0,8,1,8,6,0,5,1,9,-6,0,9,2,9,-5,0,5,2,9,-4,0,8,1,9,-3,0,8,1,9,-2,0,8,1,9,-1,0,8,1,9,0,0,8,1,9,1,0,8,1,9,2,0,5,1,9,3,0,9,2,9,4,0,9,2,9,5,0,9,2,9,6,0,9,2]}
\ No newline at end of file
diff --git a/DungeonShooting_Godot/src/framework/map/serialize/DungeonTileInfo.cs b/DungeonShooting_Godot/src/framework/map/serialize/DungeonTileInfo.cs
index c4003b4..53508b7 100644
--- a/DungeonShooting_Godot/src/framework/map/serialize/DungeonTileInfo.cs
+++ b/DungeonShooting_Godot/src/framework/map/serialize/DungeonTileInfo.cs
@@ -1,14 +1,21 @@
 
 using System.Collections.Generic;
 using System.Text.Json.Serialization;
+using Godot;
 
 public class DungeonTileInfo
 {
     /// <summary>
-    /// 导航数据
+    /// 导航顶点数据
     /// </summary>
     [JsonInclude]
-    public List<NavigationPolygonData> NavigationList;
+    public List<SerializeVector2> NavigationVertices;
+    
+    /// <summary>
+    /// 导航多边形数据
+    /// </summary>
+    [JsonInclude]
+    public List<int[]> NavigationPolygon;
 
     /// <summary>
     /// 底层数据, 五个一组, 分别为: 地图x坐标, 地图y坐标, 资源id, 图集x坐标, 图集y坐标
diff --git a/DungeonShooting_Godot/src/game/room/DungeonManager.cs b/DungeonShooting_Godot/src/game/room/DungeonManager.cs
index 6444ff1..ca0c3be 100644
--- a/DungeonShooting_Godot/src/game/room/DungeonManager.cs
+++ b/DungeonShooting_Godot/src/game/room/DungeonManager.cs
@@ -377,31 +377,32 @@
     //挂载房间导航区域
     private void MountNavFromRoomInfo(RoomInfo roomInfo)
     {
-        var polygonArray = roomInfo.RoomSplit.TileInfo.NavigationList;
-        var polygon = new NavigationPolygon();
-        var offset = roomInfo.GetOffsetPosition();
-        for (var i = 0; i < polygonArray.Count; i++)
-        {
-            var navigationPolygonData = polygonArray[i];
-            var tempPosArray = navigationPolygonData.GetPoints();
-            var polygonPointArray = new Vector2[tempPosArray.Length];
-            //这里的位置需要加上房间位置
-            for (var j = 0; j < tempPosArray.Length; j++)
-            {
-                polygonPointArray[j] = tempPosArray[j] + roomInfo.GetWorldPosition() - offset;
-            }
-            polygon.AddOutline(polygonPointArray);
-
-            //存入汇总列表
-            var polygonData = new NavigationPolygonData(navigationPolygonData.Type);
-            polygonData.SetPoints(polygonPointArray);
-            _roomStaticNavigationList.Add(polygonData);
-        }
-        polygon.MakePolygonsFromOutlines();
-        var navigationPolygon = new NavigationRegion2D();
-        navigationPolygon.Name = "NavigationRegion" + (GetChildCount() + 1);
-        navigationPolygon.NavigationPolygon = polygon;
-        World.TileRoot.AddChild(navigationPolygon);
+        throw new NotImplementedException();
+        // var polygonArray = roomInfo.RoomSplit.TileInfo.NavigationList;
+        // var polygon = new NavigationPolygon();
+        // var offset = roomInfo.GetOffsetPosition();
+        // for (var i = 0; i < polygonArray.Count; i++)
+        // {
+        //     var navigationPolygonData = polygonArray[i];
+        //     var tempPosArray = navigationPolygonData.GetPoints();
+        //     var polygonPointArray = new Vector2[tempPosArray.Length];
+        //     //这里的位置需要加上房间位置
+        //     for (var j = 0; j < tempPosArray.Length; j++)
+        //     {
+        //         polygonPointArray[j] = tempPosArray[j] + roomInfo.GetWorldPosition() - offset;
+        //     }
+        //     polygon.AddOutline(polygonPointArray);
+        //
+        //     //存入汇总列表
+        //     var polygonData = new NavigationPolygonData(navigationPolygonData.Type);
+        //     polygonData.SetPoints(polygonPointArray);
+        //     _roomStaticNavigationList.Add(polygonData);
+        // }
+        // polygon.MakePolygonsFromOutlines();
+        // var navigationPolygon = new NavigationRegion2D();
+        // navigationPolygon.Name = "NavigationRegion" + (GetChildCount() + 1);
+        // navigationPolygon.NavigationPolygon = polygon;
+        // World.TileRoot.AddChild(navigationPolygon);
     }
 
     //创建门
diff --git a/DungeonShooting_Godot/src/game/ui/mapEditor/tileView/EditorTileMap.cs b/DungeonShooting_Godot/src/game/ui/mapEditor/tileView/EditorTileMap.cs
index c8223a6..5398fe2 100644
--- a/DungeonShooting_Godot/src/game/ui/mapEditor/tileView/EditorTileMap.cs
+++ b/DungeonShooting_Godot/src/game/ui/mapEditor/tileView/EditorTileMap.cs
@@ -1,5 +1,6 @@
 using System;
 using System.Collections.Generic;
+using System.Linq;
 using Godot;
 using Godot.Collections;
 using UI.MapEditorTools;
@@ -168,6 +169,7 @@
 
         RenderingServer.FramePostDraw += OnFramePostDraw;
         var navigationRegion = _editorTileMap.L_NavigationRegion.Instance;
+        navigationRegion.Visible = false;
         navigationRegion.NavigationPolygon.AgentRadius = GameConfig.NavigationAgentRadius;
         navigationRegion.BakeFinished += OnBakeFinished;
     }
@@ -502,6 +504,21 @@
         {
             RunCheckHandler();
         }
+        else
+        {
+            //导航网格
+            if (tileInfo.NavigationPolygon != null && tileInfo.NavigationVertices != null)
+            {
+                var polygon = _editorTileMap.L_NavigationRegion.Instance.NavigationPolygon;
+                polygon.Vertices = tileInfo.NavigationVertices.Select(v => v.AsVector2()).ToArray();
+                foreach (var p in tileInfo.NavigationPolygon)
+                {
+                    polygon.AddPolygon(p);
+                }
+
+                OnBakeFinished();
+            }
+        }
         //聚焦
         //MapEditorPanel.CallDelay(0.1f, OnClickCenterTool);
         //CallDeferred(nameof(OnClickCenterTool), null);
@@ -652,7 +669,6 @@
     {
         _generateTimer = _generateInterval;
         _isGenerateTerrain = false;
-        _editorTileMap.L_NavigationRegion.Instance.Visible = false;
         ClearLayer(AutoTopLayer);
         ClearLayer(AutoMiddleLayer);
         CloseErrorCell();
@@ -856,7 +872,6 @@
             new Vector2(CurrRoomPosition.X, endPos.Y) * GameConfig.TileCellSize
         });
         navigationRegion.BakeNavigationPolygon(false);
-        navigationRegion.Visible = true;
     }
 
     //设置显示的错误cell, 会标记上红色的闪烁动画
@@ -1046,9 +1061,25 @@
     {
         //存入本地
         var tileInfo = CurrRoomSplit.TileInfo;
-        tileInfo.NavigationList.Clear();
-        Debug.LogError("存入导航网格数据");
-        //tileInfo.NavigationList.AddRange(_dungeonTileMap.GetPolygonData());
+        if (tileInfo.NavigationPolygon == null)
+        {
+            tileInfo.NavigationPolygon = new List<int[]>();
+        }
+        else
+        {
+            tileInfo.NavigationPolygon.Clear();
+        }
+        if (tileInfo.NavigationVertices == null)
+        {
+            tileInfo.NavigationVertices = new List<SerializeVector2>();
+        }
+        else
+        {
+            tileInfo.NavigationVertices.Clear();
+        }
+        var polygon = _editorTileMap.L_NavigationRegion.Instance.NavigationPolygon;
+        tileInfo.NavigationPolygon.AddRange(polygon.Polygons);
+        tileInfo.NavigationVertices.AddRange(polygon.Vertices.Select(v => new SerializeVector2(v)));
         tileInfo.Floor.Clear();
         tileInfo.Middle.Clear();
         tileInfo.Top.Clear();
diff --git a/DungeonShooting_Godot/src/game/ui/mapEditorCreateRoom/MapEditorCreateRoomPanel.cs b/DungeonShooting_Godot/src/game/ui/mapEditorCreateRoom/MapEditorCreateRoomPanel.cs
index 7ad311a..f21283a 100644
--- a/DungeonShooting_Godot/src/game/ui/mapEditorCreateRoom/MapEditorCreateRoomPanel.cs
+++ b/DungeonShooting_Godot/src/game/ui/mapEditorCreateRoom/MapEditorCreateRoomPanel.cs
@@ -144,7 +144,8 @@
             roomSplit.RoomInfo = roomInfo;
 
             var tileInfo = new DungeonTileInfo();
-            tileInfo.NavigationList = new List<NavigationPolygonData>();
+            tileInfo.NavigationVertices = new List<SerializeVector2>();
+            tileInfo.NavigationPolygon = new List<int[]>();
             tileInfo.Floor = new List<int>();
             tileInfo.Middle = new List<int>();
             tileInfo.Top = new List<int>();