diff --git a/.codely/clipboard/clipboard-1789535987301.png b/.codely/clipboard/clipboard-1789535987301.png deleted file mode 100644 index dacbf3a..0000000 Binary files a/.codely/clipboard/clipboard-1789535987301.png and /dev/null differ diff --git a/.codely/clipboard/clipboard-1789634574597.png b/.codely/clipboard/clipboard-1789634574597.png new file mode 100644 index 0000000..b971cfe Binary files /dev/null and b/.codely/clipboard/clipboard-1789634574597.png differ diff --git a/Assets/Materials/ObstacleBlock.mat b/Assets/Materials/ObstacleBlock.mat new file mode 100644 index 0000000..e910319 --- /dev/null +++ b/Assets/Materials/ObstacleBlock.mat @@ -0,0 +1,83 @@ +%YAML 1.1 +%TAG !u! tag:yousandi.cn,2023: +--- !u!21 &2100000 +Material: + serializedVersion: 8 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: ObstacleBlock + m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 + m_ValidKeywords: [] + m_InvalidKeywords: [] + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: [] + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _BumpMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailAlbedoMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMask: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MetallicGlossMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _OcclusionMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ParallaxMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _BumpScale: 1 + - _Cutoff: 0.5 + - _DetailNormalMapScale: 1 + - _DstBlend: 0 + - _GlossMapScale: 1 + - _Glossiness: 0.2 + - _GlossyReflections: 1 + - _Metallic: 0 + - _Mode: 0 + - _OcclusionStrength: 1 + - _Parallax: 0.02 + - _SmoothnessTextureChannel: 0 + - _SpecularHighlights: 1 + - _SrcBlend: 1 + - _UVSec: 0 + - _ZWrite: 1 + m_Colors: + - _Color: {r: 0.35, g: 0.15, b: 0.12, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + m_BuildTextureStacks: [] diff --git a/Assets/Materials/ObstacleBlock.mat.meta b/Assets/Materials/ObstacleBlock.mat.meta new file mode 100644 index 0000000..7781210 --- /dev/null +++ b/Assets/Materials/ObstacleBlock.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: BnlMsyykUSilVfOzgl9PeQqoF16qZxr3JA2FGHDga2J7cUsfLNDBZGU= +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Models.meta b/Assets/Models.meta new file mode 100644 index 0000000..af30238 --- /dev/null +++ b/Assets/Models.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: XCsbsi7+An+PJzLywYrk9uQ+u2lq4ZOAZ15E4arp4JNqpzv1L+IzA1Q= +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Models/障碍物.meta b/Assets/Models/障碍物.meta new file mode 100644 index 0000000..f8a9db4 --- /dev/null +++ b/Assets/Models/障碍物.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: WXsc43n5USgpoiedIMzmiGGV0P3Ywm5u4rO+LXK5bZcwRQLi7GzNyxE= +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Models/障碍物/障碍物_右上.asset b/Assets/Models/障碍物/障碍物_右上.asset new file mode 100644 index 0000000..6c9e0b3 --- /dev/null +++ b/Assets/Models/障碍物/障碍物_右上.asset @@ -0,0 +1,203 @@ +%YAML 1.1 +%TAG !u! tag:yousandi.cn,2023: +--- !u!43 &4300000 +Mesh: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: "\u969C\u788D\u7269_\u53F3\u4E0A" + serializedVersion: 13 + m_SubMeshes: + - serializedVersion: 2 + firstByte: 0 + indexCount: 21 + topology: 0 + baseVertex: 0 + firstVertex: 0 + vertexCount: 21 + localAABB: + m_Center: {x: 7.5, y: 1, z: -15.5} + m_Extent: {x: 7.5, y: 1, z: 15.5} + m_Shapes: + vertices: [] + shapes: [] + channels: [] + fullWeights: [] + m_BindPose: [] + m_BoneNameHashes: + m_RootBoneNameHash: 0 + m_BonesAABB: [] + m_VariableBoneCountWeights: + m_Data: + m_MeshCompression: 0 + m_IsReadable: 1 + m_KeepVertices: 1 + m_KeepIndices: 1 + m_GIFacetMesh: + serializedVersion: 1 + m_aabb: + m_Min: {x: Infinity, y: Infinity, z: Infinity} + m_Max: {x: -Infinity, y: -Infinity, z: -Infinity} + m_doubleSide: 0 + m_GIFacetInfo: [] + m_GISDFMesh: + serializedVersion: 1 + localAABB: + m_Center: {x: NaN, y: NaN, z: NaN} + m_Extent: {x: NaN, y: NaN, z: NaN} + sdfGenBias: 0.25 + is2Sided: 0 + LODs: [] + m_SharedClusterData: + m_LightmapUseUV1: 0 + rootClusterPage: + hierarchyNodes: [] + pageStreamingInfos: [] + pageIndicesOfDependencies: + clusterCount: 0 + clusterLevelCount: 0 + rootPageSize: 0 + streamingPageSize: 0 + posBits: 0 + normalBits: 0 + tangentBits: 0 + colorBits: 0 + vertsSize: 0 + vertsCount: 0 + uvBits: [] + streamableClusterPageSize: 0 + _typelessdata: + m_IndexFormat: 0 + m_IndexBuffer: 00000200010003000400050006000700080009000a000b000c000d000e000f0010001100120013001400 + m_VertexData: + serializedVersion: 3 + m_VertexCount: 21 + m_Channels: + - stream: 0 + offset: 0 + format: 0 + dimension: 3 + - stream: 0 + offset: 12 + format: 0 + dimension: 3 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + m_DataSize: 504 + _typelessdata: 00000000000000400000f8c100000000000080bf0000000000000000000000400000000000000000000080bf0000000000007041000000400000000000000000000080bf00000000000070410000000000000000d670663f00000000d801dfbe00000000000000000000f8c1d670663f00000000d801dfbe00000000000000400000f8c1d670663f00000000d801dfbe000070410000000000000000d670663f00000000d801dfbe00000000000000400000f8c1d670663f00000000d801dfbe000070410000004000000000d670663f00000000d801dfbe00000000000000000000000000000000000000000000803f00007041000000000000000000000000000000000000803f00007041000000400000000000000000000000000000803f00000000000000000000000000000000000000000000803f00007041000000400000000000000000000000000000803f00000000000000400000000000000000000000000000803f00000000000000000000f8c1000080bf0000000000000000000000000000000000000000000080bf0000000000000000000000000000004000000000000080bf000000000000000000000000000000000000f8c1000080bf0000000000000000000000000000004000000000000080bf000000000000000000000000000000400000f8c1000080bf0000000000000000 + m_CompressedMesh: + m_Vertices: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_UV: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Normals: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Tangents: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Weights: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_NormalSigns: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_TangentSigns: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_FloatColors: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_BoneIndices: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_Triangles: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_UVInfo: 0 + m_LocalAABB: + m_Center: {x: 7.5, y: 1, z: -15.5} + m_Extent: {x: 7.5, y: 1, z: 15.5} + m_MeshUsageFlags: 0 + m_CookingOptions: 30 + m_BakedConvexCollisionMesh: + m_BakedTriangleCollisionMesh: + m_MeshMetrics[0]: 1 + m_MeshMetrics[1]: 1 + m_MeshOptimizationFlags: 1 + m_StreamData: + serializedVersion: 2 + offset: 0 + size: 0 + path: + m_GenerateGeometryBuffer: 0 + m_HasVirtualGeometryMesh: 0 diff --git a/Assets/Models/障碍物/障碍物_右上.asset.meta b/Assets/Models/障碍物/障碍物_右上.asset.meta new file mode 100644 index 0000000..f789aae --- /dev/null +++ b/Assets/Models/障碍物/障碍物_右上.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: BywWsnn4Un/GFWjf8bvyEUH8jTe59QnREzBtnD0L0MlfNBq1S77Lf0Y= +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 4300000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Models/障碍物/障碍物_右下.asset b/Assets/Models/障碍物/障碍物_右下.asset new file mode 100644 index 0000000..e572c47 --- /dev/null +++ b/Assets/Models/障碍物/障碍物_右下.asset @@ -0,0 +1,203 @@ +%YAML 1.1 +%TAG !u! tag:yousandi.cn,2023: +--- !u!43 &4300000 +Mesh: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: "\u969C\u788D\u7269_\u53F3\u4E0B" + serializedVersion: 13 + m_SubMeshes: + - serializedVersion: 2 + firstByte: 0 + indexCount: 21 + topology: 0 + baseVertex: 0 + firstVertex: 0 + vertexCount: 21 + localAABB: + m_Center: {x: 7.5, y: 1, z: 15.5} + m_Extent: {x: 7.5, y: 1, z: 15.5} + m_Shapes: + vertices: [] + shapes: [] + channels: [] + fullWeights: [] + m_BindPose: [] + m_BoneNameHashes: + m_RootBoneNameHash: 0 + m_BonesAABB: [] + m_VariableBoneCountWeights: + m_Data: + m_MeshCompression: 0 + m_IsReadable: 1 + m_KeepVertices: 1 + m_KeepIndices: 1 + m_GIFacetMesh: + serializedVersion: 1 + m_aabb: + m_Min: {x: Infinity, y: Infinity, z: Infinity} + m_Max: {x: -Infinity, y: -Infinity, z: -Infinity} + m_doubleSide: 0 + m_GIFacetInfo: [] + m_GISDFMesh: + serializedVersion: 1 + localAABB: + m_Center: {x: NaN, y: NaN, z: NaN} + m_Extent: {x: NaN, y: NaN, z: NaN} + sdfGenBias: 0.25 + is2Sided: 0 + LODs: [] + m_SharedClusterData: + m_LightmapUseUV1: 0 + rootClusterPage: + hierarchyNodes: [] + pageStreamingInfos: [] + pageIndicesOfDependencies: + clusterCount: 0 + clusterLevelCount: 0 + rootPageSize: 0 + streamingPageSize: 0 + posBits: 0 + normalBits: 0 + tangentBits: 0 + colorBits: 0 + vertsSize: 0 + vertsCount: 0 + uvBits: [] + streamableClusterPageSize: 0 + _typelessdata: + m_IndexFormat: 0 + m_IndexBuffer: 00000100020003000400050006000700080009000a000b000c000d000e000f0010001100120013001400 + m_VertexData: + serializedVersion: 3 + m_VertexCount: 21 + m_Channels: + - stream: 0 + offset: 0 + format: 0 + dimension: 3 + - stream: 0 + offset: 12 + format: 0 + dimension: 3 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + m_DataSize: 504 + _typelessdata: 00000000000000400000f841000000000000803f00000000000070410000004000000000000000000000803f00000000000000000000004000000000000000000000803f0000000000000000000000000000f841d670663f00000000d801df3e000070410000000000000000d670663f00000000d801df3e000070410000004000000000d670663f00000000d801df3e00000000000000000000f841d670663f00000000d801df3e000070410000004000000000d670663f00000000d801df3e00000000000000400000f841d670663f00000000d801df3e0000704100000000000000000000000000000000000080bf0000000000000000000000000000000000000000000080bf0000000000000040000000000000000000000000000080bf0000704100000000000000000000000000000000000080bf0000000000000040000000000000000000000000000080bf0000704100000040000000000000000000000000000080bf000000000000000000000000000080bf000000000000000000000000000000000000f841000080bf000000000000000000000000000000400000f841000080bf0000000000000000000000000000000000000000000080bf000000000000000000000000000000400000f841000080bf0000000000000000000000000000004000000000000080bf0000000000000000 + m_CompressedMesh: + m_Vertices: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_UV: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Normals: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Tangents: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Weights: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_NormalSigns: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_TangentSigns: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_FloatColors: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_BoneIndices: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_Triangles: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_UVInfo: 0 + m_LocalAABB: + m_Center: {x: 7.5, y: 1, z: 15.5} + m_Extent: {x: 7.5, y: 1, z: 15.5} + m_MeshUsageFlags: 0 + m_CookingOptions: 30 + m_BakedConvexCollisionMesh: + m_BakedTriangleCollisionMesh: + m_MeshMetrics[0]: 1 + m_MeshMetrics[1]: 1 + m_MeshOptimizationFlags: 1 + m_StreamData: + serializedVersion: 2 + offset: 0 + size: 0 + path: + m_GenerateGeometryBuffer: 0 + m_HasVirtualGeometryMesh: 0 diff --git a/Assets/Models/障碍物/障碍物_右下.asset.meta b/Assets/Models/障碍物/障碍物_右下.asset.meta new file mode 100644 index 0000000..3ef1ea4 --- /dev/null +++ b/Assets/Models/障碍物/障碍物_右下.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: Dn9L53+uB3llaJS6Vhafbsyks+ndKhYEZAGzyB+XV8zhEld/tJmtx9o= +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 4300000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Models/障碍物/障碍物_左上.asset b/Assets/Models/障碍物/障碍物_左上.asset new file mode 100644 index 0000000..4df0c07 --- /dev/null +++ b/Assets/Models/障碍物/障碍物_左上.asset @@ -0,0 +1,203 @@ +%YAML 1.1 +%TAG !u! tag:yousandi.cn,2023: +--- !u!43 &4300000 +Mesh: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: "\u969C\u788D\u7269_\u5DE6\u4E0A" + serializedVersion: 13 + m_SubMeshes: + - serializedVersion: 2 + firstByte: 0 + indexCount: 21 + topology: 0 + baseVertex: 0 + firstVertex: 0 + vertexCount: 21 + localAABB: + m_Center: {x: -7.5, y: 1, z: -15.5} + m_Extent: {x: 7.5, y: 1, z: 15.5} + m_Shapes: + vertices: [] + shapes: [] + channels: [] + fullWeights: [] + m_BindPose: [] + m_BoneNameHashes: + m_RootBoneNameHash: 0 + m_BonesAABB: [] + m_VariableBoneCountWeights: + m_Data: + m_MeshCompression: 0 + m_IsReadable: 1 + m_KeepVertices: 1 + m_KeepIndices: 1 + m_GIFacetMesh: + serializedVersion: 1 + m_aabb: + m_Min: {x: Infinity, y: Infinity, z: Infinity} + m_Max: {x: -Infinity, y: -Infinity, z: -Infinity} + m_doubleSide: 0 + m_GIFacetInfo: [] + m_GISDFMesh: + serializedVersion: 1 + localAABB: + m_Center: {x: NaN, y: NaN, z: NaN} + m_Extent: {x: NaN, y: NaN, z: NaN} + sdfGenBias: 0.25 + is2Sided: 0 + LODs: [] + m_SharedClusterData: + m_LightmapUseUV1: 0 + rootClusterPage: + hierarchyNodes: [] + pageStreamingInfos: [] + pageIndicesOfDependencies: + clusterCount: 0 + clusterLevelCount: 0 + rootPageSize: 0 + streamingPageSize: 0 + posBits: 0 + normalBits: 0 + tangentBits: 0 + colorBits: 0 + vertsSize: 0 + vertsCount: 0 + uvBits: [] + streamableClusterPageSize: 0 + _typelessdata: + m_IndexFormat: 0 + m_IndexBuffer: 00000100020003000400050006000700080009000a000b000c000d000e000f0010001100120013001400 + m_VertexData: + serializedVersion: 3 + m_VertexCount: 21 + m_Channels: + - stream: 0 + offset: 0 + format: 0 + dimension: 3 + - stream: 0 + offset: 12 + format: 0 + dimension: 3 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + m_DataSize: 504 + _typelessdata: 00000000000000400000f8c1000000000000803f00000000000070c10000004000000000000000000000803f00000000000000000000004000000000000000000000803f0000000000000000000000000000f8c1d67066bf00000000d801dfbe000070c10000000000000000d67066bf00000000d801dfbe000070c10000004000000000d67066bf00000000d801dfbe00000000000000000000f8c1d67066bf00000000d801dfbe000070c10000004000000000d67066bf00000000d801dfbe00000000000000400000f8c1d67066bf00000000d801dfbe000070c1000000000000000000000000000000000000803f00000000000000000000000000000000000000000000803f00000000000000400000000000000000000000000000803f000070c1000000000000000000000000000000000000803f00000000000000400000000000000000000000000000803f000070c1000000400000000000000000000000000000803f0000000000000000000000000000803f000000000000000000000000000000000000f8c10000803f000000000000000000000000000000400000f8c10000803f00000000000000000000000000000000000000000000803f000000000000000000000000000000400000f8c10000803f00000000000000000000000000000040000000000000803f0000000000000000 + m_CompressedMesh: + m_Vertices: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_UV: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Normals: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Tangents: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Weights: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_NormalSigns: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_TangentSigns: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_FloatColors: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_BoneIndices: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_Triangles: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_UVInfo: 0 + m_LocalAABB: + m_Center: {x: -7.5, y: 1, z: -15.5} + m_Extent: {x: 7.5, y: 1, z: 15.5} + m_MeshUsageFlags: 0 + m_CookingOptions: 30 + m_BakedConvexCollisionMesh: + m_BakedTriangleCollisionMesh: + m_MeshMetrics[0]: 1 + m_MeshMetrics[1]: 1 + m_MeshOptimizationFlags: 1 + m_StreamData: + serializedVersion: 2 + offset: 0 + size: 0 + path: + m_GenerateGeometryBuffer: 0 + m_HasVirtualGeometryMesh: 0 diff --git a/Assets/Models/障碍物/障碍物_左上.asset.meta b/Assets/Models/障碍物/障碍物_左上.asset.meta new file mode 100644 index 0000000..7b9e52b --- /dev/null +++ b/Assets/Models/障碍物/障碍物_左上.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: XXIfsHmkWy70mRzxaVsVRar8FXvnMLnK7Zm9w/xWouxAr36SjKGgHB0= +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 4300000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Models/障碍物/障碍物_左下.asset b/Assets/Models/障碍物/障碍物_左下.asset new file mode 100644 index 0000000..bc21956 --- /dev/null +++ b/Assets/Models/障碍物/障碍物_左下.asset @@ -0,0 +1,203 @@ +%YAML 1.1 +%TAG !u! tag:yousandi.cn,2023: +--- !u!43 &4300000 +Mesh: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: "\u969C\u788D\u7269_\u5DE6\u4E0B" + serializedVersion: 13 + m_SubMeshes: + - serializedVersion: 2 + firstByte: 0 + indexCount: 21 + topology: 0 + baseVertex: 0 + firstVertex: 0 + vertexCount: 21 + localAABB: + m_Center: {x: -7.5, y: 1, z: 15.5} + m_Extent: {x: 7.5, y: 1, z: 15.5} + m_Shapes: + vertices: [] + shapes: [] + channels: [] + fullWeights: [] + m_BindPose: [] + m_BoneNameHashes: + m_RootBoneNameHash: 0 + m_BonesAABB: [] + m_VariableBoneCountWeights: + m_Data: + m_MeshCompression: 0 + m_IsReadable: 1 + m_KeepVertices: 1 + m_KeepIndices: 1 + m_GIFacetMesh: + serializedVersion: 1 + m_aabb: + m_Min: {x: Infinity, y: Infinity, z: Infinity} + m_Max: {x: -Infinity, y: -Infinity, z: -Infinity} + m_doubleSide: 0 + m_GIFacetInfo: [] + m_GISDFMesh: + serializedVersion: 1 + localAABB: + m_Center: {x: NaN, y: NaN, z: NaN} + m_Extent: {x: NaN, y: NaN, z: NaN} + sdfGenBias: 0.25 + is2Sided: 0 + LODs: [] + m_SharedClusterData: + m_LightmapUseUV1: 0 + rootClusterPage: + hierarchyNodes: [] + pageStreamingInfos: [] + pageIndicesOfDependencies: + clusterCount: 0 + clusterLevelCount: 0 + rootPageSize: 0 + streamingPageSize: 0 + posBits: 0 + normalBits: 0 + tangentBits: 0 + colorBits: 0 + vertsSize: 0 + vertsCount: 0 + uvBits: [] + streamableClusterPageSize: 0 + _typelessdata: + m_IndexFormat: 0 + m_IndexBuffer: 00000200010003000400050006000700080009000a000b000c000d000e000f0010001100120013001400 + m_VertexData: + serializedVersion: 3 + m_VertexCount: 21 + m_Channels: + - stream: 0 + offset: 0 + format: 0 + dimension: 3 + - stream: 0 + offset: 12 + format: 0 + dimension: 3 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + m_DataSize: 504 + _typelessdata: 00000000000000400000f84100000000000080bf0000000000000000000000400000000000000000000080bf00000000000070c1000000400000000000000000000080bf00000000000070c10000000000000000d67066bf00000000d801df3e00000000000000000000f841d67066bf00000000d801df3e00000000000000400000f841d67066bf00000000d801df3e000070c10000000000000000d67066bf00000000d801df3e00000000000000400000f841d67066bf00000000d801df3e000070c10000004000000000d67066bf00000000d801df3e0000000000000000000000000000000000000000000080bf000070c100000000000000000000000000000000000080bf000070c100000040000000000000000000000000000080bf0000000000000000000000000000000000000000000080bf000070c100000040000000000000000000000000000080bf0000000000000040000000000000000000000000000080bf00000000000000000000f8410000803f00000000000000000000000000000000000000000000803f00000000000000000000000000000040000000000000803f000000000000000000000000000000000000f8410000803f00000000000000000000000000000040000000000000803f000000000000000000000000000000400000f8410000803f0000000000000000 + m_CompressedMesh: + m_Vertices: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_UV: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Normals: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Tangents: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Weights: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_NormalSigns: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_TangentSigns: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_FloatColors: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_BoneIndices: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_Triangles: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_UVInfo: 0 + m_LocalAABB: + m_Center: {x: -7.5, y: 1, z: 15.5} + m_Extent: {x: 7.5, y: 1, z: 15.5} + m_MeshUsageFlags: 0 + m_CookingOptions: 30 + m_BakedConvexCollisionMesh: + m_BakedTriangleCollisionMesh: + m_MeshMetrics[0]: 1 + m_MeshMetrics[1]: 1 + m_MeshOptimizationFlags: 1 + m_StreamData: + serializedVersion: 2 + offset: 0 + size: 0 + path: + m_GenerateGeometryBuffer: 0 + m_HasVirtualGeometryMesh: 0 diff --git a/Assets/Models/障碍物/障碍物_左下.asset.meta b/Assets/Models/障碍物/障碍物_左下.asset.meta new file mode 100644 index 0000000..fbf4659 --- /dev/null +++ b/Assets/Models/障碍物/障碍物_左下.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: Di8a4C+pVS2HyDmpA4ibc8MdsY3A08G9EwalmRGnhb98OcD02F5pxVM= +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 4300000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scenes/Chapter1/CoreBattleTest.scene b/Assets/Scenes/Chapter1/CoreBattleTest.scene index 78e17d5..193d532 100644 Binary files a/Assets/Scenes/Chapter1/CoreBattleTest.scene and b/Assets/Scenes/Chapter1/CoreBattleTest.scene differ diff --git a/CODELY.md b/CODELY.md index fca5fe4..e32fd54 100644 --- a/CODELY.md +++ b/CODELY.md @@ -63,6 +63,8 @@ - [2026-09-17 09:34:13] 《召唤之战》场地规格:60×20(Z×X),三区划分各 20 单位 - 己方区 z∈[-30,-10](召唤师 z=-20),交战区 z∈[-10,10],敌方区 z∈[10,30](敌方召唤师 z=+20)。召唤师移动限制在己方区内(SummonerClickMovement clamp Z[-29,-11])。相机 orthoSize=22,位置(0,40,-40),角度 43°。**Why:** 竖屏竞技场设计,双方对称 40 单位间距,防风筝规则(召唤师不能进入交战区)。**How to apply:** 所有位置/spawn 相关代码使用新的 Z 坐标范围。 - [2026-09-17 10:06:48] Projectile 伤害判定逻辑:HitTarget() 检查 UnitBase(普通单位)、BuildingHealth(建筑)、WorldHealthBar(召唤师等特殊单位)三种受击组件。召唤师使用 MainCharacterCombat + WorldHealthBar,不挂 UnitBase。**Why:** 召唤师是玩家控制的特殊单位,行为逻辑与普通 AI 单位不同。**How to apply:** 新增特殊单位必须有 WorldHealthBar 或 UnitBase 之一才能被攻击;法术球击中后调用对应组件的受伤方法(UnitBase.ReceiveDamage / WorldHealthBar.TakeDamage)。 - [2026-09-17 10:38:49] 召唤师(MainCharacterCombat)与普通单位(UnitBase)的架构差异:召唤师使用 MainCharacterCombat + WorldHealthBar + StatusEffectController,不挂 UnitBase。**Why:** 召唤师是玩家控制的特殊单位,行为逻辑与 AI 单位不同。**How to apply:** 涉及单位的通用系统(伤害、眩晕、范围效果)必须同时支持 UnitBase 和非 UnitBase 路径。已修复:Projectile.HitTarget()、UnitBase.ApplyDirectDamage()、UnitBase.ApplyAreaStun() 均添加了 WorldHealthBar / StatusEffectController 的检测分支。 +- [2026-09-17 16:52:28] 已于2026-09-17新建分支转向拆家版玩法(以《召唤之战 - 核心玩法拆家版.md》V1.1为准),旧《召唤之战-核心玩法.md》召唤师对决文档作废。拆家版无主角:只做“选目标+点卡出兵”,单位从己方城堡出生并永久绑定目标。Why: 原地图太小导致打据点的兵被中路兵吸引成大混战。场景现状(按参考图十字布局定稿):CoreBattleTest平台40x70(Z 0~70),我方城堡Z=8/敌方城堡Z=62,纵向通道宽10(X±5)、横向通道高8(Z 31~39),四角用4块障碍物Cube封锁(14x2x31,材质ObstacleBlock.mat,后续可换岩石/树林模型),中央圆柱已删;水晶矿(-14,1,35)/随机出兵点(14,1,35)为金矿模型占位(scale2),相机正交(55°, size36, pos(0,70,-14)),NavMesh已重烘;主角/GoldManager/GoldUI/BuildingPlacementManager已删。后续按拆家版开发:目标按钮UI→出生目标绑定→红蓝进度条据点系统。 + ### Reference - [2026-09-09 12:23:17] 飞行物脚本 Projectile.cs 负责锁敌追踪、碰撞检测和伤害结算。箭矢预制体 ArrowProjectile_White.prefab 已配置 Projectile 组件和 CapsuleCollider(Is Trigger)。远程单位需在攻击动画松弦帧添加 OnAttackEffect Event,并在 UnitBase 中设置 attackType=RangedProjectile、projectilePrefab、projectileSpawnPoint。