diff --git a/unity/.vsconfig b/unity/.vsconfig
new file mode 100644
index 0000000..f019fd0
--- /dev/null
+++ b/unity/.vsconfig
@@ -0,0 +1,6 @@
+{
+ "version": "1.0",
+ "components": [
+ "Microsoft.VisualStudio.Workload.ManagedGame"
+ ]
+}
diff --git a/unity/Assets/Scenes/Test.unity b/unity/Assets/Scenes/Test.unity
index 1c9ea3b..888117e 100644
--- a/unity/Assets/Scenes/Test.unity
+++ b/unity/Assets/Scenes/Test.unity
@@ -883,7 +883,7 @@ Transform:
m_GameObject: {fileID: 330585543}
serializedVersion: 2
m_LocalRotation: {x: 0.38268343, y: 0, z: 0, w: 0.92387956}
- m_LocalPosition: {x: 0, y: 5, z: -6.99}
+ m_LocalPosition: {x: 0, y: 8, z: -10}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
@@ -946,7 +946,7 @@ MonoBehaviour:
m_Name:
m_EditorClassIdentifier:
target: {fileID: 441783843}
- offset: {x: 0, y: 6.25, z: -7.5}
+ offset: {x: 0, y: 8, z: -10}
--- !u!1 &338266639
GameObject:
m_ObjectHideFlags: 0
diff --git a/unity/Assets/Scenes/res.meta b/unity/Assets/Scenes/res.meta
new file mode 100644
index 0000000..6a01fd4
--- /dev/null
+++ b/unity/Assets/Scenes/res.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: DX5KtX+lBXIaXtVUILykYdLl4zMSmZ7W9PoEupSl6+r76/9GNXeE1Lw=
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/unity/Assets/Scenes/bg.png b/unity/Assets/Scenes/res/bg.png
similarity index 100%
rename from unity/Assets/Scenes/bg.png
rename to unity/Assets/Scenes/res/bg.png
diff --git a/unity/Assets/Scenes/bg.png.meta b/unity/Assets/Scenes/res/bg.png.meta
similarity index 100%
rename from unity/Assets/Scenes/bg.png.meta
rename to unity/Assets/Scenes/res/bg.png.meta
diff --git a/unity/Assets/Scenes/bg1.png b/unity/Assets/Scenes/res/bg1.png
similarity index 100%
rename from unity/Assets/Scenes/bg1.png
rename to unity/Assets/Scenes/res/bg1.png
diff --git a/unity/Assets/Scenes/bg1.png.meta b/unity/Assets/Scenes/res/bg1.png.meta
similarity index 100%
rename from unity/Assets/Scenes/bg1.png.meta
rename to unity/Assets/Scenes/res/bg1.png.meta
diff --git a/unity/Assets/Scenes/res/object.meta b/unity/Assets/Scenes/res/object.meta
new file mode 100644
index 0000000..068b8c7
--- /dev/null
+++ b/unity/Assets/Scenes/res/object.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: Cn8d5nyqUypHBc3PlXSVAcGFYCL5FYaBHGZq43WU7tRX8a7FWYAKLuM=
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/unity/Assets/Scenes/c1.png b/unity/Assets/Scenes/res/object/c1.png
similarity index 100%
rename from unity/Assets/Scenes/c1.png
rename to unity/Assets/Scenes/res/object/c1.png
diff --git a/unity/Assets/Scenes/c1.png.meta b/unity/Assets/Scenes/res/object/c1.png.meta
similarity index 100%
rename from unity/Assets/Scenes/c1.png.meta
rename to unity/Assets/Scenes/res/object/c1.png.meta
diff --git a/unity/Assets/Scenes/c2.png b/unity/Assets/Scenes/res/object/c2.png
similarity index 100%
rename from unity/Assets/Scenes/c2.png
rename to unity/Assets/Scenes/res/object/c2.png
diff --git a/unity/Assets/Scenes/c2.png.meta b/unity/Assets/Scenes/res/object/c2.png.meta
similarity index 100%
rename from unity/Assets/Scenes/c2.png.meta
rename to unity/Assets/Scenes/res/object/c2.png.meta
diff --git a/unity/Assets/Scenes/图层 14.png b/unity/Assets/Scenes/res/object/低树1.png
similarity index 100%
rename from unity/Assets/Scenes/图层 14.png
rename to unity/Assets/Scenes/res/object/低树1.png
diff --git a/unity/Assets/Scenes/图层 14.png.meta b/unity/Assets/Scenes/res/object/低树1.png.meta
similarity index 100%
rename from unity/Assets/Scenes/图层 14.png.meta
rename to unity/Assets/Scenes/res/object/低树1.png.meta
diff --git a/unity/Assets/Scenes/图层 4.png b/unity/Assets/Scenes/res/object/图层 4.png
similarity index 100%
rename from unity/Assets/Scenes/图层 4.png
rename to unity/Assets/Scenes/res/object/图层 4.png
diff --git a/unity/Assets/Scenes/图层 4.png.meta b/unity/Assets/Scenes/res/object/图层 4.png.meta
similarity index 100%
rename from unity/Assets/Scenes/图层 4.png.meta
rename to unity/Assets/Scenes/res/object/图层 4.png.meta
diff --git a/unity/Assets/Scenes/图层 5.png b/unity/Assets/Scenes/res/object/图层 5.png
similarity index 100%
rename from unity/Assets/Scenes/图层 5.png
rename to unity/Assets/Scenes/res/object/图层 5.png
diff --git a/unity/Assets/Scenes/图层 5.png.meta b/unity/Assets/Scenes/res/object/图层 5.png.meta
similarity index 100%
rename from unity/Assets/Scenes/图层 5.png.meta
rename to unity/Assets/Scenes/res/object/图层 5.png.meta
diff --git a/unity/Assets/Scenes/图层 8 (2).png b/unity/Assets/Scenes/res/object/图层 8 (2).png
similarity index 100%
rename from unity/Assets/Scenes/图层 8 (2).png
rename to unity/Assets/Scenes/res/object/图层 8 (2).png
diff --git a/unity/Assets/Scenes/图层 8 (2).png.meta b/unity/Assets/Scenes/res/object/图层 8 (2).png.meta
similarity index 100%
rename from unity/Assets/Scenes/图层 8 (2).png.meta
rename to unity/Assets/Scenes/res/object/图层 8 (2).png.meta
diff --git a/unity/Assets/Scenes/图层 2.png b/unity/Assets/Scenes/res/object/山1.png
similarity index 100%
rename from unity/Assets/Scenes/图层 2.png
rename to unity/Assets/Scenes/res/object/山1.png
diff --git a/unity/Assets/Scenes/图层 2.png.meta b/unity/Assets/Scenes/res/object/山1.png.meta
similarity index 100%
rename from unity/Assets/Scenes/图层 2.png.meta
rename to unity/Assets/Scenes/res/object/山1.png.meta
diff --git a/unity/Assets/Scenes/图层 3 (2).png b/unity/Assets/Scenes/res/object/山2.png
similarity index 100%
rename from unity/Assets/Scenes/图层 3 (2).png
rename to unity/Assets/Scenes/res/object/山2.png
diff --git a/unity/Assets/Scenes/图层 3 (2).png.meta b/unity/Assets/Scenes/res/object/山2.png.meta
similarity index 100%
rename from unity/Assets/Scenes/图层 3 (2).png.meta
rename to unity/Assets/Scenes/res/object/山2.png.meta
diff --git a/unity/Assets/Scenes/图层 4 (2).png b/unity/Assets/Scenes/res/object/山3.png
similarity index 100%
rename from unity/Assets/Scenes/图层 4 (2).png
rename to unity/Assets/Scenes/res/object/山3.png
diff --git a/unity/Assets/Scenes/图层 4 (2).png.meta b/unity/Assets/Scenes/res/object/山3.png.meta
similarity index 100%
rename from unity/Assets/Scenes/图层 4 (2).png.meta
rename to unity/Assets/Scenes/res/object/山3.png.meta
diff --git a/unity/Assets/Scenes/图层 6 (2).png b/unity/Assets/Scenes/res/object/山4.png
similarity index 100%
rename from unity/Assets/Scenes/图层 6 (2).png
rename to unity/Assets/Scenes/res/object/山4.png
diff --git a/unity/Assets/Scenes/图层 6 (2).png.meta b/unity/Assets/Scenes/res/object/山4.png.meta
similarity index 100%
rename from unity/Assets/Scenes/图层 6 (2).png.meta
rename to unity/Assets/Scenes/res/object/山4.png.meta
diff --git a/unity/Assets/Scenes/图层 7 (2).png b/unity/Assets/Scenes/res/object/山5.png
similarity index 100%
rename from unity/Assets/Scenes/图层 7 (2).png
rename to unity/Assets/Scenes/res/object/山5.png
diff --git a/unity/Assets/Scenes/图层 7 (2).png.meta b/unity/Assets/Scenes/res/object/山5.png.meta
similarity index 100%
rename from unity/Assets/Scenes/图层 7 (2).png.meta
rename to unity/Assets/Scenes/res/object/山5.png.meta
diff --git a/unity/Assets/Scenes/图层 19.png b/unity/Assets/Scenes/res/object/山6.png
similarity index 100%
rename from unity/Assets/Scenes/图层 19.png
rename to unity/Assets/Scenes/res/object/山6.png
diff --git a/unity/Assets/Scenes/图层 19.png.meta b/unity/Assets/Scenes/res/object/山6.png.meta
similarity index 100%
rename from unity/Assets/Scenes/图层 19.png.meta
rename to unity/Assets/Scenes/res/object/山6.png.meta
diff --git a/unity/Assets/Scenes/图层 6.png b/unity/Assets/Scenes/res/object/树1.png
similarity index 100%
rename from unity/Assets/Scenes/图层 6.png
rename to unity/Assets/Scenes/res/object/树1.png
diff --git a/unity/Assets/Scenes/图层 6.png.meta b/unity/Assets/Scenes/res/object/树1.png.meta
similarity index 100%
rename from unity/Assets/Scenes/图层 6.png.meta
rename to unity/Assets/Scenes/res/object/树1.png.meta
diff --git a/unity/Assets/Scenes/图层 15.png b/unity/Assets/Scenes/res/object/树2.png
similarity index 100%
rename from unity/Assets/Scenes/图层 15.png
rename to unity/Assets/Scenes/res/object/树2.png
diff --git a/unity/Assets/Scenes/图层 15.png.meta b/unity/Assets/Scenes/res/object/树2.png.meta
similarity index 100%
rename from unity/Assets/Scenes/图层 15.png.meta
rename to unity/Assets/Scenes/res/object/树2.png.meta
diff --git a/unity/Assets/Scenes/图层 16.png b/unity/Assets/Scenes/res/object/树3.png
similarity index 100%
rename from unity/Assets/Scenes/图层 16.png
rename to unity/Assets/Scenes/res/object/树3.png
diff --git a/unity/Assets/Scenes/图层 16.png.meta b/unity/Assets/Scenes/res/object/树3.png.meta
similarity index 100%
rename from unity/Assets/Scenes/图层 16.png.meta
rename to unity/Assets/Scenes/res/object/树3.png.meta
diff --git a/unity/Assets/Scenes/图层 17.png b/unity/Assets/Scenes/res/object/树4.png
similarity index 100%
rename from unity/Assets/Scenes/图层 17.png
rename to unity/Assets/Scenes/res/object/树4.png
diff --git a/unity/Assets/Scenes/图层 17.png.meta b/unity/Assets/Scenes/res/object/树4.png.meta
similarity index 100%
rename from unity/Assets/Scenes/图层 17.png.meta
rename to unity/Assets/Scenes/res/object/树4.png.meta
diff --git a/unity/Assets/Scenes/图层 18.png b/unity/Assets/Scenes/res/object/树5.png
similarity index 100%
rename from unity/Assets/Scenes/图层 18.png
rename to unity/Assets/Scenes/res/object/树5.png
diff --git a/unity/Assets/Scenes/图层 18.png.meta b/unity/Assets/Scenes/res/object/树5.png.meta
similarity index 100%
rename from unity/Assets/Scenes/图层 18.png.meta
rename to unity/Assets/Scenes/res/object/树5.png.meta
diff --git a/unity/Assets/Scenes/图层 3.png b/unity/Assets/Scenes/res/object/树桩1.png
similarity index 100%
rename from unity/Assets/Scenes/图层 3.png
rename to unity/Assets/Scenes/res/object/树桩1.png
diff --git a/unity/Assets/Scenes/图层 3.png.meta b/unity/Assets/Scenes/res/object/树桩1.png.meta
similarity index 100%
rename from unity/Assets/Scenes/图层 3.png.meta
rename to unity/Assets/Scenes/res/object/树桩1.png.meta
diff --git a/unity/Assets/Scenes/图层 8.png b/unity/Assets/Scenes/res/object/花1.png
similarity index 100%
rename from unity/Assets/Scenes/图层 8.png
rename to unity/Assets/Scenes/res/object/花1.png
diff --git a/unity/Assets/Scenes/图层 8.png.meta b/unity/Assets/Scenes/res/object/花1.png.meta
similarity index 100%
rename from unity/Assets/Scenes/图层 8.png.meta
rename to unity/Assets/Scenes/res/object/花1.png.meta
diff --git a/unity/Assets/Scenes/图层 9.png b/unity/Assets/Scenes/res/object/花2.png
similarity index 100%
rename from unity/Assets/Scenes/图层 9.png
rename to unity/Assets/Scenes/res/object/花2.png
diff --git a/unity/Assets/Scenes/图层 9.png.meta b/unity/Assets/Scenes/res/object/花2.png.meta
similarity index 100%
rename from unity/Assets/Scenes/图层 9.png.meta
rename to unity/Assets/Scenes/res/object/花2.png.meta
diff --git a/unity/Assets/Scenes/图层 10.png b/unity/Assets/Scenes/res/object/花3.png
similarity index 100%
rename from unity/Assets/Scenes/图层 10.png
rename to unity/Assets/Scenes/res/object/花3.png
diff --git a/unity/Assets/Scenes/图层 10.png.meta b/unity/Assets/Scenes/res/object/花3.png.meta
similarity index 100%
rename from unity/Assets/Scenes/图层 10.png.meta
rename to unity/Assets/Scenes/res/object/花3.png.meta
diff --git a/unity/Assets/Scenes/图层 7.png b/unity/Assets/Scenes/res/object/草1.png
similarity index 100%
rename from unity/Assets/Scenes/图层 7.png
rename to unity/Assets/Scenes/res/object/草1.png
diff --git a/unity/Assets/Scenes/图层 7.png.meta b/unity/Assets/Scenes/res/object/草1.png.meta
similarity index 100%
rename from unity/Assets/Scenes/图层 7.png.meta
rename to unity/Assets/Scenes/res/object/草1.png.meta
diff --git a/unity/Assets/Scenes/图层 11.png b/unity/Assets/Scenes/res/object/草2.png
similarity index 100%
rename from unity/Assets/Scenes/图层 11.png
rename to unity/Assets/Scenes/res/object/草2.png
diff --git a/unity/Assets/Scenes/图层 11.png.meta b/unity/Assets/Scenes/res/object/草2.png.meta
similarity index 100%
rename from unity/Assets/Scenes/图层 11.png.meta
rename to unity/Assets/Scenes/res/object/草2.png.meta
diff --git a/unity/Assets/Scenes/图层 12.png b/unity/Assets/Scenes/res/object/草3.png
similarity index 100%
rename from unity/Assets/Scenes/图层 12.png
rename to unity/Assets/Scenes/res/object/草3.png
diff --git a/unity/Assets/Scenes/图层 12.png.meta b/unity/Assets/Scenes/res/object/草3.png.meta
similarity index 100%
rename from unity/Assets/Scenes/图层 12.png.meta
rename to unity/Assets/Scenes/res/object/草3.png.meta
diff --git a/unity/Assets/Scenes/图层 13.png b/unity/Assets/Scenes/res/object/草4.png
similarity index 100%
rename from unity/Assets/Scenes/图层 13.png
rename to unity/Assets/Scenes/res/object/草4.png
diff --git a/unity/Assets/Scenes/图层 13.png.meta b/unity/Assets/Scenes/res/object/草4.png.meta
similarity index 100%
rename from unity/Assets/Scenes/图层 13.png.meta
rename to unity/Assets/Scenes/res/object/草4.png.meta
diff --git a/unity/Assets/Scenes/res/player.meta b/unity/Assets/Scenes/res/player.meta
new file mode 100644
index 0000000..cb10e37
--- /dev/null
+++ b/unity/Assets/Scenes/res/player.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: XCsbsi38VCg2OvxSGS3oGO1eNiTfBRpF7zgzhQrGlGh3+RTNDgb/J+E=
+folderAsset: yes
+DefaultImporter:
+ externalObjects: {}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/unity/Assets/Scenes/图层 91.png b/unity/Assets/Scenes/res/player/play1.png
similarity index 100%
rename from unity/Assets/Scenes/图层 91.png
rename to unity/Assets/Scenes/res/player/play1.png
diff --git a/unity/Assets/Scenes/图层 91.png.meta b/unity/Assets/Scenes/res/player/play1.png.meta
similarity index 100%
rename from unity/Assets/Scenes/图层 91.png.meta
rename to unity/Assets/Scenes/res/player/play1.png.meta
diff --git a/unity/Assets/Scenes/sky.png b/unity/Assets/Scenes/res/sky.png
similarity index 100%
rename from unity/Assets/Scenes/sky.png
rename to unity/Assets/Scenes/res/sky.png
diff --git a/unity/Assets/Scenes/sky.png.meta b/unity/Assets/Scenes/res/sky.png.meta
similarity index 100%
rename from unity/Assets/Scenes/sky.png.meta
rename to unity/Assets/Scenes/res/sky.png.meta
diff --git a/unity/Assets/Scenes/yl.png b/unity/Assets/Scenes/res/yl.png
similarity index 100%
rename from unity/Assets/Scenes/yl.png
rename to unity/Assets/Scenes/res/yl.png
diff --git a/unity/Assets/Scenes/yl.png.meta b/unity/Assets/Scenes/res/yl.png.meta
similarity index 100%
rename from unity/Assets/Scenes/yl.png.meta
rename to unity/Assets/Scenes/res/yl.png.meta
diff --git a/unity/Assets/Scenes/组 2.png b/unity/Assets/Scenes/res/组 2.png
similarity index 100%
rename from unity/Assets/Scenes/组 2.png
rename to unity/Assets/Scenes/res/组 2.png
diff --git a/unity/Assets/Scenes/组 2.png.meta b/unity/Assets/Scenes/res/组 2.png.meta
similarity index 100%
rename from unity/Assets/Scenes/组 2.png.meta
rename to unity/Assets/Scenes/res/组 2.png.meta
diff --git a/unity/Assets/camera/YSorter.cs b/unity/Assets/camera/YSorter.cs
new file mode 100644
index 0000000..4485ccd
--- /dev/null
+++ b/unity/Assets/camera/YSorter.cs
@@ -0,0 +1,68 @@
+using UnityEngine;
+
+///
+/// Y-Sort 排序器 —— 根据物体的Y坐标(世界空间)动态调整Sprite的sortingOrder。
+///
+/// 原理:
+/// 在2.5D等距视角游戏中,Y坐标代表"前后"关系(Y越小=越远=越靠后)。
+/// 本脚本每帧根据物体的Y坐标计算sortingOrder,Y值越小排序值越小,
+/// 这样后面的物体会被前面的物体遮挡,实现正确的前后遮挡关系。
+///
+/// 用法:
+/// 1. 挂到所有需要参与Y-Sort的Sprite物体上(玩家、敌人、树木、石头等)
+/// 2. 设置 baseSortingOrder 区分不同类型的物体(如地面=0,角色=1000,UI=2000)
+/// 3. 确保所有参与排序的Sprite在同一个Sorting Layer上
+///
+/// 注意:
+/// - 本脚本假设摄像机从斜上方俯视(Y轴代表前后)
+/// - 所有参与排序的物体必须在同一个Sorting Layer
+/// - 建议给不同类型的物体设置不同的baseSortingOrder以避免冲突
+///
+public class YSorter : MonoBehaviour
+{
+ [Tooltip("基础排序值,用于区分不同类型的物体(如地面=0,角色=1000)")]
+ [SerializeField] private int baseSortingOrder = 0;
+
+ [Tooltip("Y坐标到sortingOrder的缩放系数(值越大,前后物体排序差异越明显)")]
+ [SerializeField] private float scaleFactor = 100f;
+
+ [Tooltip("是否每帧更新(关闭则只在移动时更新,性能更好)")]
+ [SerializeField] private bool updateEveryFrame = true;
+
+ private SpriteRenderer _spriteRenderer;
+ private Vector3 _lastPosition;
+
+ private void Awake()
+ {
+ _spriteRenderer = GetComponentInChildren();
+ if (_spriteRenderer == null)
+ {
+ Debug.LogWarning($"YSorter: 物体 {gameObject.name} 没有找到SpriteRenderer组件");
+ }
+ _lastPosition = transform.position;
+ }
+
+ private void LateUpdate()
+ {
+ if (_spriteRenderer == null) return;
+
+ // 如果设置了不是每帧更新,只在位置改变时更新
+ if (!updateEveryFrame && transform.position == _lastPosition)
+ return;
+
+ UpdateSortingOrder();
+ _lastPosition = transform.position;
+ }
+
+ private void UpdateSortingOrder()
+ {
+ // Y值越小(越远),sortingOrder越小
+ // 使用负号是因为Unity中Y轴向上为正,但我们需要Y越小=越靠后
+ int sortingOrder = baseSortingOrder - Mathf.RoundToInt(transform.position.y * scaleFactor);
+
+ if (_spriteRenderer.sortingOrder != sortingOrder)
+ {
+ _spriteRenderer.sortingOrder = sortingOrder;
+ }
+ }
+}
diff --git a/unity/Assets/camera/YSorter.cs.meta b/unity/Assets/camera/YSorter.cs.meta
new file mode 100644
index 0000000..8328cda
--- /dev/null
+++ b/unity/Assets/camera/YSorter.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: CCgY4CyqVHkfAUXU0+AZevsbEL7ex49jkAXnw8oz9TQ6JplkI3k2lCQ=
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/unity/UserSettings/EditorUserSettings.asset b/unity/UserSettings/EditorUserSettings.asset
index 72926fd..821efe0 100644
--- a/unity/UserSettings/EditorUserSettings.asset
+++ b/unity/UserSettings/EditorUserSettings.asset
@@ -15,17 +15,17 @@ EditorUserSettings:
value: 50025251565751035a5b0a7b44250944144f4e7d7d787336782a4a37b6b7606f
flags: 0
RecentlyUsedSceneGuid-3:
- value: 5a5757560101590a5d0c0e24427b5d44434e4c7a7b7a23677f2b4565b7b5353a
- flags: 0
- RecentlyUsedSceneGuid-4:
value: 5055070050010c5a0e5d0d27497a0e441016412c2f7d206178714f61b3b8326b
flags: 0
- RecentlyUsedSceneGuid-5:
+ RecentlyUsedSceneGuid-4:
value: 5004505e50045a0e5f57097b14250f444615407b287b7e657f704c31b5b36660
flags: 0
- RecentlyUsedSceneGuid-6:
+ RecentlyUsedSceneGuid-5:
value: 5b090d000402580a5c5b087648735e4445151e737b717334757b1832b1b93261
flags: 0
+ RecentlyUsedSceneGuid-6:
+ value: 5a5757560101590a5d0c0e24427b5d44434e4c7a7b7a23677f2b4565b7b5353a
+ flags: 0
RecentlyUsedSceneGuid-7:
value: 5a55515156575a0b0f56592346260f444f16197c7e7f24697d2a4a32b1b0353e
flags: 0