diff --git a/.codely/clipboard/clipboard-1789634574597.png b/.codely/clipboard/clipboard-1789634574597.png deleted file mode 100644 index b971cfe..0000000 Binary files a/.codely/clipboard/clipboard-1789634574597.png and /dev/null differ diff --git a/.codely/clipboard/clipboard-1789715984674.png b/.codely/clipboard/clipboard-1789715984674.png new file mode 100644 index 0000000..6a951b5 Binary files /dev/null and b/.codely/clipboard/clipboard-1789715984674.png differ diff --git a/Assets/Materials/AdjustableGlowOrb.mat b/Assets/Materials/AdjustableGlowOrb.mat new file mode 100644 index 0000000..2f28335 --- /dev/null +++ b/Assets/Materials/AdjustableGlowOrb.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: AdjustableGlowOrb + 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.5 + - _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.1, g: 0.65, b: 1, a: 1} + - _EmissionColor: {r: 0.25, g: 1.2, b: 2.2, a: 1} + m_BuildTextureStacks: [] diff --git a/Assets/Models/障碍物/障碍物_右上.asset.meta b/Assets/Materials/AdjustableGlowOrb.mat.meta similarity index 57% rename from Assets/Models/障碍物/障碍物_右上.asset.meta rename to Assets/Materials/AdjustableGlowOrb.mat.meta index f789aae..218a29c 100644 --- a/Assets/Models/障碍物/障碍物_右上.asset.meta +++ b/Assets/Materials/AdjustableGlowOrb.mat.meta @@ -1,8 +1,8 @@ fileFormatVersion: 2 -guid: BywWsnn4Un/GFWjf8bvyEUH8jTe59QnREzBtnD0L0MlfNBq1S77Lf0Y= +guid: Bi5KsCz+V3j0kxCaaP+0NUHKj509Mi8z+kdym94omHjHHQP9wxkqeDw= NativeFormatImporter: externalObjects: {} - mainObjectFileID: 4300000 + mainObjectFileID: 2100000 userData: assetBundleName: assetBundleVariant: diff --git a/Assets/Materials/AdjustableGlowOrbHalo.mat b/Assets/Materials/AdjustableGlowOrbHalo.mat new file mode 100644 index 0000000..2e30525 --- /dev/null +++ b/Assets/Materials/AdjustableGlowOrbHalo.mat @@ -0,0 +1,35 @@ +%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: AdjustableGlowOrbHalo + m_Shader: {fileID: 200, 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: 3000 + stringTagMap: {} + disabledShaderPasses: [] + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _InvFade: 1 + m_Colors: + - _TintColor: {r: 0.05, g: 0.55, b: 1, a: 0.22} + m_BuildTextureStacks: [] diff --git a/Assets/Models/障碍物/障碍物_左上.asset.meta b/Assets/Materials/AdjustableGlowOrbHalo.mat.meta similarity index 57% rename from Assets/Models/障碍物/障碍物_左上.asset.meta rename to Assets/Materials/AdjustableGlowOrbHalo.mat.meta index 7b9e52b..4204299 100644 --- a/Assets/Models/障碍物/障碍物_左上.asset.meta +++ b/Assets/Materials/AdjustableGlowOrbHalo.mat.meta @@ -1,8 +1,8 @@ fileFormatVersion: 2 -guid: XXIfsHmkWy70mRzxaVsVRar8FXvnMLnK7Zm9w/xWouxAr36SjKGgHB0= +guid: XnkZsSn8AS+/9PiY9cN/VOgL7pXT4nlGCZTm7XsEwoVRg5w/aEGwuiA= NativeFormatImporter: externalObjects: {} - mainObjectFileID: 4300000 + mainObjectFileID: 2100000 userData: assetBundleName: assetBundleVariant: diff --git a/Assets/Materials/CoreBattleGround.mat b/Assets/Materials/CoreBattleGround.mat index c7c00fd..d2cd21d 100644 --- a/Assets/Materials/CoreBattleGround.mat +++ b/Assets/Materials/CoreBattleGround.mat @@ -43,11 +43,11 @@ Material: m_Offset: {x: 0, y: 0} - _EmissionMap: m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} + m_Scale: {x: 3, y: 3} m_Offset: {x: 0, y: 0} - _MainTex: - m_Texture: {fileID: 2800000, guid: edcec6e752f2140ef804a6b0738f4f54, type: 3} - m_Scale: {x: 1, y: 1} + m_Texture: {fileID: 2800000, guid: 4435756e5310e408fb125e8f4bcee9bd, type: 3} + m_Scale: {x: 3, y: 3} m_Offset: {x: 0, y: 0} - _MetallicGlossMap: m_Texture: {fileID: 0} diff --git a/Assets/Materials/PortalEnergy_Neutral.mat b/Assets/Materials/PortalEnergy_Neutral.mat new file mode 100644 index 0000000..c5cd4f1 --- /dev/null +++ b/Assets/Materials/PortalEnergy_Neutral.mat @@ -0,0 +1,35 @@ +%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: PortalEnergy_Neutral + m_Shader: {fileID: 200, 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: 3000 + stringTagMap: {} + disabledShaderPasses: [] + m_LockedProperties: + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _MainTex: + m_Texture: {fileID: 2800000, guid: a46d962ad95cf634e8f3eb7147cbd12e, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _InvFade: 1 + m_Colors: + - _TintColor: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] diff --git a/Assets/Models/障碍物/障碍物_左下.asset.meta b/Assets/Materials/PortalEnergy_Neutral.mat.meta similarity index 57% rename from Assets/Models/障碍物/障碍物_左下.asset.meta rename to Assets/Materials/PortalEnergy_Neutral.mat.meta index fbf4659..5b2f148 100644 --- a/Assets/Models/障碍物/障碍物_左下.asset.meta +++ b/Assets/Materials/PortalEnergy_Neutral.mat.meta @@ -1,8 +1,8 @@ fileFormatVersion: 2 -guid: Di8a4C+pVS2HyDmpA4ibc8MdsY3A08G9EwalmRGnhb98OcD02F5pxVM= +guid: Wn8dt3mlAH6IRYwuuL9bxmhXrHm3Ko3cbMzBjvGdC4IKiE1GRr/ZzR0= NativeFormatImporter: externalObjects: {} - mainObjectFileID: 4300000 + mainObjectFileID: 2100000 userData: assetBundleName: assetBundleVariant: diff --git a/Assets/Model/建筑/主要/主家城堡.fbx b/Assets/Model/建筑/主要/主家城堡.fbx new file mode 100644 index 0000000..75bac97 Binary files /dev/null and b/Assets/Model/建筑/主要/主家城堡.fbx differ diff --git a/Assets/Model/建筑/主要/主家城堡.fbx.meta b/Assets/Model/建筑/主要/主家城堡.fbx.meta new file mode 100644 index 0000000..8df2c46 --- /dev/null +++ b/Assets/Model/建筑/主要/主家城堡.fbx.meta @@ -0,0 +1,210 @@ +fileFormatVersion: 2 +guid: CSwcvH+oW3+huk6aKQRWeFxTS6e8e7kskycHjNhRih20JtvjYmm70fE= +ModelImporter: + serializedVersion: 22361 + internalIDToNameTable: [] + externalObjects: + - first: + type: UnityEngine:Material + assembly: UnityEngine.CoreModule + name: Material.001 + second: {fileID: 2100000, guid: 0e2a8e16ae525d7448fb18b9022bb062, type: 2} + materials: + materialImportMode: 2 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + removeConstantScaleCurves: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + aCLCompressionLevel: 3 + aCLCurvePrecision: 0.01 + aCLFastSampleMode: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 0 + tuanjieGIEnable: 0 + tuanjieGIGenSDFFactor: 1 + tuanjieGIGenSDFBias: 0.25 + tuanjieGIDoubleSidedMode: 0 + tuanjieGIGenFacetNums: 12 + meshes: + lODScreenPercentages: [] + globalScale: 8 + meshCompression: 0 + totalVerticesCount: 8568 + totalTrianglesCount: 4999 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importPhysicalCameras: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + nodeNameCollisionStrategy: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + bakeAxisConversion: 0 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + optimizeBones: 1 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVMarginMethod: 1 + secondaryUVMinLightmapResolution: 40 + secondaryUVMinObjectScale: 1 + secondaryUVPackMargin: 4 + useFileScale: 1 + strictVertexDataChecks: 0 + virtualGeometry: + virtualGeometry: 0 + useTransparent: 0 + setVGForeachMesh: 0 + isFirstUse: 1 + virtualGeometrySettings: + generateGeometryBuffer: 0 + surfaceCompensation: 0 + allMeshUse: 1 + ignoreSimpleMesh: 0 + transformScaleState: 0 + isPossibleOverflow: 0 + hasBoneData: 0 + isBoneCountOverflow: 0 + virtualGeometryPlatformSettings: + - serializedVersion: 0 + overridden: 0 + ignorePlatformSupport: 0 + buildTarget: DefaultVirtualGeometryPlatform + positionPrecision: -2147483648 + normalPrecision: -2147483648 + tangentPrecision: -2147483648 + boneWeightPrecision: -2147483648 + detailedTriangleCount: 0 + detailedVertexCount: 0 + rootPageSize: 0 + streamablePageSize: 0 + reserveTrianglePercent: 100 + reserveDetailLevel: 0 + - serializedVersion: 0 + overridden: 0 + ignorePlatformSupport: 0 + buildTarget: Standalone + positionPrecision: -2147483648 + normalPrecision: -2147483648 + tangentPrecision: -2147483648 + boneWeightPrecision: -2147483648 + detailedTriangleCount: 0 + detailedVertexCount: 0 + rootPageSize: 0 + streamablePageSize: 0 + reserveTrianglePercent: 100 + reserveDetailLevel: 0 + - serializedVersion: 0 + overridden: 0 + ignorePlatformSupport: 0 + buildTarget: iPhone + positionPrecision: -2147483648 + normalPrecision: -2147483648 + tangentPrecision: -2147483648 + boneWeightPrecision: -2147483648 + detailedTriangleCount: 0 + detailedVertexCount: 0 + rootPageSize: 0 + streamablePageSize: 0 + reserveTrianglePercent: 100 + reserveDetailLevel: 0 + - serializedVersion: 0 + overridden: 0 + ignorePlatformSupport: 0 + buildTarget: Android + positionPrecision: -2147483648 + normalPrecision: -2147483648 + tangentPrecision: -2147483648 + boneWeightPrecision: -2147483648 + detailedTriangleCount: 0 + detailedVertexCount: 0 + rootPageSize: 0 + streamablePageSize: 0 + reserveTrianglePercent: 100 + reserveDetailLevel: 0 + selectedVGMeshes: + - index: 0 + meshName: node_0 + lodLevel: 0 + meshGeometryBuffer: 0 + supportVGMeshes: + - index: 0 + meshName: node_0 + lodLevel: 0 + meshGeometryBuffer: 0 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 1 + overrideDefaultPose: 0 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + namedPoseList: + - name: Default + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 0.08 + rootMotionBoneName: + defaultPoseIndex: -1 + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + addHumanoidExtraRootOnlyWhenUsingAvatar: 1 + importBlendShapeDeformPercent: 1 + remapMaterialsIfMaterialImportModeIsNone: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Model/建筑/主要/主家城堡.mat b/Assets/Model/建筑/主要/主家城堡.mat new file mode 100644 index 0000000..f4e7124 --- /dev/null +++ b/Assets/Model/建筑/主要/主家城堡.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: "\u4E3B\u5BB6\u57CE\u5821" + 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: 2800000, guid: a24d7f061e075da439ae4258adbd518d, type: 3} + 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.5 + - _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: 1, g: 1, b: 1, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + m_BuildTextureStacks: [] diff --git a/Assets/Models/障碍物/障碍物_右下.asset.meta b/Assets/Model/建筑/主要/主家城堡.mat.meta similarity index 57% rename from Assets/Models/障碍物/障碍物_右下.asset.meta rename to Assets/Model/建筑/主要/主家城堡.mat.meta index 3ef1ea4..0cc0bc7 100644 --- a/Assets/Models/障碍物/障碍物_右下.asset.meta +++ b/Assets/Model/建筑/主要/主家城堡.mat.meta @@ -1,8 +1,8 @@ fileFormatVersion: 2 -guid: Dn9L53+uB3llaJS6Vhafbsyks+ndKhYEZAGzyB+XV8zhEld/tJmtx9o= +guid: Dy8d5CL4Un3+gicJ2gA6nUZWwnO+1ejAKPMBprtvEM7MnXC2peIxx2Y= NativeFormatImporter: externalObjects: {} - mainObjectFileID: 4300000 + mainObjectFileID: 2100000 userData: assetBundleName: assetBundleVariant: diff --git a/Assets/Model/建筑/主要/主家基地.png.meta b/Assets/Model/建筑/主要/主家基地.png.meta new file mode 100644 index 0000000..4b42114 --- /dev/null +++ b/Assets/Model/建筑/主要/主家基地.png.meta @@ -0,0 +1,163 @@ +fileFormatVersion: 2 +guid: Xngb4S37U322RDOX4Usu9uyQAfj1SYfdO/1nh5oxLv/SCRz+Yjfr1nU= +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 14 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + webStreaming: 0 + priorityLevel: 0 + uploadedMode: 2 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + maxPlaceholderSize: 32 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + maxPlaceholderSize: 32 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Server + maxTextureSize: 2048 + maxPlaceholderSize: 32 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: WebGL + maxTextureSize: 2048 + maxPlaceholderSize: 32 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: WeixinMiniGame + maxTextureSize: 2048 + maxPlaceholderSize: 32 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + doOverrideTextureManagerOperations: 0 + platformOperationGroupSettings: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Model/建筑/主要/主要基地.fbx.meta b/Assets/Model/建筑/主要/主要基地.fbx.meta index 82a4808..662d12a 100644 --- a/Assets/Model/建筑/主要/主要基地.fbx.meta +++ b/Assets/Model/建筑/主要/主要基地.fbx.meta @@ -48,7 +48,7 @@ ModelImporter: tuanjieGIGenFacetNums: 12 meshes: lODScreenPercentages: [] - globalScale: 3 + globalScale: 5 meshCompression: 0 totalVerticesCount: 8635 totalTrianglesCount: 4998 @@ -190,7 +190,7 @@ ModelImporter: armStretch: 0.05 legStretch: 0.05 feetSpacing: 0 - globalScale: 0.03 + globalScale: 0.049999997 rootMotionBoneName: defaultPoseIndex: -1 hasTranslationDoF: 0 diff --git a/Assets/Models.meta b/Assets/Model/建筑/地图.meta similarity index 67% rename from Assets/Models.meta rename to Assets/Model/建筑/地图.meta index af30238..0d94932 100644 --- a/Assets/Models.meta +++ b/Assets/Model/建筑/地图.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: XCsbsi7+An+PJzLywYrk9uQ+u2lq4ZOAZ15E4arp4JNqpzv1L+IzA1Q= +guid: XS9MvS7/U3m6dqDMGv9c/gMis+P/vXKeKPOgPN5GaQgqPD66VCPaI9g= folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/Model/建筑/地图/地图.mat b/Assets/Model/建筑/地图/地图.mat new file mode 100644 index 0000000..26884fa --- /dev/null +++ b/Assets/Model/建筑/地图/地图.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: "\u5730\u56FE" + 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: 2800000, guid: c8a4cdbb7cdc01545aaa9d2d0b0a600f, type: 3} + 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.1 + - _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.8742138, g: 0.8742138, b: 0.8742138, a: 1} + - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} + m_BuildTextureStacks: [] diff --git a/Assets/Model/建筑/地图/地图.mat.meta b/Assets/Model/建筑/地图/地图.mat.meta new file mode 100644 index 0000000..4f98fe7 --- /dev/null +++ b/Assets/Model/建筑/地图/地图.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: DC8X4yivUH0YWIxSi3xxgZIYGN3DwMGCn0PJg22u/mzP6FQrGaqOtlY= +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Model/建筑/地图/地形.fbx b/Assets/Model/建筑/地图/地形.fbx new file mode 100644 index 0000000..817733a Binary files /dev/null and b/Assets/Model/建筑/地图/地形.fbx differ diff --git a/Assets/Model/建筑/地图/地形.fbx.meta b/Assets/Model/建筑/地图/地形.fbx.meta new file mode 100644 index 0000000..54d27bb --- /dev/null +++ b/Assets/Model/建筑/地图/地形.fbx.meta @@ -0,0 +1,210 @@ +fileFormatVersion: 2 +guid: Bn0c53+vAnn1MuHWRIWqU/OKht8DK/67DdDi52Zxz6Vg6v5KX+owqds= +ModelImporter: + serializedVersion: 22361 + internalIDToNameTable: [] + externalObjects: + - first: + type: UnityEngine:Material + assembly: UnityEngine.CoreModule + name: No Name + second: {fileID: 2100000, guid: 3e8f22364fa4c5744ade699b9db58a42, type: 2} + materials: + materialImportMode: 1 + materialName: 0 + materialSearch: 1 + materialLocation: 1 + animations: + legacyGenerateAnimations: 4 + bakeSimulation: 0 + resampleCurves: 1 + optimizeGameObjects: 0 + removeConstantScaleCurves: 0 + motionNodeName: + rigImportErrors: + rigImportWarnings: + animationImportErrors: + animationImportWarnings: + animationRetargetingWarnings: + animationDoRetargetingWarnings: 0 + importAnimatedCustomProperties: 0 + importConstraints: 0 + animationCompression: 1 + aCLCompressionLevel: 3 + aCLCurvePrecision: 0.01 + aCLFastSampleMode: 1 + animationRotationError: 0.5 + animationPositionError: 0.5 + animationScaleError: 0.5 + animationWrapMode: 0 + extraExposedTransformPaths: [] + extraUserProperties: [] + clipAnimations: [] + isReadable: 0 + tuanjieGIEnable: 0 + tuanjieGIGenSDFFactor: 1 + tuanjieGIGenSDFBias: 0.25 + tuanjieGIDoubleSidedMode: 0 + tuanjieGIGenFacetNums: 12 + meshes: + lODScreenPercentages: [] + globalScale: 100 + meshCompression: 0 + totalVerticesCount: 10615 + totalTrianglesCount: 6000 + addColliders: 0 + useSRGBMaterialColor: 1 + sortHierarchyByName: 1 + importPhysicalCameras: 1 + importVisibility: 1 + importBlendShapes: 1 + importCameras: 1 + importLights: 1 + nodeNameCollisionStrategy: 1 + fileIdsGeneration: 2 + swapUVChannels: 0 + generateSecondaryUV: 0 + useFileUnits: 1 + keepQuads: 0 + weldVertices: 1 + bakeAxisConversion: 0 + preserveHierarchy: 0 + skinWeightsMode: 0 + maxBonesPerVertex: 4 + minBoneWeight: 0.001 + optimizeBones: 1 + meshOptimizationFlags: -1 + indexFormat: 0 + secondaryUVAngleDistortion: 8 + secondaryUVAreaDistortion: 15.000001 + secondaryUVHardAngle: 88 + secondaryUVMarginMethod: 1 + secondaryUVMinLightmapResolution: 40 + secondaryUVMinObjectScale: 1 + secondaryUVPackMargin: 4 + useFileScale: 1 + strictVertexDataChecks: 0 + virtualGeometry: + virtualGeometry: 0 + useTransparent: 0 + setVGForeachMesh: 0 + isFirstUse: 1 + virtualGeometrySettings: + generateGeometryBuffer: 0 + surfaceCompensation: 0 + allMeshUse: 1 + ignoreSimpleMesh: 0 + transformScaleState: 0 + isPossibleOverflow: 0 + hasBoneData: 0 + isBoneCountOverflow: 0 + virtualGeometryPlatformSettings: + - serializedVersion: 0 + overridden: 0 + ignorePlatformSupport: 0 + buildTarget: DefaultVirtualGeometryPlatform + positionPrecision: -2147483648 + normalPrecision: -2147483648 + tangentPrecision: -2147483648 + boneWeightPrecision: -2147483648 + detailedTriangleCount: 0 + detailedVertexCount: 0 + rootPageSize: 0 + streamablePageSize: 0 + reserveTrianglePercent: 100 + reserveDetailLevel: 0 + - serializedVersion: 0 + overridden: 0 + ignorePlatformSupport: 0 + buildTarget: Standalone + positionPrecision: -2147483648 + normalPrecision: -2147483648 + tangentPrecision: -2147483648 + boneWeightPrecision: -2147483648 + detailedTriangleCount: 0 + detailedVertexCount: 0 + rootPageSize: 0 + streamablePageSize: 0 + reserveTrianglePercent: 100 + reserveDetailLevel: 0 + - serializedVersion: 0 + overridden: 0 + ignorePlatformSupport: 0 + buildTarget: iPhone + positionPrecision: -2147483648 + normalPrecision: -2147483648 + tangentPrecision: -2147483648 + boneWeightPrecision: -2147483648 + detailedTriangleCount: 0 + detailedVertexCount: 0 + rootPageSize: 0 + streamablePageSize: 0 + reserveTrianglePercent: 100 + reserveDetailLevel: 0 + - serializedVersion: 0 + overridden: 0 + ignorePlatformSupport: 0 + buildTarget: Android + positionPrecision: -2147483648 + normalPrecision: -2147483648 + tangentPrecision: -2147483648 + boneWeightPrecision: -2147483648 + detailedTriangleCount: 0 + detailedVertexCount: 0 + rootPageSize: 0 + streamablePageSize: 0 + reserveTrianglePercent: 100 + reserveDetailLevel: 0 + selectedVGMeshes: + - index: 0 + meshName: model + lodLevel: 0 + meshGeometryBuffer: 0 + supportVGMeshes: + - index: 0 + meshName: model + lodLevel: 0 + meshGeometryBuffer: 0 + tangentSpace: + normalSmoothAngle: 60 + normalImportMode: 0 + tangentImportMode: 3 + normalCalculationMode: 4 + legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 + blendShapeNormalImportMode: 1 + normalSmoothingSource: 0 + referencedClips: [] + importAnimation: 1 + overrideDefaultPose: 0 + humanDescription: + serializedVersion: 3 + human: [] + skeleton: [] + namedPoseList: + - name: Default + skeleton: [] + armTwist: 0.5 + foreArmTwist: 0.5 + upperLegTwist: 0.5 + legTwist: 0.5 + armStretch: 0.05 + legStretch: 0.05 + feetSpacing: 0 + globalScale: 1 + rootMotionBoneName: + defaultPoseIndex: -1 + hasTranslationDoF: 0 + hasExtraRoot: 0 + skeletonHasParents: 1 + lastHumanDescriptionAvatarSource: {instanceID: 0} + autoGenerateAvatarMappingIfUnspecified: 1 + animationType: 2 + humanoidOversampling: 1 + avatarSetup: 0 + addHumanoidExtraRootOnlyWhenUsingAvatar: 1 + importBlendShapeDeformPercent: 1 + remapMaterialsIfMaterialImportModeIsNone: 0 + additionalBone: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Model/建筑/地图/地形.png b/Assets/Model/建筑/地图/地形.png new file mode 100644 index 0000000..00d24af Binary files /dev/null and b/Assets/Model/建筑/地图/地形.png differ diff --git a/Assets/Model/建筑/地图/地形.png.meta b/Assets/Model/建筑/地图/地形.png.meta new file mode 100644 index 0000000..33a0604 --- /dev/null +++ b/Assets/Model/建筑/地图/地形.png.meta @@ -0,0 +1,163 @@ +fileFormatVersion: 2 +guid: XHJOsXn5ASkhOJr0MEYSQYy6himVjaf03uXeT/ZsugbZpNL2iCO7gZQ= +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 14 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + webStreaming: 0 + priorityLevel: 0 + uploadedMode: 2 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + maxPlaceholderSize: 32 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + maxPlaceholderSize: 32 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Server + maxTextureSize: 2048 + maxPlaceholderSize: 32 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: WebGL + maxTextureSize: 2048 + maxPlaceholderSize: 32 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: WeixinMiniGame + maxTextureSize: 2048 + maxPlaceholderSize: 32 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + doOverrideTextureManagerOperations: 0 + platformOperationGroupSettings: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Model/建筑/水晶矿/水晶矿.fbx.meta b/Assets/Model/建筑/水晶矿/水晶矿.fbx.meta index 0cd3e94..cf998cc 100644 --- a/Assets/Model/建筑/水晶矿/水晶矿.fbx.meta +++ b/Assets/Model/建筑/水晶矿/水晶矿.fbx.meta @@ -48,7 +48,7 @@ ModelImporter: tuanjieGIGenFacetNums: 12 meshes: lODScreenPercentages: [] - globalScale: 1 + globalScale: 7 meshCompression: 0 totalVerticesCount: 9513 totalTrianglesCount: 5000 @@ -190,7 +190,7 @@ ModelImporter: armStretch: 0.05 legStretch: 0.05 feetSpacing: 0 - globalScale: 1 + globalScale: 0.07 rootMotionBoneName: defaultPoseIndex: -1 hasTranslationDoF: 0 diff --git a/Assets/Model/建筑/水晶矿/水晶矿.mat b/Assets/Model/建筑/水晶矿/水晶矿.mat index fc43113..6df1732 100644 --- a/Assets/Model/建筑/水晶矿/水晶矿.mat +++ b/Assets/Model/建筑/水晶矿/水晶矿.mat @@ -44,7 +44,7 @@ Material: m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - _MainTex: - m_Texture: {fileID: 0} + m_Texture: {fileID: 2800000, guid: c24a978a0c9ad4dabb831e4b2bff0e2f, type: 3} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - _MetallicGlossMap: diff --git a/Assets/Model/建筑/随机出兵点/随机出兵点.fbx.meta b/Assets/Model/建筑/随机出兵点/随机出兵点.fbx.meta index 37dc154..663cb22 100644 --- a/Assets/Model/建筑/随机出兵点/随机出兵点.fbx.meta +++ b/Assets/Model/建筑/随机出兵点/随机出兵点.fbx.meta @@ -48,7 +48,7 @@ ModelImporter: tuanjieGIGenFacetNums: 12 meshes: lODScreenPercentages: [] - globalScale: 1 + globalScale: 7 meshCompression: 0 totalVerticesCount: 7065 totalTrianglesCount: 4998 @@ -190,7 +190,7 @@ ModelImporter: armStretch: 0.05 legStretch: 0.05 feetSpacing: 0 - globalScale: 1 + globalScale: 0.07 rootMotionBoneName: defaultPoseIndex: -1 hasTranslationDoF: 0 diff --git a/Assets/Model/建筑/随机出兵点/随机出兵点.mat b/Assets/Model/建筑/随机出兵点/随机出兵点.mat index 1f7a91f..093558a 100644 --- a/Assets/Model/建筑/随机出兵点/随机出兵点.mat +++ b/Assets/Model/建筑/随机出兵点/随机出兵点.mat @@ -44,7 +44,7 @@ Material: m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - _MainTex: - m_Texture: {fileID: 0} + m_Texture: {fileID: 2800000, guid: fb52fc095c9554db895dde01ba8a8b6c, type: 3} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - _MetallicGlossMap: diff --git a/Assets/Models/障碍物/障碍物_右上.asset b/Assets/Models/障碍物/障碍物_右上.asset deleted file mode 100644 index 6c9e0b3..0000000 --- a/Assets/Models/障碍物/障碍物_右上.asset +++ /dev/null @@ -1,203 +0,0 @@ -%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 b/Assets/Models/障碍物/障碍物_右下.asset deleted file mode 100644 index e572c47..0000000 --- a/Assets/Models/障碍物/障碍物_右下.asset +++ /dev/null @@ -1,203 +0,0 @@ -%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 b/Assets/Models/障碍物/障碍物_左上.asset deleted file mode 100644 index 4df0c07..0000000 --- a/Assets/Models/障碍物/障碍物_左上.asset +++ /dev/null @@ -1,203 +0,0 @@ -%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 b/Assets/Models/障碍物/障碍物_左下.asset deleted file mode 100644 index bc21956..0000000 --- a/Assets/Models/障碍物/障碍物_左下.asset +++ /dev/null @@ -1,203 +0,0 @@ -%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/Picture/传送门.png b/Assets/Picture/传送门.png new file mode 100644 index 0000000..100547d Binary files /dev/null and b/Assets/Picture/传送门.png differ diff --git a/Assets/Picture/传送门.png.meta b/Assets/Picture/传送门.png.meta new file mode 100644 index 0000000..7ecd916 --- /dev/null +++ b/Assets/Picture/传送门.png.meta @@ -0,0 +1,177 @@ +fileFormatVersion: 2 +guid: WXJJsij5BXNxq3IJD2Yv2QiykOgdMgQpLGBHJdCAqY0uXxtEFt9/gkI= +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 14 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + webStreaming: 0 + priorityLevel: 0 + uploadedMode: 2 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 1 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 256 + maxPlaceholderSize: 32 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + maxPlaceholderSize: 32 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Server + maxTextureSize: 2048 + maxPlaceholderSize: 32 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: WebGL + maxTextureSize: 2048 + maxPlaceholderSize: 32 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: WeixinMiniGame + maxTextureSize: 2048 + maxPlaceholderSize: 32 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: PlayableAds + maxTextureSize: 2048 + maxPlaceholderSize: 32 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: 5e97eb03825dee720800000000000000 + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + doOverrideTextureManagerOperations: 0 + platformOperationGroupSettings: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Models/障碍物.meta b/Assets/Prefabs/Visuals.meta similarity index 67% rename from Assets/Models/障碍物.meta rename to Assets/Prefabs/Visuals.meta index f8a9db4..4904681 100644 --- a/Assets/Models/障碍物.meta +++ b/Assets/Prefabs/Visuals.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: WXsc43n5USgpoiedIMzmiGGV0P3Ywm5u4rO+LXK5bZcwRQLi7GzNyxE= +guid: WiwXvSqtAn6v3BXExh4gUc/YsjrruYriW1w11v7BaX0ZzEddvA12aAs= folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/Prefabs/Visuals/AdjustableGlowOrb.prefab b/Assets/Prefabs/Visuals/AdjustableGlowOrb.prefab new file mode 100644 index 0000000..deddc90 --- /dev/null +++ b/Assets/Prefabs/Visuals/AdjustableGlowOrb.prefab @@ -0,0 +1,219 @@ +%YAML 1.1 +%TAG !u! tag:yousandi.cn,2023: +--- !u!1 &5084263221972581271 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 7 + m_Component: + - component: {fileID: 591778551182716842} + - component: {fileID: 5277184795582486447} + - component: {fileID: 1846446477806519407} + m_Layer: 0 + m_HasEditorInfo: 1 + m_Name: GlowHalo + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &591778551182716842 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5084263221972581271} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1.28, y: 1.28, z: 1.28} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 5195625955677297772} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &5277184795582486447 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5084263221972581271} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &1846446477806519407 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 5084263221972581271} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_virtualGeometry: 0 + m_ShadingRate: 0 + m_ForceDisableGRD: 0 + m_ForceDisableSmallMeshCull: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: a3643abdbfab3df4b849b77bda727473, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} + m_MaskInteraction: 0 +--- !u!1 &7954659519107050452 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 7 + m_Component: + - component: {fileID: 5195625955677297772} + - component: {fileID: 4241101283619714849} + - component: {fileID: 3895332886838163598} + - component: {fileID: 2918738093036042458} + - component: {fileID: 1519279634912345123} + m_Layer: 0 + m_HasEditorInfo: 1 + m_Name: AdjustableGlowOrb + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5195625955677297772 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7954659519107050452} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 2.5, z: 35} + m_LocalScale: {x: 1.2, y: 1.2, z: 1.2} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 591778551182716842} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &4241101283619714849 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7954659519107050452} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!135 &3895332886838163598 +SphereCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7954659519107050452} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Radius: 0.5 + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &2918738093036042458 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7954659519107050452} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_virtualGeometry: 0 + m_ShadingRate: 0 + m_ForceDisableGRD: 0 + m_ForceDisableSmallMeshCull: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 9de56c4349c01894ab37fe755e89e54c, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} + m_MaskInteraction: 0 +--- !u!114 &1519279634912345123 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7954659519107050452} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dd9460394b637f94ab4775da147551ea, type: 3} + m_Name: + m_EditorClassIdentifier: + glowColor: {r: 0.1, g: 0.65, b: 1, a: 1} + emissionIntensity: 2.5 + targetRenderer: {fileID: 2918738093036042458} diff --git a/Assets/Prefabs/Visuals/AdjustableGlowOrb.prefab.meta b/Assets/Prefabs/Visuals/AdjustableGlowOrb.prefab.meta new file mode 100644 index 0000000..fa054cb --- /dev/null +++ b/Assets/Prefabs/Visuals/AdjustableGlowOrb.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: DXMd53n8UH12/Sja16q6bMoL61tPgvmlhYrfo9iz2P3EOCyd2RWa/b4= +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/Visuals/PortalEnergyMembrane.prefab b/Assets/Prefabs/Visuals/PortalEnergyMembrane.prefab new file mode 100644 index 0000000..5269a1a --- /dev/null +++ b/Assets/Prefabs/Visuals/PortalEnergyMembrane.prefab @@ -0,0 +1,112 @@ +%YAML 1.1 +%TAG !u! tag:yousandi.cn,2023: +--- !u!1 &7695422555121058081 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 7 + m_Component: + - component: {fileID: 841940163659810604} + - component: {fileID: 1044810881686928657} + - component: {fileID: 7409666441157930255} + - component: {fileID: 3465692038098779756} + m_Layer: 0 + m_HasEditorInfo: 1 + m_Name: PortalEnergyMembrane + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &841940163659810604 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7695422555121058081} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.024, y: 0.032, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &1044810881686928657 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7695422555121058081} + m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &7409666441157930255 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7695422555121058081} + m_Enabled: 1 + m_CastShadows: 0 + m_ReceiveShadows: 0 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_virtualGeometry: 0 + m_ShadingRate: 0 + m_ForceDisableGRD: 0 + m_ForceDisableSmallMeshCull: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: e522c8c53ac79a04e9cfc9b518279d70, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} + m_MaskInteraction: 0 +--- !u!114 &3465692038098779756 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7695422555121058081} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 83b9421c38a2f0c459b8359da71e18c3, type: 3} + m_Name: + m_EditorClassIdentifier: + teamColor: 0 + neutralColor: {r: 1, g: 1, b: 1, a: 1} + blueColor: {r: 0.1, g: 0.65, b: 1, a: 1} + redColor: {r: 1, g: 0.12, b: 0.08, a: 1} + emissionIntensity: 2.2 + pulseSpeed: 1.6 + pulseAmount: 0.06 + scrollSpeed: {x: 0, y: -0.08} diff --git a/Assets/Prefabs/Visuals/PortalEnergyMembrane.prefab.meta b/Assets/Prefabs/Visuals/PortalEnergyMembrane.prefab.meta new file mode 100644 index 0000000..589ef07 --- /dev/null +++ b/Assets/Prefabs/Visuals/PortalEnergyMembrane.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: WS5Msyz5UXNvPP4dWx8tjlSxWD8jlGtk6sKtnKjZcc1bM9JnsC5gB24= +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scenes/Chapter1/CoreBattleTest.scene b/Assets/Scenes/Chapter1/CoreBattleTest.scene index de201fa..b317b30 100644 Binary files a/Assets/Scenes/Chapter1/CoreBattleTest.scene and b/Assets/Scenes/Chapter1/CoreBattleTest.scene differ diff --git a/Assets/Scenes/Chapter1/SummonerDuelTest.unity b/Assets/Scenes/Chapter1/SummonerDuelTest.unity index d7557cd..3b3715d 100644 Binary files a/Assets/Scenes/Chapter1/SummonerDuelTest.unity and b/Assets/Scenes/Chapter1/SummonerDuelTest.unity differ diff --git a/Assets/Script/CrystalMineCapture.cs b/Assets/Script/CrystalMineCapture.cs new file mode 100644 index 0000000..c0a0bdd --- /dev/null +++ b/Assets/Script/CrystalMineCapture.cs @@ -0,0 +1,197 @@ +using UnityEngine; +using UnityEngine.UI; + +public class CrystalMineCapture : MonoBehaviour +{ + [Header("争夺进度")] + [Range(0f, 100f)] public float blueProgress = 50f; + [Min(0f)] public float capturePerDamage = 1f; + + [Header("水晶矿光球")] + [SerializeField] private AdjustableGlowOrb glowOrb; + [SerializeField] private Color neutralColor = Color.white; + [SerializeField] private Color blueColor = new Color(0.1f, 0.65f, 1f, 1f); + [SerializeField] private Color redColor = new Color(1f, 0.12f, 0.08f, 1f); + + [Header("世界血条")] + [Min(0f)] public float heightOffset = 1.1f; + [Min(0.1f)] public float barWidth = 1.8f; + + private Canvas canvas; + private RectTransform barRect; + private Image blueFill; + private Image redFill; + private RectTransform marker; + private UnitTeam unitTeam; + private static Sprite roundedSprite; + private static readonly int BaseColorId = Shader.PropertyToID("_Color"); + + private void Awake() + { + unitTeam = GetComponent(); + if (unitTeam == null) + { + unitTeam = gameObject.AddComponent(); + } + unitTeam.teamId = 2; + + if (glowOrb == null) + { + glowOrb = GetComponentInChildren(true); + } + + CreateCaptureBar(); + RefreshVisuals(); + } + + private void Start() + { + RefreshVisuals(); + } + + private void LateUpdate() + { + if (barRect == null) return; + + barRect.position = transform.position + Vector3.up * heightOffset; + Vector3 parentScale = transform.lossyScale; + float targetScale = barWidth / 100f; + barRect.localScale = new Vector3( + parentScale.x != 0f ? targetScale / parentScale.x : targetScale, + parentScale.y != 0f ? targetScale / parentScale.y : targetScale, + parentScale.z != 0f ? targetScale / parentScale.z : targetScale); + + Camera camera = Camera.main; + if (camera != null) + { + barRect.rotation = Quaternion.LookRotation(camera.transform.position - barRect.position, camera.transform.up); + } + } + + public bool ReceiveCaptureDamage(float damage, GameObject attacker) + { + if (damage <= 0f || attacker == null) return false; + + UnitTeam attackerTeam = attacker.GetComponentInParent(); + if (attackerTeam == null) return false; + + float direction = attackerTeam.teamId == 0 ? 1f : -1f; + blueProgress = Mathf.Clamp(blueProgress + direction * damage * capturePerDamage, 0f, 100f); + RefreshVisuals(); + return true; + } + + public void SetCaptureProgress(float value) + { + blueProgress = Mathf.Clamp(value, 0f, 100f); + RefreshVisuals(); + } + + private void RefreshVisuals() + { + if (blueFill == null || redFill == null) return; + + float blue = blueProgress / 100f; + blueFill.fillAmount = blue; + redFill.fillAmount = 1f - blue; + marker.anchorMin = new Vector2(blue, 0f); + marker.anchorMax = new Vector2(blue, 1f); + marker.anchoredPosition = Vector2.zero; + marker.gameObject.SetActive(blueProgress > 0f && blueProgress < 100f); + + if (unitTeam != null) + { + unitTeam.teamId = blueProgress >= 100f ? 0 : blueProgress <= 0f ? 1 : 2; + } + + if (glowOrb != null) + { + Color color = blueProgress >= 100f ? blueColor : blueProgress <= 0f ? redColor : neutralColor; + glowOrb.SetGlowColor(color); + } + } + + private void CreateCaptureBar() + { + GameObject root = new GameObject("CrystalCaptureBar", typeof(RectTransform), typeof(Canvas), typeof(CanvasScaler)); + root.transform.SetParent(transform, false); + canvas = root.GetComponent(); + canvas.renderMode = RenderMode.WorldSpace; + canvas.sortingOrder = 110; + root.GetComponent().dynamicPixelsPerUnit = 10f; + barRect = root.GetComponent(); + barRect.sizeDelta = new Vector2(100f, 16f); + barRect.localScale = Vector3.one * (barWidth / 100f); + + RectTransform row = CreateRow(root.transform, "CaptureBar", 100f, 14f); + Image background = CreateImage(row, "Background", new Color(0.03f, 0.03f, 0.03f, 0.95f)); + SetFullRect(background.rectTransform); + + blueFill = CreateImage(row, "BlueFill", blueColor); + blueFill.type = Image.Type.Filled; + blueFill.fillMethod = Image.FillMethod.Horizontal; + blueFill.fillOrigin = 0; + blueFill.rectTransform.anchorMin = new Vector2(0f, 0f); + blueFill.rectTransform.anchorMax = new Vector2(1f, 1f); + blueFill.rectTransform.offsetMin = new Vector2(2f, 2f); + blueFill.rectTransform.offsetMax = new Vector2(-2f, -2f); + + redFill = CreateImage(row, "RedFill", redColor); + redFill.type = Image.Type.Filled; + redFill.fillMethod = Image.FillMethod.Horizontal; + redFill.fillOrigin = 1; + redFill.rectTransform.anchorMin = new Vector2(0f, 0f); + redFill.rectTransform.anchorMax = new Vector2(1f, 1f); + redFill.rectTransform.offsetMin = new Vector2(2f, 2f); + redFill.rectTransform.offsetMax = new Vector2(-2f, -2f); + + GameObject markerObject = new GameObject("CenterMarker", typeof(RectTransform), typeof(Image)); + markerObject.transform.SetParent(row, false); + marker = markerObject.GetComponent(); + marker.sizeDelta = new Vector2(2f, 14f); + marker.anchorMin = new Vector2(0.5f, 0f); + marker.anchorMax = new Vector2(0.5f, 1f); + marker.GetComponent().color = Color.white; + } + + private RectTransform CreateRow(Transform parent, string name, float width, float height) + { + GameObject rowObject = new GameObject(name, typeof(RectTransform)); + rowObject.transform.SetParent(parent, false); + RectTransform rect = rowObject.GetComponent(); + rect.anchorMin = new Vector2(0.5f, 0.5f); + rect.anchorMax = new Vector2(0.5f, 0.5f); + rect.pivot = new Vector2(0.5f, 0.5f); + rect.sizeDelta = new Vector2(width, height); + return rect; + } + + private Image CreateImage(Transform parent, string name, Color color) + { + GameObject imageObject = new GameObject(name, typeof(RectTransform), typeof(Image)); + imageObject.transform.SetParent(parent, false); + Image image = imageObject.GetComponent(); + image.sprite = RoundedSprite(); + image.color = color; + return image; + } + + private void SetFullRect(RectTransform rect) + { + rect.anchorMin = Vector2.zero; + rect.anchorMax = Vector2.one; + rect.offsetMin = Vector2.zero; + rect.offsetMax = Vector2.zero; + } + + private static Sprite RoundedSprite() + { + if (roundedSprite != null) return roundedSprite; + Texture2D texture = new Texture2D(1, 1, TextureFormat.RGBA32, false); + texture.SetPixel(0, 0, Color.white); + texture.Apply(); + roundedSprite = Sprite.Create(texture, new Rect(0f, 0f, 1f, 1f), new Vector2(0.5f, 0.5f)); + roundedSprite.name = "CrystalCaptureBarSprite"; + return roundedSprite; + } +} diff --git a/Assets/Script/CrystalMineCapture.cs.meta b/Assets/Script/CrystalMineCapture.cs.meta new file mode 100644 index 0000000..64c87c8 --- /dev/null +++ b/Assets/Script/CrystalMineCapture.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: DnlL4SKoBS46ofpRnEoWK5s8DFl+8ZK4OiqdlfF2jZrFJIMONOuNlvA= +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Script/Projectile.cs b/Assets/Script/Projectile.cs index c602b38..5410ff7 100644 --- a/Assets/Script/Projectile.cs +++ b/Assets/Script/Projectile.cs @@ -115,10 +115,11 @@ public class Projectile : MonoBehaviour } UnitBase targetUnit = hitObject.GetComponentInParent(); + CrystalMineCapture crystalMine = hitObject.GetComponentInParent(); BuildingHealth targetBuilding = hitObject.GetComponentInParent(); WorldHealthBar targetHealthBar = hitObject.GetComponentInParent(); - if (targetUnit == null && targetBuilding == null && targetHealthBar == null) + if (targetUnit == null && crystalMine == null && targetBuilding == null && targetHealthBar == null) { return; } @@ -129,6 +130,10 @@ public class Projectile : MonoBehaviour { targetUnit.ReceiveDamage(damage, owner); } + else if (crystalMine != null) + { + crystalMine.ReceiveCaptureDamage(damage, owner); + } else if (targetBuilding != null) { targetBuilding.ReceiveDamage(damage, owner); diff --git a/Assets/Script/UnitBase.cs b/Assets/Script/UnitBase.cs index 5985f5c..9a766ec 100644 --- a/Assets/Script/UnitBase.cs +++ b/Assets/Script/UnitBase.cs @@ -649,6 +649,13 @@ public class UnitBase : MonoBehaviour return; } + CrystalMineCapture targetCrystalMine = opponent.GetComponentInParent(); + if (targetCrystalMine != null && targetCrystalMine.ReceiveCaptureDamage(attackPower, gameObject)) + { + RegisterAttackHit(); + return; + } + BuildingHealth targetBuilding = opponent.GetComponentInParent(); if (targetBuilding != null && targetBuilding.ReceiveDamage(attackPower, gameObject)) { @@ -676,6 +683,12 @@ public class UnitBase : MonoBehaviour UnitBase targetUnit = target.GetComponentInParent(); bool hit = targetUnit != null && targetUnit.ReceiveDamage(damage, gameObject); + if (!hit) + { + CrystalMineCapture targetCrystalMine = target.GetComponentInParent(); + hit = targetCrystalMine != null && targetCrystalMine.ReceiveCaptureDamage(damage, gameObject); + } + if (!hit) { BuildingHealth targetBuilding = target.GetComponentInParent(); diff --git a/Assets/Scripts.meta b/Assets/Scripts.meta new file mode 100644 index 0000000..72aa4ad --- /dev/null +++ b/Assets/Scripts.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: CSwc4C+uAHLQOsPxMiLxPlWuoNCdjvuwmiriXdsbmnzALD/F3ULi4oo= +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Visuals.meta b/Assets/Scripts/Visuals.meta new file mode 100644 index 0000000..6d46d47 --- /dev/null +++ b/Assets/Scripts/Visuals.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: CygW5yr+Wil0YVrsnTde7g4OAv0+ySsvpKJ8nCRqwxR5A+Z+Ncqsgxo= +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Visuals/AdjustableGlowOrb.cs b/Assets/Scripts/Visuals/AdjustableGlowOrb.cs new file mode 100644 index 0000000..6ceb559 --- /dev/null +++ b/Assets/Scripts/Visuals/AdjustableGlowOrb.cs @@ -0,0 +1,51 @@ +using UnityEngine; + +[ExecuteAlways] +public class AdjustableGlowOrb : MonoBehaviour +{ + [SerializeField] private Color glowColor = new Color(0.1f, 0.65f, 1f, 1f); + [SerializeField, Min(0f)] private float emissionIntensity = 2.5f; + [SerializeField] private Renderer targetRenderer; + + private MaterialPropertyBlock propertyBlock; + + private void OnEnable() + { + ApplyVisuals(); + } + + private void OnValidate() + { + ApplyVisuals(); + } + + public void SetGlowColor(Color color) + { + glowColor = color; + ApplyVisuals(); + } + + public Color GetGlowColor() => glowColor; + + private void ApplyVisuals() + { + if (targetRenderer == null) + { + targetRenderer = GetComponent(); + } + + if (targetRenderer == null) + { + return; + } + + propertyBlock ??= new MaterialPropertyBlock(); + targetRenderer.GetPropertyBlock(propertyBlock); + + Color emission = glowColor * emissionIntensity; + propertyBlock.SetColor("_BaseColor", glowColor); + propertyBlock.SetColor("_Color", glowColor); + propertyBlock.SetColor("_EmissionColor", emission); + targetRenderer.SetPropertyBlock(propertyBlock); + } +} diff --git a/Assets/Scripts/Visuals/AdjustableGlowOrb.cs.meta b/Assets/Scripts/Visuals/AdjustableGlowOrb.cs.meta new file mode 100644 index 0000000..c155a08 --- /dev/null +++ b/Assets/Scripts/Visuals/AdjustableGlowOrb.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: Wy4WsSytUHKt4Lt/6y0foOFNb9+jGCSNOHfb7zNRXDP2CnmXS/mkpNM= +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Visuals/PortalEnergyVisual.cs b/Assets/Scripts/Visuals/PortalEnergyVisual.cs new file mode 100644 index 0000000..00b7c7a --- /dev/null +++ b/Assets/Scripts/Visuals/PortalEnergyVisual.cs @@ -0,0 +1,74 @@ +using UnityEngine; + +[ExecuteAlways] +public class PortalEnergyVisual : MonoBehaviour +{ + public enum PortalTeamColor + { + Neutral, + Blue, + Red + } + + [SerializeField] private PortalTeamColor teamColor = PortalTeamColor.Neutral; + [SerializeField] private Color neutralColor = Color.white; + [SerializeField] private Color blueColor = new Color(0.1f, 0.65f, 1f, 1f); + [SerializeField] private Color redColor = new Color(1f, 0.12f, 0.08f, 1f); + [SerializeField, Min(0f)] private float emissionIntensity = 2.2f; + [SerializeField, Min(0f)] private float pulseSpeed = 1.6f; + [SerializeField, Range(0f, 0.2f)] private float pulseAmount = 0.06f; + [SerializeField] private Vector2 scrollSpeed = new Vector2(0f, -0.08f); + + private Renderer targetRenderer; + private MaterialPropertyBlock propertyBlock; + private static readonly int BaseColorId = Shader.PropertyToID("_Color"); + private static readonly int TintColorId = Shader.PropertyToID("_TintColor"); + private static readonly int EmissionColorId = Shader.PropertyToID("_EmissionColor"); + private static readonly int MainTexStId = Shader.PropertyToID("_MainTex_ST"); + + private void OnEnable() + { + targetRenderer = GetComponent(); + propertyBlock ??= new MaterialPropertyBlock(); + ApplyVisuals(0f); + } + + private void Update() + { + ApplyVisuals(Application.isPlaying ? Time.time : Time.realtimeSinceStartup); + } + + private void OnValidate() + { + targetRenderer = GetComponent(); + propertyBlock ??= new MaterialPropertyBlock(); + ApplyVisuals(0f); + } + + public void SetTeamColor(PortalTeamColor color) + { + teamColor = color; + ApplyVisuals(0f); + } + + public PortalTeamColor GetTeamColor() => teamColor; + + private void ApplyVisuals(float time) + { + if (targetRenderer == null) + { + return; + } + + Color color = teamColor == PortalTeamColor.Blue ? blueColor : teamColor == PortalTeamColor.Red ? redColor : neutralColor; + float pulse = 1f + Mathf.Sin(time * pulseSpeed) * pulseAmount; + Color emission = color * (emissionIntensity * pulse); + + targetRenderer.GetPropertyBlock(propertyBlock); + propertyBlock.SetColor(BaseColorId, color); + propertyBlock.SetColor(TintColorId, color); + propertyBlock.SetColor(EmissionColorId, emission); + propertyBlock.SetVector(MainTexStId, new Vector4(1f, 1f, scrollSpeed.x * time, scrollSpeed.y * time)); + targetRenderer.SetPropertyBlock(propertyBlock); + } +} diff --git a/Assets/Scripts/Visuals/PortalEnergyVisual.cs.meta b/Assets/Scripts/Visuals/PortalEnergyVisual.cs.meta new file mode 100644 index 0000000..e2a34b6 --- /dev/null +++ b/Assets/Scripts/Visuals/PortalEnergyVisual.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: B3lNvC6vUihFXZRWfse+0pjfpFXfEHzGHbWso3vUnZsU4niV4zg0eu8= +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Textures.meta b/Assets/Textures.meta new file mode 100644 index 0000000..c27b73d --- /dev/null +++ b/Assets/Textures.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: CX0e5Hz+VX349tdrHjIwg/mbi1GpnFG//Bzss01osLAYsXuguTjM0Ok= +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Textures/Portal.meta b/Assets/Textures/Portal.meta new file mode 100644 index 0000000..9bf909e --- /dev/null +++ b/Assets/Textures/Portal.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: CXsXtX7/VXg9MA575A6oQ2DrFfIHIq1flJJceJX8OBc5HhU4286uLlI= +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Textures/Portal/PortalEnergyMask_White_Premultiplied.png b/Assets/Textures/Portal/PortalEnergyMask_White_Premultiplied.png new file mode 100644 index 0000000..1670838 Binary files /dev/null and b/Assets/Textures/Portal/PortalEnergyMask_White_Premultiplied.png differ diff --git a/Assets/Textures/Portal/PortalEnergyMask_White_Premultiplied.png.meta b/Assets/Textures/Portal/PortalEnergyMask_White_Premultiplied.png.meta new file mode 100644 index 0000000..2d0b937 --- /dev/null +++ b/Assets/Textures/Portal/PortalEnergyMask_White_Premultiplied.png.meta @@ -0,0 +1,177 @@ +fileFormatVersion: 2 +guid: DnkctS+lVygS1An+nLcXy0RIVShzmzfmpd1BcOjFWcvN4jemvKtWvAA= +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 14 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + webStreaming: 0 + priorityLevel: 0 + uploadedMode: 2 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + maxPlaceholderSize: 32 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + maxPlaceholderSize: 32 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Server + maxTextureSize: 2048 + maxPlaceholderSize: 32 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: WebGL + maxTextureSize: 2048 + maxPlaceholderSize: 32 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: WeixinMiniGame + maxTextureSize: 2048 + maxPlaceholderSize: 32 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: PlayableAds + maxTextureSize: 2048 + maxPlaceholderSize: 32 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + doOverrideTextureManagerOperations: 0 + platformOperationGroupSettings: + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Textures/Portal/PortalEnergyMask_White_Transparent.png b/Assets/Textures/Portal/PortalEnergyMask_White_Transparent.png new file mode 100644 index 0000000..fcdc83f Binary files /dev/null and b/Assets/Textures/Portal/PortalEnergyMask_White_Transparent.png differ diff --git a/Assets/Textures/Portal/PortalEnergyMask_White_Transparent.png.meta b/Assets/Textures/Portal/PortalEnergyMask_White_Transparent.png.meta new file mode 100644 index 0000000..9d78bb1 --- /dev/null +++ b/Assets/Textures/Portal/PortalEnergyMask_White_Transparent.png.meta @@ -0,0 +1,177 @@ +fileFormatVersion: 2 +guid: Xn4Z4SOrUSqaVrsoSoswnXKNQIzLCnBAASCZ61MPnB7VxC71QmJEE4I= +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 14 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + flipGreenChannel: 0 + isReadable: 0 + webStreaming: 0 + priorityLevel: 0 + uploadedMode: 2 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + ignoreMipmapLimit: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 1 + wrapV: 1 + wrapW: 1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 1 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + swizzle: 50462976 + cookieLightType: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + maxPlaceholderSize: 32 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + maxPlaceholderSize: 32 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Server + maxTextureSize: 2048 + maxPlaceholderSize: 32 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: WebGL + maxTextureSize: 2048 + maxPlaceholderSize: 32 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: WeixinMiniGame + maxTextureSize: 2048 + maxPlaceholderSize: 32 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: PlayableAds + maxTextureSize: 2048 + maxPlaceholderSize: 32 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + ignorePlatformSupport: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: {} + mipmapLimitGroupName: + pSDRemoveMatte: 0 + doOverrideTextureManagerOperations: 0 + platformOperationGroupSettings: + userData: + assetBundleName: + assetBundleVariant: diff --git a/CODELY.md b/CODELY.md index e32fd54..28268b1 100644 --- a/CODELY.md +++ b/CODELY.md @@ -24,6 +24,7 @@ - [2026-09-16 22:18:14] 召唤系统:找不到合适位置时直接在召唤师前方强制生成,不显示警告,不退还能量。**Why:** 用户要求召唤必须成功,不被取消。**How to apply:** MainCharacterCombat.cs 的召唤逻辑 - [2026-09-16 22:18:30] 召唤打断移动:主角点击召唤时必须立即停止移动,调用 SummonerClickMovement.ClearTarget() 来实现。**Why:** 用户要求召唤时即使在移动也要立刻停下。**How to apply:** BeginSummon 开始时停止移动 - [2026-09-17 10:06:34] 召唤师移动后连续召唤动画超时问题:SummonerClickMovement.HandleMovement() 每帧设置 animator.SetInteger("speed", 1) 干扰召唤动画。**Why:** 即使召唤时调用了 ClearTarget(),下一帧 Update 还是会覆盖动画参数。**How to apply:** 召唤期间禁用移动脚本 (clickMovement.enabled = false),召唤完成后重新启用 (enabled = true)。已在 MainCharacterCombat.Summon() 和 FinishSummon() 中实现。 +- [2026-09-18 17:16:47] 小游戏阶段优先使用低成本的材质发光方案(Emission 球体 + 一层透明 Additive 光晕),不使用实时灯光、粒子系统和全屏 Bloom。**Why:** 用户关注小程序性能,且项目为内置渲染管线;Bloom 会影响整屏性能。**How to apply:** 后续制作阵营识别光球、传送门能量等发光效果时默认走材质光晕路线,仅在高端设备上考虑 Bloom。 ### Project - [2026-08-28 14:26:56] 弓箭手远程箭矢的设计要求:保持发射时高度水平飞行,命中目标后直接结算伤害并销毁,不产生实体物理击退。**Why:** 当前玩法希望远程攻击是命中判定而非物理推动。**How to apply:** 后续调整箭矢、Projectile 或弓箭手攻击逻辑时保持这一行为。 @@ -64,7 +65,9 @@ - [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→出生目标绑定→红蓝进度条据点系统。 - +- [2026-09-18 17:17:04] 拆家版地图路线为"四边菱形外环 + 中央十字路网":我方主基地、水晶矿、敌方主基地、随机出兵点四点构成菱形,中央交叉区向四个顶点各连一条快捷路。Why: 用户希望主基地到资源点有直达路线并体现分路玩法。**How to apply:** 后续地图贴图、障碍物摆放和寻路区域设计必须同时保留四条外环边线和四条中心连接线,不能退化成单一十字或平行多路。 +- [2026-09-18 17:17:26] 主基地采用"一套共用模型 + 独立阵营视觉部件"方案:城堡主体、出兵门、炮台结构红蓝共用,仅中央核心、出兵门能量膜、炮台能量和徽记按 teamId 切换材质颜色。Why: 避免两套模型比例/挂点不一致并减少维护成本。**How to apply:** 后续制作或替换主基地资产时保持共用结构,阵营区分只走 TeamVisual 子节点材质。 +- [2026-09-18 18:01:14] 水晶矿场景模型根节点使用100倍缩放,挂载世界空间UI时必须按transform.lossyScale反向补偿Canvas局部缩放,否则争夺血条会放大到覆盖屏幕。水晶矿初始50/50争夺状态的光球应在Start阶段再次强制设为白色,避免AdjustableGlowOrb默认蓝色覆盖初始化结果。 ### Reference - [2026-09-09 12:23:17] 飞行物脚本 Projectile.cs 负责锁敌追踪、碰撞检测和伤害结算。箭矢预制体 ArrowProjectile_White.prefab 已配置 Projectile 组件和 CapsuleCollider(Is Trigger)。远程单位需在攻击动画松弦帧添加 OnAttackEffect Event,并在 UnitBase 中设置 attackType=RangedProjectile、projectilePrefab、projectileSpawnPoint。 diff --git a/召唤之战 - 核心玩法拆家版.md b/召唤之战 - 核心玩法拆家版.md index fd53653..a4546e5 100644 --- a/召唤之战 - 核心玩法拆家版.md +++ b/召唤之战 - 核心玩法拆家版.md @@ -13,43 +13,65 @@ ## 二、战场地图设计 ### 2.1 整体布局 -采用**竖版9:16比例**,核心可通行区域为十字形,外围为不可通行障碍物(岩石/树林)。既限制战场范围避免混乱,又保留多路径进攻空间,杜绝单路排队式战斗。 -┌──────────────────────────────┐ -│ 障碍物(不可通行) │ -│ ┌────────────────────────┐ │ -│ │ 【敌方城堡】 │ │ -│ │ 【敌方防御塔】 │ │ -│ │ │ │ -│ │ ●─────────● │ │ -│ │ 水晶矿 出兵点 │ │ -│ │ (横向通道两端) │ │ -│ │ │ │ -│ │ 【我方防御塔】 │ │ -│ │ 【我方城堡】 │ │ -│ └────────────────────────┘ │ -│ 障碍物(不可通行) │ -└──────────────────────────────┘ +采用**竖版9:16比例**,核心可通行区域为十字形,外围为不可通行障碍物(岩石/树林)。四个核心目标采用对角线布局,充分利用屏幕四角空间,同时保留中央交战区和多路径进攻空间。 +```text +┌─────────────────────────────────────┐ +│ │ +│ 【左上资源据点】 【敌方城堡】 │ +│ ● ■ │ +│ \ / │ +│ \ / │ +│ \ / │ +│ 【中央交战区】 │ +│ / \ │ +│ / \ │ +│ / \ │ +│ 【我方城堡】 【右下资源据点】 │ +│ ■ ● │ +│ │ +└─────────────────────────────────────┘ +``` + +- 我方城堡位于左下,敌方城堡位于右上; +- 右下资源据点是我方近点、敌方远点; +- 左上资源据点是敌方近点、我方远点; +- 两个资源据点均可被双方争夺,不属于任何一方的专属区域; +- 中央区域作为双方部队交战和拦截远点部队的主要区域; +- 资源据点不应贴近屏幕边缘,应与城堡和中央交战区保持可寻路距离。 + +建议先使用以下相对坐标进行场景布局,再根据NavMesh实际路径距离微调: + +| 目标 | 建议坐标(X, Z) | 距离关系 | +|------|------------------|----------| +| 我方城堡 | (-7, 8) | 我方出生点 | +| 右下资源据点 | (7, 24) | 我方近点、敌方远点 | +| 左上资源据点 | (-7, 46) | 敌方近点、我方远点 | +| 敌方城堡 | (7, 62) | 敌方出生点 | + +双方均可选择进攻任意资源据点。近点更容易快速占领和支援,远点需要承担更长的行军距离和被中央区域拦截的风险。 ### 2.2 区域说明 | 区域 | 位置 | 规则 | |------|------|------| -| 己方阵地 | 屏幕下方 | 包含我方城堡、防御塔,为单位出生点 | -| 敌方阵地 | 屏幕上方 | 包含敌方城堡、防御塔,为最终攻击目标 | -| 十字主通道 | 战场中部 | 纵向连通双方阵地,横向连通水晶矿与出兵点;单位可在区域内自由移动 | -| 水晶矿 | 横向通道一端 | 可攻击争夺目标,占领后持续提升法力回复速度 | -| 随机出兵点 | 横向通道另一端 | 可攻击争夺目标,占领后定时随机产出单位 | +| 己方阵地 | 左下方 | 包含我方城堡、防御塔,为单位出生点 | +| 敌方阵地 | 右上方 | 包含敌方城堡、防御塔,为最终攻击目标 | +| 中央交战区 | 战场中央 | 双方部队交战、拦截和转向的主要区域 | +| 左上资源据点 | 敌方城堡一侧 | 可攻击争夺,双方均可进攻;作为敌方近点、我方远点 | +| 右下资源据点 | 我方城堡一侧 | 可攻击争夺,双方均可进攻;作为我方近点、敌方远点 | +| 主通道 | 各目标之间 | 基于NavMesh自由寻路,不设置强制固定路线 | ### 2.3 寻路规则 -- 基于NavMesh实现自由寻路,仅十字区域为可通行烘焙区,障碍物完全阻挡; -- 单位自动计算最短路径前往目标,途中自动避让友军与地形; -- 无强制固定路径,单位可在十字区域内任意移动,避免排队式战斗。 +- 基于NavMesh实现自由寻路,仅十字形主通道和中央交战区为可通行烘焙区,外围障碍物完全阻挡; +- 单位自动计算前往绑定目标的最短路径,途中自动避让友军与地形; +- 无强制固定路线,单位可在主通道和中央交战区内自由移动,远点部队可能在中央区域遭遇拦截。 ## 三、资源系统 ### 3.1 法力水晶 -- 战斗内唯一资源,用于召唤单位、释放技能; -- 基础自动回复,开局默认速度,上限10点; -- 占领水晶矿可提升回复速度,具体回复加成数值以测试为准; +- 法力是玩家主动召唤单位、释放技能使用的基础资源; +- 法力基础自动回复,开局默认速度,上限10点; +- 主动出兵始终受到法力上限和回复速度限制,避免玩家无限堆叠单位; +- 水晶矿产出的水晶是地图据点收益,不直接修改城堡或法力的基础回复速度,具体转化方式以测试为准; ### 3.2 资源据点争夺规则 - 水晶矿与随机出兵点均为可攻击目标,不设置生命值,使用**红蓝争夺进度条**(0~100); @@ -62,9 +84,10 @@ - 据点翻转后,按相同规则由新的占有方获得对应产出。 ### 3.3 水晶矿产出 -- 水晶矿归属己方后,持续提升己方法力回复速度; -- 水晶矿被对方完全翻转后,法力回复加成立即转移给对方; -- 单个水晶矿的回复加成与多个据点叠加规则,以战斗测试结果为准。 +- 水晶矿归属己方后,按固定间隔产出一个水晶; +- 水晶产出归属当前占领方,不直接提升城堡或法力的基础回复速度; +- 水晶矿被对方完全翻转后,后续水晶产出立即转移给新的占领方; +- 水晶的具体用途、是否自动计入资源以及储存上限,以战斗测试结果为准。 ### 3.4 随机出兵点产出 - 随机出兵点归属己方后,按固定间隔在出兵点附近自动生成1个单位; @@ -167,5 +190,5 @@ ## 九、开发落地建议 1. **寻路复用**:直接复用现有NavMesh寻路逻辑,仅需烘焙十字形可行走区域; 2. **AI简化**:保留原有单位战斗状态机,仅新增「出生目标绑定」字段,无需新增驻守状态; -3. **据点实现**:水晶矿与随机出兵点作为特殊可攻击目标,共用红蓝争夺进度数值;据点达到己方100%后开始产出,只有被对方完全推到0才翻转并转移产出;水晶矿提供法力回复加成,随机出兵点按费用权重从玩家出战卡组中自动生成单位; +3. **据点实现**:水晶矿与随机出兵点作为特殊可攻击目标,共用红蓝争夺进度数值;据点达到己方100%后开始产出,只有被对方完全推到0才翻转并转移产出;水晶矿按固定间隔产出水晶,随机出兵点按费用权重从玩家出战卡组中自动生成单位; 4. **UI优先**:先实现底部目标按钮+召唤面板的核心交互,再扩展技能、特效等内容。