根据提供的code differences信息,由于没有具体的代码变更内容,我将生成一个通用的commit message模板:
``` docs(readme): 更新文档说明 - 添加项目使用指南 - 完善API接口说明 - 修正错误的配置示例 ``` 注意:由于您提供的code differences部分为空,以上是一个示例模板。当您有具体的代码变更时,请提供详细的变更内容以便生成更准确的commit message。
This commit is contained in:
1 parent
8cbe8e000b
commit
1a84ea999e
36 files changed
+32671
-135
No files matched your search
@@ -9,7 +9,19 @@ AnimatorOverrideController:
|
|||||||
m_Name: "\u8352\u91CE\u730E\u624B"
|
m_Name: "\u8352\u91CE\u730E\u624B"
|
||||||
m_Controller: {fileID: 9100000, guid: 040acc435cecb4b16b965a1136ce6834, type: 2}
|
m_Controller: {fileID: 9100000, guid: 040acc435cecb4b16b965a1136ce6834, type: 2}
|
||||||
m_Clips:
|
m_Clips:
|
||||||
|
- m_OriginalClip: {fileID: -203655887218126122, guid: b82d15855591849bd80b62238bcd4ed3,
|
||||||
|
type: 3}
|
||||||
|
m_OverrideClip: {fileID: -203655887218126122, guid: a5213c2a05540ba45839271da41c0177,
|
||||||
|
type: 3}
|
||||||
|
- m_OriginalClip: {fileID: -203655887218126122, guid: 9b11238d2f5f44e169f07fc190a2d31f,
|
||||||
|
type: 3}
|
||||||
|
m_OverrideClip: {fileID: -203655887218126122, guid: 934507468bfdf6540b738834d9075883,
|
||||||
|
type: 3}
|
||||||
|
- m_OriginalClip: {fileID: -203655887218126122, guid: 893027867e2cf420bb3ef33e38e0fc09,
|
||||||
|
type: 3}
|
||||||
|
m_OverrideClip: {fileID: -203655887218126122, guid: 1fcb0a89e327b5a4e86fa9161d1ff985,
|
||||||
|
type: 3}
|
||||||
- m_OriginalClip: {fileID: -203655887218126122, guid: 5072af719b9b1401787c6c55f048d8ed,
|
- m_OriginalClip: {fileID: -203655887218126122, guid: 5072af719b9b1401787c6c55f048d8ed,
|
||||||
type: 3}
|
type: 3}
|
||||||
m_OverrideClip: {fileID: -203655887218126122, guid: 3cf486ef6ee70e743b217bd5f96516b8,
|
m_OverrideClip: {fileID: -203655887218126122, guid: a5213c2a05540ba45839271da41c0177,
|
||||||
type: 3}
|
type: 3}
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: C3JKtSmpAnPvGVr7w+A19FElHIFrKeMM24PSIpyHa+yb+rR3bbZxCAE=
|
guid: CnMfsXmuWnmOYRs7nb3rtOwRSQFAbayd2TWDGk3LtKKNkswK2Rrxpdo=
|
||||||
folderAsset: yes
|
folderAsset: yes
|
||||||
DefaultImporter:
|
DefaultImporter:
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
@@ -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: "\u77DB"
|
||||||
|
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: 83bc5f82ae46e4ffcb34d202baef9962, 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: []
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: WytNvHuoWyq872pzsDN4IzUnHWC8pOGcoosRfGp+u4sO0Sctrv98Uy8=
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 2100000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
File diff suppressed because it is too large.
Load diff
+71
-10
@@ -1,11 +1,16 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: Xn8dtCn+USoM3y8Q1spG7or0i5ihQ5/VOTuLQmVn9ElNxLu+WwKV5R4=
|
guid: XXpN4S/5UX6OnP4NwkytXqxUApWqcYhIZqLHjDaML/Ooyu5YwioyEJw=
|
||||||
ModelImporter:
|
ModelImporter:
|
||||||
serializedVersion: 22361
|
serializedVersion: 22361
|
||||||
internalIDToNameTable: []
|
internalIDToNameTable: []
|
||||||
externalObjects: {}
|
externalObjects:
|
||||||
|
- first:
|
||||||
|
type: UnityEngine:Material
|
||||||
|
assembly: UnityEngine.CoreModule
|
||||||
|
name: defaultMat
|
||||||
|
second: {fileID: 2100000, guid: dab9a58acadae4f108cb8909cdb4af6d, type: 2}
|
||||||
materials:
|
materials:
|
||||||
materialImportMode: 2
|
materialImportMode: 1
|
||||||
materialName: 0
|
materialName: 0
|
||||||
materialSearch: 1
|
materialSearch: 1
|
||||||
materialLocation: 1
|
materialLocation: 1
|
||||||
@@ -43,10 +48,10 @@ ModelImporter:
|
|||||||
tuanjieGIGenFacetNums: 12
|
tuanjieGIGenFacetNums: 12
|
||||||
meshes:
|
meshes:
|
||||||
lODScreenPercentages: []
|
lODScreenPercentages: []
|
||||||
globalScale: 1
|
globalScale: 2
|
||||||
meshCompression: 0
|
meshCompression: 0
|
||||||
totalVerticesCount: 14728
|
totalVerticesCount: 1480
|
||||||
totalTrianglesCount: 5000
|
totalTrianglesCount: 500
|
||||||
addColliders: 0
|
addColliders: 0
|
||||||
useSRGBMaterialColor: 1
|
useSRGBMaterialColor: 1
|
||||||
sortHierarchyByName: 1
|
sortHierarchyByName: 1
|
||||||
@@ -93,15 +98,71 @@ ModelImporter:
|
|||||||
isPossibleOverflow: 0
|
isPossibleOverflow: 0
|
||||||
hasBoneData: 0
|
hasBoneData: 0
|
||||||
isBoneCountOverflow: 0
|
isBoneCountOverflow: 0
|
||||||
virtualGeometryPlatformSettings: []
|
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:
|
selectedVGMeshes:
|
||||||
- index: 0
|
- index: 0
|
||||||
meshName: node_0
|
meshName: default
|
||||||
lodLevel: 0
|
lodLevel: 0
|
||||||
meshGeometryBuffer: 0
|
meshGeometryBuffer: 0
|
||||||
supportVGMeshes:
|
supportVGMeshes:
|
||||||
- index: 0
|
- index: 0
|
||||||
meshName: node_0
|
meshName: default
|
||||||
lodLevel: 0
|
lodLevel: 0
|
||||||
meshGeometryBuffer: 0
|
meshGeometryBuffer: 0
|
||||||
tangentSpace:
|
tangentSpace:
|
||||||
@@ -129,7 +190,7 @@ ModelImporter:
|
|||||||
armStretch: 0.05
|
armStretch: 0.05
|
||||||
legStretch: 0.05
|
legStretch: 0.05
|
||||||
feetSpacing: 0
|
feetSpacing: 0
|
||||||
globalScale: 1
|
globalScale: 2
|
||||||
rootMotionBoneName:
|
rootMotionBoneName:
|
||||||
defaultPoseIndex: -1
|
defaultPoseIndex: -1
|
||||||
hasTranslationDoF: 0
|
hasTranslationDoF: 0
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 872 KiB |
+1
-15
@@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: WigcsH+oBn1GkOluyD9zP1q1crQXqgLJjAQC2mjZsBphsxbFlZfe0x0=
|
guid: B3lN5i/7W3k4czjmow0f9+kcKecF2HNMOB5OL3gD4yYKx+ay7POPpjc=
|
||||||
TextureImporter:
|
TextureImporter:
|
||||||
internalIDToNameTable: []
|
internalIDToNameTable: []
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
@@ -112,20 +112,6 @@ TextureImporter:
|
|||||||
ignorePlatformSupport: 0
|
ignorePlatformSupport: 0
|
||||||
androidETC2FallbackOverride: 0
|
androidETC2FallbackOverride: 0
|
||||||
forceMaximumCompressionQuality_BC6H_BC7: 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
|
- serializedVersion: 3
|
||||||
buildTarget: WeixinMiniGame
|
buildTarget: WeixinMiniGame
|
||||||
maxTextureSize: 2048
|
maxTextureSize: 2048
|
||||||
Binary file not shown.
Binary file not shown.
|
Before Width: | Height: | Size: 1.2 MiB |
Binary file not shown.
@@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: DClJsSKrBi3US/iRrb+5vjrAFyXbuqBpZLuP3awC3HzYgpKnYMf0Dik=
|
guid: Xn8dtCn+USoM3y8Q1spG7or0i5ihQ5/VOTuLQmVn9ElNxLu+WwKV5R4=
|
||||||
ModelImporter:
|
ModelImporter:
|
||||||
serializedVersion: 22361
|
serializedVersion: 22361
|
||||||
internalIDToNameTable: []
|
internalIDToNameTable: []
|
||||||
@@ -45,7 +45,7 @@ ModelImporter:
|
|||||||
takeName: mixamo.com
|
takeName: mixamo.com
|
||||||
internalID: -203655887218126122
|
internalID: -203655887218126122
|
||||||
firstFrame: 0
|
firstFrame: 0
|
||||||
lastFrame: 66
|
lastFrame: 68
|
||||||
wrapMode: 0
|
wrapMode: 0
|
||||||
orientationOffsetY: 0
|
orientationOffsetY: 0
|
||||||
level: 0
|
level: 0
|
||||||
@@ -66,13 +66,20 @@ ModelImporter:
|
|||||||
bodyMask: 01000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000
|
bodyMask: 01000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000
|
||||||
curves: []
|
curves: []
|
||||||
events:
|
events:
|
||||||
- time: 0.28456584
|
- time: 0.302408
|
||||||
functionName: OnAttackEffect
|
functionName: OnAttackEffect
|
||||||
data:
|
data:
|
||||||
objectReferenceParameter: {instanceID: 0}
|
objectReferenceParameter: {instanceID: 0}
|
||||||
floatParameter: 0
|
floatParameter: 0
|
||||||
intParameter: 0
|
intParameter: 0
|
||||||
messageOptions: 0
|
messageOptions: 0
|
||||||
|
- time: 0.302408
|
||||||
|
functionName: OnSkillHit1
|
||||||
|
data:
|
||||||
|
objectReferenceParameter: {instanceID: 0}
|
||||||
|
floatParameter: 0
|
||||||
|
intParameter: 0
|
||||||
|
messageOptions: 0
|
||||||
intervals: []
|
intervals: []
|
||||||
transformMask: []
|
transformMask: []
|
||||||
maskType: 3
|
maskType: 3
|
||||||
@@ -92,8 +99,8 @@ ModelImporter:
|
|||||||
lODScreenPercentages: []
|
lODScreenPercentages: []
|
||||||
globalScale: 200
|
globalScale: 200
|
||||||
meshCompression: 0
|
meshCompression: 0
|
||||||
totalVerticesCount: 9862
|
totalVerticesCount: 14728
|
||||||
totalTrianglesCount: 4998
|
totalTrianglesCount: 5000
|
||||||
addColliders: 0
|
addColliders: 0
|
||||||
useSRGBMaterialColor: 1
|
useSRGBMaterialColor: 1
|
||||||
sortHierarchyByName: 1
|
sortHierarchyByName: 1
|
||||||
@@ -410,129 +417,127 @@ ModelImporter:
|
|||||||
scale: {x: 1, y: 1, z: 1}
|
scale: {x: 1, y: 1, z: 1}
|
||||||
- name: mixamorig:Hips
|
- name: mixamorig:Hips
|
||||||
parentName: "\u8352\u91CE\u730E\u624B(Clone)"
|
parentName: "\u8352\u91CE\u730E\u624B(Clone)"
|
||||||
position: {x: 7.2759576e-10, y: 0.96161616, z: -0.017580768}
|
position: {x: -0.0015550415, y: 1.0448333, z: 0.0008989109}
|
||||||
rotation: {x: -0, y: -0, z: 4.0927256e-10, w: 1}
|
rotation: {x: -0.057999488, y: 0.085499845, z: -0.03630227, w: 0.9939859}
|
||||||
scale: {x: 0.99999994, y: 1, z: 1}
|
scale: {x: 1, y: 1, z: 1}
|
||||||
- name: mixamorig:LeftUpLeg
|
- name: mixamorig:LeftUpLeg
|
||||||
parentName: mixamorig:Hips
|
parentName: mixamorig:Hips
|
||||||
position: {x: -0.122900926, y: -0.064272955, z: 0.019370982}
|
position: {x: -0.12708198, y: -0.06653226, z: 0.0027186214}
|
||||||
rotation: {x: 0.00049928314, y: -0.031455517, z: 0.99937916, w: 0.015862847}
|
rotation: {x: -0.4313436, y: 0.039589703, z: 0.9001783, w: 0.045325007}
|
||||||
scale: {x: 1.0000004, y: 1.0000004, z: 1}
|
scale: {x: 1, y: 1, z: 1}
|
||||||
- name: mixamorig:LeftLeg
|
- name: mixamorig:LeftLeg
|
||||||
parentName: mixamorig:LeftUpLeg
|
parentName: mixamorig:LeftUpLeg
|
||||||
position: {x: 2.775558e-17, y: 0.42458522, z: 0}
|
position: {x: -5.551116e-17, y: 0.5007372, z: -4.336809e-19}
|
||||||
rotation: {x: -0.070675656, y: 0.001526951, z: -0.021546036, w: 0.9972655}
|
rotation: {x: -0.32176197, y: -0.18966085, z: 0.0014265925, w: 0.9276293}
|
||||||
scale: {x: 1.0000006, y: 1.0000005, z: 1.0000001}
|
scale: {x: 1, y: 1, z: 1}
|
||||||
- name: mixamorig:LeftFoot
|
- name: mixamorig:LeftFoot
|
||||||
parentName: mixamorig:LeftLeg
|
parentName: mixamorig:LeftLeg
|
||||||
position: {x: 2.775558e-17, y: 0.36031312, z: 3.4694474e-18}
|
position: {x: -0, y: 0.436047, z: 6.938895e-18}
|
||||||
rotation: {x: 0.5864733, y: 0.058979593, z: -0.042879384, w: 0.8066796}
|
rotation: {x: 0.72539276, y: 0.026533838, z: 0.0035809833, w: 0.6878144}
|
||||||
scale: {x: 1, y: 1, z: 0.9999998}
|
scale: {x: 1, y: 1, z: 1}
|
||||||
- name: mixamorig:LeftToeBase
|
- name: mixamorig:LeftToeBase
|
||||||
parentName: mixamorig:LeftFoot
|
parentName: mixamorig:LeftFoot
|
||||||
position: {x: -0, y: 0.19909826, z: 2.775558e-17}
|
position: {x: -0, y: 0.20160635, z: 2.775558e-17}
|
||||||
rotation: {x: 0.23450264, y: 0.030121133, z: -0.007269758, w: 0.9716215}
|
rotation: {x: 0.28748184, y: 0.002484446, z: 0.04328514, w: 0.9568043}
|
||||||
scale: {x: 1.0000004, y: 1.0000002, z: 1.0000001}
|
scale: {x: 1, y: 1, z: 1}
|
||||||
- name: mixamorig:LeftToe_End
|
- name: mixamorig:LeftToe_End
|
||||||
parentName: mixamorig:LeftToeBase
|
parentName: mixamorig:LeftToeBase
|
||||||
position: {x: 2.775558e-17, y: 0.07518335, z: 8.673618e-19}
|
position: {x: -0, y: 0.07973328, z: 0}
|
||||||
|
rotation: {x: 0, y: -0, z: -0, w: 1}
|
||||||
|
scale: {x: 1, y: 1, z: 1}
|
||||||
|
- name: mixamorig:RightUpLeg
|
||||||
|
parentName: mixamorig:Hips
|
||||||
|
position: {x: 0.12708198, y: -0.06653226, z: 0.00455708}
|
||||||
|
rotation: {x: 0.090018176, y: 0.060366243, z: 0.9873917, w: -0.11537023}
|
||||||
|
scale: {x: 1, y: 1, z: 1}
|
||||||
|
- name: mixamorig:RightLeg
|
||||||
|
parentName: mixamorig:RightUpLeg
|
||||||
|
position: {x: -2.775558e-17, y: 0.50075597, z: 8.673618e-19}
|
||||||
|
rotation: {x: -0.32498062, y: 0.035976253, z: 0.018000348, w: 0.9448647}
|
||||||
|
scale: {x: 1, y: 1, z: 1}
|
||||||
|
- name: mixamorig:RightFoot
|
||||||
|
parentName: mixamorig:RightLeg
|
||||||
|
position: {x: -0, y: 0.4361834, z: -1.387779e-17}
|
||||||
|
rotation: {x: 0.7291296, y: -0.075724706, z: -0.07305119, w: 0.67623913}
|
||||||
|
scale: {x: 1, y: 1, z: 1}
|
||||||
|
- name: mixamorig:RightToeBase
|
||||||
|
parentName: mixamorig:RightFoot
|
||||||
|
position: {x: -0, y: 0.20101744, z: 0}
|
||||||
|
rotation: {x: 0.26940238, y: -0.028466098, z: -0.02129622, w: 0.96237135}
|
||||||
|
scale: {x: 1, y: 1, z: 1}
|
||||||
|
- name: mixamorig:RightToe_End
|
||||||
|
parentName: mixamorig:RightToeBase
|
||||||
|
position: {x: -2.775558e-17, y: 0.077961974, z: -4.336809e-19}
|
||||||
rotation: {x: 0, y: -0, z: -0, w: 1}
|
rotation: {x: 0, y: -0, z: -0, w: 1}
|
||||||
scale: {x: 1, y: 1, z: 1}
|
scale: {x: 1, y: 1, z: 1}
|
||||||
- name: mixamorig:Spine
|
- name: mixamorig:Spine
|
||||||
parentName: mixamorig:Hips
|
parentName: mixamorig:Hips
|
||||||
position: {x: -0, y: 0.11601777, z: -0.008428418}
|
position: {x: -0, y: 0.119804874, z: -0.014100285}
|
||||||
rotation: {x: -0.03625217, y: 0.000000005805401, z: 5.291295e-10, w: 0.9993427}
|
rotation: {x: 0.036728185, y: -0.02707523, z: 0.014438407, w: 0.9988541}
|
||||||
scale: {x: 1, y: 1, z: 0.99999994}
|
scale: {x: 1, y: 1, z: 1}
|
||||||
- name: mixamorig:Spine1
|
- name: mixamorig:Spine1
|
||||||
parentName: mixamorig:Spine
|
parentName: mixamorig:Spine
|
||||||
position: {x: -0, y: 0.13571076, z: 0}
|
position: {x: -0, y: 0.14073713, z: 0}
|
||||||
rotation: {x: -0.000000029802322, y: -0.0000000029290932, z: 1.5196491e-10,
|
rotation: {x: 0.051300958, y: -0.054152843, z: 0.028569069, w: 0.99680465}
|
||||||
w: 1}
|
scale: {x: 1, y: 1, z: 1}
|
||||||
scale: {x: 0.99999994, y: 0.99999994, z: 1}
|
|
||||||
- name: mixamorig:Spine2
|
- name: mixamorig:Spine2
|
||||||
parentName: mixamorig:Spine1
|
parentName: mixamorig:Spine1
|
||||||
position: {x: -0, y: 0.15509796, z: 0}
|
position: {x: -0, y: 0.16084242, z: 0}
|
||||||
rotation: {x: -0, y: -0.000000005462792, z: -0.0000000051386957, w: 1}
|
rotation: {x: -0.05184933, y: -0.056821056, z: 0.022805413, w: 0.9967763}
|
||||||
scale: {x: 1.0000001, y: 1.0000001, z: 1.0000001}
|
scale: {x: 1, y: 1, z: 1}
|
||||||
- name: mixamorig:Neck
|
- name: mixamorig:Neck
|
||||||
parentName: mixamorig:Spine2
|
parentName: mixamorig:Spine2
|
||||||
position: {x: -0, y: 0.17448525, z: 0.000000012214195}
|
position: {x: -0, y: 0.18094777, z: 0.000000017033209}
|
||||||
rotation: {x: 0.0362522, y: 4.9456883e-11, z: -0.0000000013633452, w: 0.9993427}
|
rotation: {x: 0.038379487, y: -0.07997296, z: -0.009701707, w: 0.9960107}
|
||||||
scale: {x: 0.99999994, y: 1.0000001, z: 0.99999994}
|
scale: {x: 1, y: 1, z: 1}
|
||||||
- name: mixamorig:Head
|
- name: mixamorig:Head
|
||||||
parentName: mixamorig:Neck
|
parentName: mixamorig:Neck
|
||||||
position: {x: -0, y: 0.14759588, z: 0.017679807}
|
position: {x: -0, y: 0.13584413, z: 0.06572203}
|
||||||
rotation: {x: 0.0000000037252903, y: 0.000000002910383, z: 0.0000000010913939,
|
rotation: {x: -0.041596327, y: -0.19943602, z: 0.037355587, w: 0.97831464}
|
||||||
w: 1}
|
scale: {x: 1, y: 1, z: 1}
|
||||||
scale: {x: 0.99999994, y: 0.9999999, z: 1.0000001}
|
|
||||||
- name: mixamorig:HeadTop_End
|
- name: mixamorig:HeadTop_End
|
||||||
parentName: mixamorig:Head
|
parentName: mixamorig:Head
|
||||||
position: {x: -0, y: 0.23794629, z: 0.028502438}
|
position: {x: -0, y: 0.24706805, z: 0.11953268}
|
||||||
rotation: {x: 0, y: -0, z: -0, w: 1}
|
rotation: {x: 0, y: -0, z: -0, w: 1}
|
||||||
scale: {x: 1, y: 1, z: 1}
|
scale: {x: 1, y: 1, z: 1}
|
||||||
- name: mixamorig:LeftShoulder
|
- name: mixamorig:LeftShoulder
|
||||||
parentName: mixamorig:Spine2
|
parentName: mixamorig:Spine2
|
||||||
position: {x: -0.05832574, y: 0.1505866, z: -0.0022551804}
|
position: {x: -0.06582137, y: 0.15840933, z: -0.002626976}
|
||||||
rotation: {x: 0.55615306, y: -0.4300368, z: 0.5748818, w: 0.41865632}
|
rotation: {x: 0.6132891, y: -0.36678275, z: 0.4890201, w: 0.5002063}
|
||||||
scale: {x: 1.0000004, y: 1.0000006, z: 1.0000006}
|
scale: {x: 1, y: 1, z: 1}
|
||||||
- name: mixamorig:LeftArm
|
- name: mixamorig:LeftArm
|
||||||
parentName: mixamorig:LeftShoulder
|
parentName: mixamorig:LeftShoulder
|
||||||
position: {x: -0, y: 0.12277112, z: 0}
|
position: {x: -0, y: 0.13926831, z: 0}
|
||||||
rotation: {x: -0.12750787, y: -0.052892506, z: -0.006906688, w: 0.9904022}
|
rotation: {x: -0.109285444, y: -0.07530944, z: 0.07437192, w: 0.98835933}
|
||||||
scale: {x: 1, y: 1.0000002, z: 1.0000002}
|
scale: {x: 1, y: 1, z: 1}
|
||||||
- name: mixamorig:LeftForeArm
|
- name: mixamorig:LeftForeArm
|
||||||
parentName: mixamorig:LeftArm
|
parentName: mixamorig:LeftArm
|
||||||
position: {x: -1.0408341e-17, y: 0.32773098, z: 0}
|
position: {x: -5.551116e-17, y: 0.37595367, z: -1.1102232e-16}
|
||||||
rotation: {x: -0.0111816665, y: -0.027591016, z: -0.03239311, w: 0.9990318}
|
rotation: {x: -0.015563387, y: 0.23476875, z: -0.02611066, w: 0.97157586}
|
||||||
scale: {x: 0.9999997, y: 0.9999998, z: 0.9999998}
|
scale: {x: 1, y: 1, z: 1}
|
||||||
- name: mixamorig:LeftHand
|
- name: mixamorig:LeftHand
|
||||||
parentName: mixamorig:LeftForeArm
|
parentName: mixamorig:LeftForeArm
|
||||||
position: {x: -5.551116e-17, y: 0.3340844, z: 1.1102232e-16}
|
position: {x: -6.938895e-18, y: 0.36493555, z: 0}
|
||||||
rotation: {x: -0, y: -0, z: -1.1641532e-10, w: 1}
|
rotation: {x: 0, y: -0, z: -0, w: 1}
|
||||||
scale: {x: 1, y: 1, z: 1.0000001}
|
scale: {x: 1, y: 1, z: 1}
|
||||||
- name: mixamorig:RightShoulder
|
- name: mixamorig:RightShoulder
|
||||||
parentName: mixamorig:Spine2
|
parentName: mixamorig:Spine2
|
||||||
position: {x: 0.05832574, y: 0.15051161, z: -0.0012226059}
|
position: {x: 0.06582137, y: 0.15841529, z: -0.0026775594}
|
||||||
rotation: {x: -0.56145275, y: -0.42600432, z: 0.5702429, w: -0.4220358}
|
rotation: {x: 0.56953573, y: 0.39988846, z: -0.49522352, w: 0.52006924}
|
||||||
scale: {x: 1.0000002, y: 1.0000002, z: 1.0000001}
|
scale: {x: 1, y: 1, z: 1}
|
||||||
- name: mixamorig:RightArm
|
- name: mixamorig:RightArm
|
||||||
parentName: mixamorig:RightShoulder
|
parentName: mixamorig:RightShoulder
|
||||||
position: {x: -0, y: 0.12277112, z: 2.2204463e-16}
|
position: {x: -2.775558e-17, y: 0.13926831, z: 0}
|
||||||
rotation: {x: 0.12768778, y: -0.06803748, z: 0.0033242106, w: -0.9894725}
|
rotation: {x: -0.007774665, y: 0.12842752, z: -0.16903602, w: 0.9771759}
|
||||||
scale: {x: 0.99999976, y: 1.0000001, z: 0.9999998}
|
scale: {x: 1, y: 1, z: 1}
|
||||||
- name: mixamorig:RightForeArm
|
- name: mixamorig:RightForeArm
|
||||||
parentName: mixamorig:RightArm
|
parentName: mixamorig:RightArm
|
||||||
position: {x: -0, y: 0.32781148, z: 0}
|
position: {x: 5.551116e-17, y: 0.3760215, z: -2.2204463e-16}
|
||||||
rotation: {x: -0.0118109435, y: 0.011750162, z: 0.031905137, w: 0.9993521}
|
rotation: {x: -0.020219214, y: -0.24051912, z: 0.040518124, w: 0.9695876}
|
||||||
scale: {x: 1.0000002, y: 1.000001, z: 1.0000005}
|
scale: {x: 1, y: 1, z: 1}
|
||||||
- name: mixamorig:RightHand
|
- name: mixamorig:RightHand
|
||||||
parentName: mixamorig:RightForeArm
|
parentName: mixamorig:RightForeArm
|
||||||
position: {x: -0, y: 0.335302, z: -1.1102232e-16}
|
position: {x: 1.387779e-17, y: 0.3655116, z: -1.1102232e-16}
|
||||||
rotation: {x: -2.3283064e-10, y: -0, z: -0.000000030053343, w: 1}
|
|
||||||
scale: {x: 0.99999994, y: 0.9999997, z: 1}
|
|
||||||
- name: mixamorig:RightUpLeg
|
|
||||||
parentName: mixamorig:Hips
|
|
||||||
position: {x: 0.122900926, y: -0.064272955, z: 0.017555349}
|
|
||||||
rotation: {x: -0.000482568, y: -0.030399304, z: 0.9994118, w: -0.015865445}
|
|
||||||
scale: {x: 1.0000002, y: 1.0000002, z: 0.99999994}
|
|
||||||
- name: mixamorig:RightLeg
|
|
||||||
parentName: mixamorig:RightUpLeg
|
|
||||||
position: {x: -0, y: 0.4245297, z: 1.387779e-17}
|
|
||||||
rotation: {x: -0.07598258, y: -0.0016407911, z: 0.02152683, w: 0.9968754}
|
|
||||||
scale: {x: 1.0000002, y: 1.0000004, z: 1.0000001}
|
|
||||||
- name: mixamorig:RightFoot
|
|
||||||
parentName: mixamorig:RightLeg
|
|
||||||
position: {x: 2.775558e-17, y: 0.36096406, z: 1.7347236e-17}
|
|
||||||
rotation: {x: 0.5934667, y: -0.057367228, z: 0.04246735, w: 0.8016874}
|
|
||||||
scale: {x: 1.0000002, y: 1.0000004, z: 1.0000002}
|
|
||||||
- name: mixamorig:RightToeBase
|
|
||||||
parentName: mixamorig:RightFoot
|
|
||||||
position: {x: -0, y: 0.20220801, z: 0}
|
|
||||||
rotation: {x: 0.23086213, y: -0.02866849, z: 0.0068053757, w: 0.9725402}
|
|
||||||
scale: {x: 1.0000004, y: 1.0000002, z: 1}
|
|
||||||
- name: mixamorig:RightToe_End
|
|
||||||
parentName: mixamorig:RightToeBase
|
|
||||||
position: {x: 2.775558e-17, y: 0.077429935, z: 8.673618e-19}
|
|
||||||
rotation: {x: 0, y: -0, z: -0, w: 1}
|
rotation: {x: 0, y: -0, z: -0, w: 1}
|
||||||
scale: {x: 1, y: 1, z: 1}
|
scale: {x: 1, y: 1, z: 1}
|
||||||
namedPoseList:
|
namedPoseList:
|
||||||
|
|||||||
@@ -44,7 +44,7 @@ Material:
|
|||||||
m_Scale: {x: 1, y: 1}
|
m_Scale: {x: 1, y: 1}
|
||||||
m_Offset: {x: 0, y: 0}
|
m_Offset: {x: 0, y: 0}
|
||||||
- _MainTex:
|
- _MainTex:
|
||||||
m_Texture: {fileID: 2800000, guid: 0ccff60d18b826248b2fc07e18698733, type: 3}
|
m_Texture: {fileID: 2800000, guid: eb35e5e648d29674095316a1861e33b5, type: 3}
|
||||||
m_Scale: {x: 1, y: 1}
|
m_Scale: {x: 1, y: 1}
|
||||||
m_Offset: {x: 0, y: 0}
|
m_Offset: {x: 0, y: 0}
|
||||||
- _MetallicGlossMap:
|
- _MetallicGlossMap:
|
||||||
@@ -78,6 +78,6 @@ Material:
|
|||||||
- _UVSec: 0
|
- _UVSec: 0
|
||||||
- _ZWrite: 1
|
- _ZWrite: 1
|
||||||
m_Colors:
|
m_Colors:
|
||||||
- _Color: {r: 1, g: 1, b: 1, a: 1}
|
- _Color: {r: 0.990566, g: 0.9461387, b: 0.4999555, a: 1}
|
||||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
||||||
m_BuildTextureStacks: []
|
m_BuildTextureStacks: []
|
||||||
Binary file not shown.
|
Before Width: | Height: | Size: 1.4 MiB After Width: | Height: | Size: 1.2 MiB |
@@ -1,5 +1,5 @@
|
|||||||
fileFormatVersion: 2
|
fileFormatVersion: 2
|
||||||
guid: DylM43yrUy//7x6SbZSq1Vql2uiQyUvgZpZV1oQA7DZCQ8veZ/iNRnE=
|
guid: WigcsH+oBn1GkOluyD9zP1q1crQXqgLJjAQC2mjZsBphsxbFlZfe0x0=
|
||||||
TextureImporter:
|
TextureImporter:
|
||||||
internalIDToNameTable: []
|
internalIDToNameTable: []
|
||||||
externalObjects: {}
|
externalObjects: {}
|
||||||
@@ -72,7 +72,7 @@ TextureImporter:
|
|||||||
platformSettings:
|
platformSettings:
|
||||||
- serializedVersion: 3
|
- serializedVersion: 3
|
||||||
buildTarget: DefaultTexturePlatform
|
buildTarget: DefaultTexturePlatform
|
||||||
maxTextureSize: 512
|
maxTextureSize: 1024
|
||||||
maxPlaceholderSize: 32
|
maxPlaceholderSize: 32
|
||||||
resizeAlgorithm: 0
|
resizeAlgorithm: 0
|
||||||
textureFormat: -1
|
textureFormat: -1
|
||||||
|
|||||||
File diff suppressed because it is too large.
Load diff
@@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: Cnkfty6pAXxrIyFDGh9xzfMeac7/wkbDRIfb8FYtlxxK93xOkE/ZO74=
|
||||||
|
PrefabImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -0,0 +1,197 @@
|
|||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:yousandi.cn,2023:
|
||||||
|
--- !u!1 &2737986478346178577
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 7
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 1960605782150938687}
|
||||||
|
- component: {fileID: 7696194782277025840}
|
||||||
|
- component: {fileID: 7464509331295443333}
|
||||||
|
m_Layer: 0
|
||||||
|
m_HasEditorInfo: 1
|
||||||
|
m_Name: "\u77DB"
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!4 &1960605782150938687
|
||||||
|
Transform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 2737986478346178577}
|
||||||
|
serializedVersion: 2
|
||||||
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
|
m_Children:
|
||||||
|
- {fileID: 848334787070880562}
|
||||||
|
m_Father: {fileID: 0}
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
--- !u!136 &7696194782277025840
|
||||||
|
CapsuleCollider:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 2737986478346178577}
|
||||||
|
m_Material: {fileID: 0}
|
||||||
|
m_IncludeLayers:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Bits: 0
|
||||||
|
m_ExcludeLayers:
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Bits: 0
|
||||||
|
m_LayerOverridePriority: 0
|
||||||
|
m_IsTrigger: 1
|
||||||
|
m_ProvidesContacts: 0
|
||||||
|
m_Enabled: 1
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Radius: 0.15
|
||||||
|
m_Height: 2.4
|
||||||
|
m_Direction: 2
|
||||||
|
m_Center: {x: 0, y: 0, z: 0}
|
||||||
|
--- !u!114 &7464509331295443333
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 2737986478346178577}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 8c91fecbd8f3443fab9c49d64a176a69, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
explosionPrefab: {fileID: 0}
|
||||||
|
useParabola: 1
|
||||||
|
parabolaHeight: 1
|
||||||
|
--- !u!1 &3684139984225480799
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 7
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 848334787070880562}
|
||||||
|
m_Layer: 0
|
||||||
|
m_HasEditorInfo: 1
|
||||||
|
m_Name: Model
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!4 &848334787070880562
|
||||||
|
Transform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 3684139984225480799}
|
||||||
|
serializedVersion: 2
|
||||||
|
m_LocalRotation: {x: 0.7071068, y: 0, z: 0, w: 0.7071068}
|
||||||
|
m_LocalPosition: {x: 0, y: 0, z: -1.2}
|
||||||
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
|
m_Children:
|
||||||
|
- {fileID: 5783367108751981183}
|
||||||
|
m_Father: {fileID: 1960605782150938687}
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
--- !u!1 &4030506361744548548
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 7
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 5783367108751981183}
|
||||||
|
- component: {fileID: 2636493951433660755}
|
||||||
|
- component: {fileID: 8539235892527197280}
|
||||||
|
m_Layer: 0
|
||||||
|
m_HasEditorInfo: 1
|
||||||
|
m_Name: default
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!4 &5783367108751981183
|
||||||
|
Transform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 4030506361744548548}
|
||||||
|
serializedVersion: 2
|
||||||
|
m_LocalRotation: {x: 0, y: -0, z: -0, w: 1}
|
||||||
|
m_LocalPosition: {x: -0, y: 0, z: 0}
|
||||||
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
|
m_Children: []
|
||||||
|
m_Father: {fileID: 848334787070880562}
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
--- !u!33 &2636493951433660755
|
||||||
|
MeshFilter:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 4030506361744548548}
|
||||||
|
m_Mesh: {fileID: -2432090755550338912, guid: b0bd5d25e17e3460aa3c0b95ab3d0b23, type: 3}
|
||||||
|
--- !u!23 &8539235892527197280
|
||||||
|
MeshRenderer:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 4030506361744548548}
|
||||||
|
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: dab9a58acadae4f108cb8909cdb4af6d, 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: 0
|
||||||
|
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
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: Cngdsi35VC5IyjkptGNyvgS3ZNUj2arHqV+mknkfB5ot6Bur8Kzzyhw=
|
||||||
|
PrefabImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -0,0 +1,322 @@
|
|||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:yousandi.cn,2023:
|
||||||
|
--- !u!1 &6836417283764118635
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 7
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 363022258710515080}
|
||||||
|
m_Layer: 0
|
||||||
|
m_HasEditorInfo: 1
|
||||||
|
m_Name: pos
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!4 &363022258710515080
|
||||||
|
Transform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 6836417283764118635}
|
||||||
|
serializedVersion: 2
|
||||||
|
m_LocalRotation: {x: 0.6149232, y: -0.3873518, z: 0.43194067, w: 0.534093}
|
||||||
|
m_LocalPosition: {x: -0.033, y: 0.016, z: -0.04}
|
||||||
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
|
m_ConstrainProportionsScale: 0
|
||||||
|
m_Children: []
|
||||||
|
m_Father: {fileID: 1953832374028754179}
|
||||||
|
m_LocalEulerAnglesHint: {x: 82.515, y: -244.373, z: -173.392}
|
||||||
|
--- !u!1001 &191619568455623371
|
||||||
|
PrefabInstance:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Modification:
|
||||||
|
serializedVersion: 3
|
||||||
|
m_TransformParent: {fileID: 0}
|
||||||
|
m_Modifications:
|
||||||
|
- target: {fileID: -8679921383154817045, guid: a5213c2a05540ba45839271da41c0177,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalPosition.x
|
||||||
|
value: -4.83
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: -8679921383154817045, guid: a5213c2a05540ba45839271da41c0177,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalPosition.y
|
||||||
|
value: 0.16
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: -8679921383154817045, guid: a5213c2a05540ba45839271da41c0177,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalPosition.z
|
||||||
|
value: -7.34
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: -8679921383154817045, guid: a5213c2a05540ba45839271da41c0177,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalRotation.w
|
||||||
|
value: 1
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: -8679921383154817045, guid: a5213c2a05540ba45839271da41c0177,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalRotation.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: -8679921383154817045, guid: a5213c2a05540ba45839271da41c0177,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalRotation.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: -8679921383154817045, guid: a5213c2a05540ba45839271da41c0177,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalRotation.z
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: -8679921383154817045, guid: a5213c2a05540ba45839271da41c0177,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: -8679921383154817045, guid: a5213c2a05540ba45839271da41c0177,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: -8679921383154817045, guid: a5213c2a05540ba45839271da41c0177,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.z
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 919132149155446097, guid: a5213c2a05540ba45839271da41c0177,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_Name
|
||||||
|
value: "\u8352\u91CE\u730E\u624B"
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 919132149155446097, guid: a5213c2a05540ba45839271da41c0177,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_TagString
|
||||||
|
value: Friend
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 5866666021909216657, guid: a5213c2a05540ba45839271da41c0177,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_Controller
|
||||||
|
value:
|
||||||
|
objectReference: {fileID: 22100000, guid: 4679c0a9b2def8c4ea4284e2b96c45f6,
|
||||||
|
type: 2}
|
||||||
|
m_RemovedComponents: []
|
||||||
|
m_RemovedGameObjects: []
|
||||||
|
m_AddedGameObjects:
|
||||||
|
- targetCorrespondingSourceObject: {fileID: 1852576806548013000, guid: a5213c2a05540ba45839271da41c0177,
|
||||||
|
type: 3}
|
||||||
|
insertIndex: -1
|
||||||
|
addedObject: {fileID: 363022258710515080}
|
||||||
|
m_AddedComponents:
|
||||||
|
- targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: a5213c2a05540ba45839271da41c0177,
|
||||||
|
type: 3}
|
||||||
|
insertIndex: -1
|
||||||
|
addedObject: {fileID: 6141292332977638874}
|
||||||
|
- targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: a5213c2a05540ba45839271da41c0177,
|
||||||
|
type: 3}
|
||||||
|
insertIndex: -1
|
||||||
|
addedObject: {fileID: 8581139391828332865}
|
||||||
|
- targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: a5213c2a05540ba45839271da41c0177,
|
||||||
|
type: 3}
|
||||||
|
insertIndex: -1
|
||||||
|
addedObject: {fileID: 7327850438053316823}
|
||||||
|
- targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: a5213c2a05540ba45839271da41c0177,
|
||||||
|
type: 3}
|
||||||
|
insertIndex: -1
|
||||||
|
addedObject: {fileID: 5957794876603811282}
|
||||||
|
- targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: a5213c2a05540ba45839271da41c0177,
|
||||||
|
type: 3}
|
||||||
|
insertIndex: -1
|
||||||
|
addedObject: {fileID: 851057282016607432}
|
||||||
|
- targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: a5213c2a05540ba45839271da41c0177,
|
||||||
|
type: 3}
|
||||||
|
insertIndex: -1
|
||||||
|
addedObject: {fileID: 7071587077432256825}
|
||||||
|
- targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: a5213c2a05540ba45839271da41c0177,
|
||||||
|
type: 3}
|
||||||
|
insertIndex: -1
|
||||||
|
addedObject: {fileID: 289440312317837195}
|
||||||
|
m_SourcePrefab: {fileID: 100100000, guid: a5213c2a05540ba45839271da41c0177, type: 3}
|
||||||
|
--- !u!1 &1038551587431292826 stripped
|
||||||
|
GameObject:
|
||||||
|
m_CorrespondingSourceObject: {fileID: 919132149155446097, guid: a5213c2a05540ba45839271da41c0177,
|
||||||
|
type: 3}
|
||||||
|
m_PrefabInstance: {fileID: 191619568455623371}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
--- !u!143 &6141292332977638874
|
||||||
|
CharacterController:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1038551587431292826}
|
||||||
|
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_Height: 2
|
||||||
|
m_Radius: 0.4
|
||||||
|
m_SlopeLimit: 45
|
||||||
|
m_StepOffset: 0.3
|
||||||
|
m_SkinWidth: 0.08
|
||||||
|
m_MinMoveDistance: 0.001
|
||||||
|
m_Center: {x: 0, y: 1, z: 0}
|
||||||
|
--- !u!195 &8581139391828332865
|
||||||
|
NavMeshAgent:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1038551587431292826}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_AgentTypeID: 0
|
||||||
|
m_Radius: 0.5
|
||||||
|
m_Speed: 2.2
|
||||||
|
m_Acceleration: 8
|
||||||
|
avoidancePriority: 50
|
||||||
|
m_AngularSpeed: 120
|
||||||
|
m_StoppingDistance: 0
|
||||||
|
m_AutoTraverseOffMeshLink: 1
|
||||||
|
m_AutoBraking: 1
|
||||||
|
m_AutoRepath: 1
|
||||||
|
m_Height: 2
|
||||||
|
m_BaseOffset: 0
|
||||||
|
m_WalkableMask: 4294967295
|
||||||
|
m_ObstacleAvoidanceType: 4
|
||||||
|
--- !u!114 &7327850438053316823
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1038551587431292826}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 15c30b8bf55ed47c38c74d59aa9fd021, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
maxHealth: 100
|
||||||
|
currentHealth: 100
|
||||||
|
maxShield: 0
|
||||||
|
currentShield: 0
|
||||||
|
showEnergyBar: 1
|
||||||
|
maxEnergy: 100
|
||||||
|
_currentEnergy: 0
|
||||||
|
heightOffset: 0.65
|
||||||
|
barWidth: 1.2
|
||||||
|
borderColor: {r: 0.03, g: 0.03, b: 0.03, a: 0.95}
|
||||||
|
deathEffectDuration: 1.1
|
||||||
|
deathEffectColor: {r: 0.55, g: 0.9, b: 1, a: 1}
|
||||||
|
canRevive: 0
|
||||||
|
showDamageNumbers: 1
|
||||||
|
damageNumberDuration: 0.8
|
||||||
|
damageNumberRiseHeight: 1.2
|
||||||
|
damageNumberSpawnHeight: 1.5
|
||||||
|
damageNumberSize: 0.09
|
||||||
|
unitLevel: 1
|
||||||
|
--- !u!114 &5957794876603811282
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1038551587431292826}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 66fc70939369642959b6b86bb733cdda, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
showStunIndicator: 1
|
||||||
|
indicatorHeight: 0.35
|
||||||
|
stunIndicatorPrefab: {fileID: 0}
|
||||||
|
isStunImmune: 0
|
||||||
|
--- !u!114 &851057282016607432
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1038551587431292826}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: d17bce049c6564368930cdcaba9b43c2, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
teamId: 0
|
||||||
|
--- !u!114 &7071587077432256825
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1038551587431292826}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: da330bbd52e2a424dbe6231c018a3c60, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
characterDataName: "\u8352\u91CE\u730E\u624BData"
|
||||||
|
level: 1
|
||||||
|
speed: 5
|
||||||
|
detectionRange: 30
|
||||||
|
attackRange: 6
|
||||||
|
modelFacingOffset: 90
|
||||||
|
attackPower: 10
|
||||||
|
critRate: 0
|
||||||
|
critMultiplier: 1.5
|
||||||
|
lifestealRate: 0
|
||||||
|
damageReductionRate: 0
|
||||||
|
skillChargeMultiplier: 1
|
||||||
|
attackDuration: 0
|
||||||
|
attackType: 2
|
||||||
|
projectilePrefab: {fileID: 2737986478346178577, guid: 52277d7ec0cc74b40afefb3e5728bd11,
|
||||||
|
type: 3}
|
||||||
|
projectileSpawnPoint: {fileID: 363022258710515080}
|
||||||
|
projectileSpeed: 16
|
||||||
|
projectileLifetime: 5
|
||||||
|
energyPerAttack: 20
|
||||||
|
targetSpreadBias: 6
|
||||||
|
summonerMode: 0
|
||||||
|
returnToAnchorWhenIdle: 0
|
||||||
|
anchorArrivalDistance: 0.35
|
||||||
|
useAnchorLeash: 0
|
||||||
|
useEngagementZLine: 1
|
||||||
|
engagementZThreshold: 10
|
||||||
|
target: {fileID: 0}
|
||||||
|
--- !u!114 &289440312317837195
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1038551587431292826}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 5ef566a8b0adb40e685898561f07fa26, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
skillSpearPrefab: {fileID: 2764558772763034019, guid: 530244b73621c4d668f5bec8e7630348,
|
||||||
|
type: 3}
|
||||||
|
damageBonusPerMeter: 0.05
|
||||||
|
maxDistanceBonus: 0.45
|
||||||
|
knockbackDistance: 2
|
||||||
|
--- !u!4 &1953832374028754179 stripped
|
||||||
|
Transform:
|
||||||
|
m_CorrespondingSourceObject: {fileID: 1852576806548013000, guid: a5213c2a05540ba45839271da41c0177,
|
||||||
|
type: 3}
|
||||||
|
m_PrefabInstance: {fileID: 191619568455623371}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: CSkes3+kUnt1SQHyOVEyQw2Nhjq+cLevrkUPfiqJxcIatp7suNKCRLc=
|
||||||
|
PrefabImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:yousandi.cn,2023:
|
||||||
|
--- !u!114 &11400000
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 0}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: d4c1ba65157c9401b8efe2032fe42e87, type: 3}
|
||||||
|
m_Name: "\u8352\u91CE\u730E\u624BData"
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
characterId: "\u8352\u91CE\u730E\u624B"
|
||||||
|
characterName: "\u8352\u91CE\u730E\u624B"
|
||||||
|
rarity: 2
|
||||||
|
description:
|
||||||
|
cardIcon: {fileID: 0}
|
||||||
|
unitPrefab: {fileID: 1038551587431292826, guid: 6c16e910108534ec9a7d007feb97fec6,
|
||||||
|
type: 3}
|
||||||
|
baseMaxHealth: 240
|
||||||
|
baseAttackPower: 28
|
||||||
|
baseMoveSpeed: 2.2
|
||||||
|
healthPerLevel: 22
|
||||||
|
attackPerLevel: 2.5
|
||||||
|
moveSpeedPerLevel: 0
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: DS9J4Cn4Bnrmd5m1Hp9jVs/NIHZsMAXoPIaLo5zTc95w+aJIlTuQhNo=
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 11400000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
Binary file not shown.
@@ -0,0 +1,343 @@
|
|||||||
|
using System.Collections;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using UnityEngine;
|
||||||
|
using UnityEngine.AI;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 荒野猎手技能:穿心猎矛体系(1/3/6/10 级完整阶梯)
|
||||||
|
/// 1级【穿心猎矛】:蓄力重投飞矛,自动锁定全场【距离自身最远的目标(优先狙杀敌方后排)】,造成 180% 物理伤害;且【距离越远伤害越高】(每相距 1 米额外提升 5% 伤害,最高 +45%)!附带金色破空流光特效!
|
||||||
|
/// 3级【极速重贯】:飞矛飞行速度 +40%,基础伤害提升至 230%,暴击率额外 +20%,远距离狙杀威慑力大增!
|
||||||
|
/// 6级【破阵震退】:蓄力重矛命中目标时产生破空震荡,【将其向后强力击退 2.0 米】(纯物理后退,打乱敌方后排阵型,且不产生眩晕冗余)!
|
||||||
|
/// 10级【绝命猎杀】:飞矛附带风暴雷霆之势,基础伤害飙升至 340% 极限制导高伤;【若成功斩杀目标,立即返还 50% 技能能量】,快速准备下一发致命狙杀!
|
||||||
|
/// </summary>
|
||||||
|
public class WildHunterSkill : UnitSkill
|
||||||
|
{
|
||||||
|
[Header("技能飞矛配置")]
|
||||||
|
[Tooltip("技能重矛预制体 (Assets/Prefabs/武器飞行物/技能重矛.prefab)")]
|
||||||
|
public GameObject skillSpearPrefab;
|
||||||
|
|
||||||
|
[Tooltip("每米增加的伤害比例 (默认 5%)")]
|
||||||
|
public float damageBonusPerMeter = 0.05f;
|
||||||
|
|
||||||
|
[Tooltip("距离伤害加成上限 (默认 45%)")]
|
||||||
|
public float maxDistanceBonus = 0.45f;
|
||||||
|
|
||||||
|
[Tooltip("6级击退距离 (米)")]
|
||||||
|
public float knockbackDistance = 2.0f;
|
||||||
|
|
||||||
|
private bool isSkillPending = false;
|
||||||
|
private GameObject currentSkillTarget;
|
||||||
|
|
||||||
|
private void EnsureUnit()
|
||||||
|
{
|
||||||
|
if (unit == null)
|
||||||
|
{
|
||||||
|
unit = GetComponent<UnitBase>();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 当能量蓄满时触发:锁定最远目标,播放投掷技能动作
|
||||||
|
/// </summary>
|
||||||
|
public override void ReleaseSkill()
|
||||||
|
{
|
||||||
|
EnsureUnit();
|
||||||
|
if (unit == null) return;
|
||||||
|
|
||||||
|
WorldHealthBar healthBar = unit.GetComponent<WorldHealthBar>();
|
||||||
|
if (healthBar == null || healthBar.IsDead) return;
|
||||||
|
|
||||||
|
// 1级核心机制:自动锁定全场距离自身最远的敌方目标(后排核心/远程单位)
|
||||||
|
currentSkillTarget = FindFurthestEnemy();
|
||||||
|
if (currentSkillTarget == null) return;
|
||||||
|
|
||||||
|
// 技能施法朝向:应用 unit.modelFacingOffset 保证与普攻一致的朝向修正
|
||||||
|
Vector3 toTarget = currentSkillTarget.transform.position - unit.transform.position;
|
||||||
|
toTarget.y = 0f;
|
||||||
|
if (toTarget.sqrMagnitude > 0.001f)
|
||||||
|
{
|
||||||
|
Quaternion targetRotation = Quaternion.LookRotation(toTarget.normalized, Vector3.up);
|
||||||
|
unit.transform.rotation = Quaternion.Euler(0f, targetRotation.eulerAngles.y + unit.modelFacingOffset, 0f);
|
||||||
|
}
|
||||||
|
isSkillPending = true;
|
||||||
|
|
||||||
|
// 播放投掷动画,由 OnSkillHit1 帧投出重矛
|
||||||
|
unit.PlaySkillAnimation(OnSkillAnimationFinished, 2.0f);
|
||||||
|
Debug.Log($"<color=orange>【荒野猎手】开始蓄力【穿心猎矛】!</color> 目标锁定全场最远敌方: {currentSkillTarget.name} (距离: {Vector3.Distance(unit.transform.position, currentSkillTarget.transform.position):F1}m)");
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 动画事件帧方法:在手臂向后蓄力后猛烈投掷的瞬间触发 (OnSkillHit1)
|
||||||
|
/// </summary>
|
||||||
|
public void OnSkillHit1()
|
||||||
|
{
|
||||||
|
if (!isSkillPending) return;
|
||||||
|
isSkillPending = false;
|
||||||
|
|
||||||
|
EnsureUnit();
|
||||||
|
if (unit == null) return;
|
||||||
|
|
||||||
|
GameObject opponent = (currentSkillTarget != null && currentSkillTarget.activeInHierarchy) ? currentSkillTarget : FindFurthestEnemy();
|
||||||
|
if (opponent == null) return;
|
||||||
|
|
||||||
|
int level = unit.level;
|
||||||
|
|
||||||
|
// 1. 确定重矛预制体 (技能重矛自带金色破空粒子拖尾 SparkleMissileYellow)
|
||||||
|
GameObject prefab = skillSpearPrefab;
|
||||||
|
#if UNITY_EDITOR
|
||||||
|
if (prefab == null)
|
||||||
|
{
|
||||||
|
prefab = UnityEditor.AssetDatabase.LoadAssetAtPath<GameObject>("Assets/Prefabs/武器飞行物/技能重矛.prefab");
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
if (prefab == null) prefab = unit.projectilePrefab;
|
||||||
|
if (prefab == null) return;
|
||||||
|
|
||||||
|
// 2. 确定出生点 (右手 pos)
|
||||||
|
Transform spawnPoint = unit.projectileSpawnPoint != null ? unit.projectileSpawnPoint : unit.transform;
|
||||||
|
Vector3 spawnPos = spawnPoint.position;
|
||||||
|
|
||||||
|
// 3. 计算伤害与距离加成 (1级 180%, 3级 230%, 10级 340%)
|
||||||
|
float baseMultiplier = 1.80f;
|
||||||
|
if (level >= 10) baseMultiplier = 3.40f;
|
||||||
|
else if (level >= 3) baseMultiplier = 2.30f;
|
||||||
|
|
||||||
|
float distance = Vector3.Distance(unit.transform.position, opponent.transform.position);
|
||||||
|
float distanceBonus = Mathf.Min(distance * damageBonusPerMeter, maxDistanceBonus);
|
||||||
|
float finalMultiplier = baseMultiplier * (1f + distanceBonus);
|
||||||
|
|
||||||
|
// 3级解锁:暴击率额外 +20%,飞行速度提升 40%
|
||||||
|
float spearSpeed = (level >= 3) ? (unit.projectileSpeed * 1.4f) : unit.projectileSpeed;
|
||||||
|
bool isCrit = (level >= 3) && (Random.value < (unit.critRate + 0.20f));
|
||||||
|
|
||||||
|
float totalDamage = unit.attackPower * finalMultiplier * (isCrit ? unit.critMultiplier : 1.0f);
|
||||||
|
|
||||||
|
// 4. 实例化技能重矛
|
||||||
|
Vector3 flatDirection = (opponent.transform.position - spawnPos);
|
||||||
|
flatDirection.y = 0f;
|
||||||
|
Quaternion rot = Quaternion.LookRotation(flatDirection.normalized, Vector3.up);
|
||||||
|
|
||||||
|
GameObject spearGo = Instantiate(prefab, spawnPos, rot);
|
||||||
|
|
||||||
|
// 5. 挂载技能专属落弹与结算处理脚本
|
||||||
|
var runner = spearGo.AddComponent<WildHunterSpearRunner>();
|
||||||
|
runner.Launch(opponent, spawnPos, totalDamage, unit, spearSpeed, level, knockbackDistance);
|
||||||
|
|
||||||
|
Debug.Log($"<color=yellow>【穿心猎矛】破空投出!</color> 目标: {opponent.name}, 基础倍率: {baseMultiplier * 100:F0}%, 距离加成: +{distanceBonus * 100:F0}%, 最终伤害: {totalDamage:F1} (等级: {level})");
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 寻找全场距离自身最远的存活敌方目标
|
||||||
|
/// </summary>
|
||||||
|
private GameObject FindFurthestEnemy()
|
||||||
|
{
|
||||||
|
if (unit == null) return null;
|
||||||
|
UnitTeam myTeam = unit.GetComponent<UnitTeam>();
|
||||||
|
|
||||||
|
var allTeams = Object.FindObjectsOfType<UnitTeam>();
|
||||||
|
GameObject furthestEnemy = null;
|
||||||
|
float maxDistanceSq = -1f;
|
||||||
|
|
||||||
|
Vector3 myPos = unit.transform.position;
|
||||||
|
|
||||||
|
foreach (var t in allTeams)
|
||||||
|
{
|
||||||
|
if (t == null || !t.gameObject.activeInHierarchy) continue;
|
||||||
|
|
||||||
|
bool isEnemy = (myTeam != null && myTeam.IsEnemy(t.gameObject))
|
||||||
|
|| (unit.CompareTag("Friend") && (t.CompareTag("Enemy") || t.gameObject.name.Contains("小怪") || t.gameObject.name.Contains("敌方")));
|
||||||
|
if (!isEnemy) continue;
|
||||||
|
|
||||||
|
var targetUnit = t.GetComponentInParent<UnitBase>();
|
||||||
|
if (targetUnit != null && targetUnit.IsDead) continue;
|
||||||
|
var bar = t.GetComponentInParent<WorldHealthBar>();
|
||||||
|
if (bar != null && bar.IsDead) continue;
|
||||||
|
|
||||||
|
GameObject enemyGo = targetUnit != null ? targetUnit.gameObject : t.gameObject;
|
||||||
|
float distSq = (enemyGo.transform.position - myPos).sqrMagnitude;
|
||||||
|
if (distSq > maxDistanceSq)
|
||||||
|
{
|
||||||
|
maxDistanceSq = distSq;
|
||||||
|
furthestEnemy = enemyGo;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return furthestEnemy != null ? furthestEnemy : unit.Target;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnSkillAnimationFinished()
|
||||||
|
{
|
||||||
|
isSkillPending = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnDestroy()
|
||||||
|
{
|
||||||
|
isSkillPending = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 负责技能重矛的抛物线飞行、目标命中、距离伤害结算、6级后仰击退与10级击杀返还能量
|
||||||
|
/// </summary>
|
||||||
|
public class WildHunterSpearRunner : MonoBehaviour
|
||||||
|
{
|
||||||
|
private GameObject target;
|
||||||
|
private float damage;
|
||||||
|
private UnitBase ownerUnit;
|
||||||
|
private float speed;
|
||||||
|
private int skillLevel;
|
||||||
|
private float knockbackDist;
|
||||||
|
private bool hasHit = false;
|
||||||
|
|
||||||
|
private Vector3 startPosition;
|
||||||
|
private float totalDistance;
|
||||||
|
private float traveledDistance;
|
||||||
|
|
||||||
|
public void Launch(GameObject targetObj, Vector3 startPos, float totalDmg, UnitBase owner, float moveSpeed, int level, float kbDist)
|
||||||
|
{
|
||||||
|
target = targetObj;
|
||||||
|
damage = totalDmg;
|
||||||
|
ownerUnit = owner;
|
||||||
|
speed = moveSpeed > 5f ? moveSpeed : 18f;
|
||||||
|
skillLevel = level;
|
||||||
|
knockbackDist = kbDist;
|
||||||
|
|
||||||
|
// 接管飞行,禁用自带的普通直线 Projectile 组件
|
||||||
|
var defaultProj = GetComponent<Projectile>();
|
||||||
|
if (defaultProj != null) defaultProj.enabled = false;
|
||||||
|
|
||||||
|
startPosition = startPos;
|
||||||
|
traveledDistance = 0f;
|
||||||
|
if (targetObj != null)
|
||||||
|
{
|
||||||
|
Vector3 diff = targetObj.transform.position - startPosition;
|
||||||
|
diff.y = 0f;
|
||||||
|
totalDistance = Mathf.Max(0.5f, diff.magnitude);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
totalDistance = 10f;
|
||||||
|
}
|
||||||
|
|
||||||
|
Destroy(gameObject, 5f);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void Update()
|
||||||
|
{
|
||||||
|
if (hasHit) return;
|
||||||
|
|
||||||
|
if (target == null || !target.activeInHierarchy)
|
||||||
|
{
|
||||||
|
Destroy(gameObject);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
Vector3 targetCurrentPos = target.transform.position;
|
||||||
|
Vector3 offset = targetCurrentPos - transform.position;
|
||||||
|
Vector3 flatOffset = new Vector3(offset.x, 0f, offset.z);
|
||||||
|
|
||||||
|
float step = speed * Time.deltaTime;
|
||||||
|
traveledDistance += step;
|
||||||
|
|
||||||
|
if (step >= flatOffset.magnitude || flatOffset.sqrMagnitude <= 0.05f)
|
||||||
|
{
|
||||||
|
HitTargetAndExecuteEffects(target);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 自然抛物线推进
|
||||||
|
float t = Mathf.Clamp01(traveledDistance / totalDistance);
|
||||||
|
Vector3 groundPos = Vector3.Lerp(new Vector3(startPosition.x, 0.1f, startPosition.z), new Vector3(targetCurrentPos.x, 0.1f, targetCurrentPos.z), t);
|
||||||
|
|
||||||
|
float startY = startPosition.y;
|
||||||
|
float targetY = targetCurrentPos.y + 0.8f;
|
||||||
|
float baseY = Mathf.Lerp(startY, targetY, t);
|
||||||
|
float arcY = 4f * 1.35f * t * (1f - t); // 1.35m 拱起高度
|
||||||
|
Vector3 nextPos = new Vector3(groundPos.x, baseY + arcY, groundPos.z);
|
||||||
|
|
||||||
|
// 矛头朝向飞行轨迹切线
|
||||||
|
Vector3 velocity = nextPos - transform.position;
|
||||||
|
if (velocity.sqrMagnitude > 1e-5f)
|
||||||
|
{
|
||||||
|
transform.rotation = Quaternion.LookRotation(velocity.normalized, Vector3.up);
|
||||||
|
}
|
||||||
|
|
||||||
|
transform.position = nextPos;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void HitTargetAndExecuteEffects(GameObject hitTarget)
|
||||||
|
{
|
||||||
|
if (hasHit) return;
|
||||||
|
hasHit = true;
|
||||||
|
|
||||||
|
UnitBase targetUnit = hitTarget.GetComponentInParent<UnitBase>();
|
||||||
|
WorldHealthBar targetBar = hitTarget.GetComponentInParent<WorldHealthBar>();
|
||||||
|
if (targetBar == null && targetUnit != null)
|
||||||
|
{
|
||||||
|
targetBar = targetUnit.GetComponent<WorldHealthBar>();
|
||||||
|
}
|
||||||
|
|
||||||
|
float hpBefore = targetBar != null ? targetBar.currentHealth : 0f;
|
||||||
|
|
||||||
|
// 1. 造成伤害
|
||||||
|
if (targetUnit != null)
|
||||||
|
{
|
||||||
|
targetUnit.ReceiveDamage(damage, ownerUnit != null ? ownerUnit.gameObject : null);
|
||||||
|
}
|
||||||
|
else if (targetBar != null)
|
||||||
|
{
|
||||||
|
targetBar.TakeDamage(damage, ownerUnit != null ? ownerUnit.gameObject : null);
|
||||||
|
}
|
||||||
|
|
||||||
|
Debug.Log($"<color=yellow>【穿心猎矛】命中!</color> 目标: {hitTarget.name}, 承受伤害: {damage:F1} (目标血量: {hpBefore:F1} -> {(targetBar != null ? targetBar.currentHealth : 0f):F1})");
|
||||||
|
|
||||||
|
// 2. 6级解锁【破阵震退】:后仰强力击退 2.0 米(顺着投矛飞行方向向后推)
|
||||||
|
if (skillLevel >= 6 && hitTarget != null && hitTarget.activeInHierarchy)
|
||||||
|
{
|
||||||
|
Vector3 pushDir = (hitTarget.transform.position - startPosition);
|
||||||
|
pushDir.y = 0f;
|
||||||
|
if (pushDir.sqrMagnitude < 0.001f) pushDir = Vector3.forward;
|
||||||
|
pushDir.Normalize();
|
||||||
|
|
||||||
|
ApplySmoothKnockback(hitTarget, pushDir * knockbackDist);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 3. 10级解锁【绝命猎杀】:若成功斩杀目标,立即返还 50% 技能能量
|
||||||
|
bool isKilled = (targetBar != null && (targetBar.IsDead || targetBar.currentHealth <= 0f)) || (targetUnit != null && targetUnit.IsDead);
|
||||||
|
if (skillLevel >= 10 && isKilled && ownerUnit != null)
|
||||||
|
{
|
||||||
|
WorldHealthBar ownerBar = ownerUnit.GetComponent<WorldHealthBar>();
|
||||||
|
if (ownerBar != null)
|
||||||
|
{
|
||||||
|
// 返还 50% 能量(即 50 点技能充能)
|
||||||
|
ownerBar.currentEnergy = Mathf.Clamp(ownerBar.currentEnergy + ownerBar.maxEnergy * 0.50f, 0f, ownerBar.maxEnergy);
|
||||||
|
Debug.Log($"<color=cyan>【绝命猎杀】成功斩杀后排目标!</color> 立即返还 50% 技能能量!(当前能量: {ownerBar.currentEnergy:F0}/{ownerBar.maxEnergy:F0})");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Destroy(gameObject);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void ApplySmoothKnockback(GameObject victim, Vector3 displacement)
|
||||||
|
{
|
||||||
|
NavMeshAgent agent = victim.GetComponent<NavMeshAgent>();
|
||||||
|
Vector3 targetPos = victim.transform.position + displacement;
|
||||||
|
|
||||||
|
// 利用 NavMesh 采样保证不推出边界或障碍物
|
||||||
|
if (NavMesh.SamplePosition(targetPos, out NavMeshHit hit, 2.0f, NavMesh.AllAreas))
|
||||||
|
{
|
||||||
|
targetPos = hit.position;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (agent != null && agent.enabled && agent.isOnNavMesh)
|
||||||
|
{
|
||||||
|
agent.Warp(targetPos);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
victim.transform.position = targetPos;
|
||||||
|
}
|
||||||
|
|
||||||
|
Debug.Log($"<color=orange>【破阵震退】触发!</color> 目标 {victim.name} 被重矛强力震退 {displacement.magnitude:F1} 米!");
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: Ci9JsCyrAnOV0Wkgm0Ge0UhdD9F0uLHn/+8LRyJJlz3lAohHk0flNZI=
|
||||||
|
MonoImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 2
|
||||||
|
defaultReferences: []
|
||||||
|
executionOrder: 0
|
||||||
|
icon: {instanceID: 0}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -5,6 +5,10 @@ public class Projectile : MonoBehaviour
|
|||||||
[Header("爆炸效果(可选)")]
|
[Header("爆炸效果(可选)")]
|
||||||
public GameObject explosionPrefab; // 爆炸特效预制体,留空则没有爆炸效果
|
public GameObject explosionPrefab; // 爆炸特效预制体,留空则没有爆炸效果
|
||||||
|
|
||||||
|
[Header("抛物线飞行(可选)")]
|
||||||
|
public bool useParabola = false; // 是否启用小抛物线飞行
|
||||||
|
public float parabolaHeight = 1.0f; // 抛物线最高拱起高度 (不太高的抛物线)
|
||||||
|
|
||||||
private GameObject target;
|
private GameObject target;
|
||||||
private GameObject owner;
|
private GameObject owner;
|
||||||
private float damage;
|
private float damage;
|
||||||
@@ -13,6 +17,9 @@ public class Projectile : MonoBehaviour
|
|||||||
private bool registerEnergyOnHit;
|
private bool registerEnergyOnHit;
|
||||||
private bool initialized;
|
private bool initialized;
|
||||||
private bool hasHit;
|
private bool hasHit;
|
||||||
|
private Vector3 startPosition;
|
||||||
|
private float totalFlyDistance;
|
||||||
|
private float horizontalTraveled;
|
||||||
|
|
||||||
public void Initialize(
|
public void Initialize(
|
||||||
GameObject targetObject,
|
GameObject targetObject,
|
||||||
@@ -31,6 +38,19 @@ public class Projectile : MonoBehaviour
|
|||||||
initialized = true;
|
initialized = true;
|
||||||
hasHit = false;
|
hasHit = false;
|
||||||
|
|
||||||
|
startPosition = transform.position;
|
||||||
|
horizontalTraveled = 0f;
|
||||||
|
if (targetObject != null)
|
||||||
|
{
|
||||||
|
Vector3 diff = targetObject.transform.position - startPosition;
|
||||||
|
diff.y = 0f;
|
||||||
|
totalFlyDistance = Mathf.Max(0.1f, diff.magnitude);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
totalFlyDistance = 10f;
|
||||||
|
}
|
||||||
|
|
||||||
// The projectile uses its own raycast hit check. Disable the collider so
|
// The projectile uses its own raycast hit check. Disable the collider so
|
||||||
// it cannot be destroyed or disturbed by the owner's launch socket.
|
// it cannot be destroyed or disturbed by the owner's launch socket.
|
||||||
foreach (var collider in GetComponentsInChildren<Collider>(true))
|
foreach (var collider in GetComponentsInChildren<Collider>(true))
|
||||||
@@ -57,27 +77,56 @@ public class Projectile : MonoBehaviour
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 目标根节点位于脚底,只取水平差值,让箭保持当前高度平行飞行。
|
Vector3 targetCurrentPos = target.transform.position;
|
||||||
Vector3 offset = target.transform.position - transform.position;
|
Vector3 offset = targetCurrentPos - transform.position;
|
||||||
offset.y = 0f;
|
Vector3 flatOffset = new Vector3(offset.x, 0f, offset.z);
|
||||||
if (offset.sqrMagnitude <= 0.01f)
|
|
||||||
|
if (flatOffset.sqrMagnitude <= 0.04f)
|
||||||
{
|
{
|
||||||
HitTarget(target);
|
HitTarget(target);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
Vector3 direction = offset.normalized;
|
Vector3 direction = flatOffset.normalized;
|
||||||
float distance = speed * Time.deltaTime;
|
float step = speed * Time.deltaTime;
|
||||||
if (distance >= offset.magnitude)
|
horizontalTraveled += step;
|
||||||
|
|
||||||
|
if (step >= flatOffset.magnitude)
|
||||||
{
|
{
|
||||||
HitTarget(target);
|
HitTarget(target);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 投射物保持水平飞行,并让根节点前方始终指向当前目标。
|
Vector3 nextPos;
|
||||||
|
if (useParabola && totalFlyDistance > 0.1f)
|
||||||
|
{
|
||||||
|
// 水平线性推进
|
||||||
|
float t = Mathf.Clamp01(horizontalTraveled / totalFlyDistance);
|
||||||
|
Vector3 groundPos = Vector3.Lerp(new Vector3(startPosition.x, 0.1f, startPosition.z), new Vector3(targetCurrentPos.x, 0.1f, targetCurrentPos.z), t);
|
||||||
|
|
||||||
|
// 抛物线高度:基础发射高度渐变 + 4 * h * t * (1 - t) 抛物线弧度
|
||||||
|
float startY = startPosition.y;
|
||||||
|
float targetY = targetCurrentPos.y + 0.8f;
|
||||||
|
float baseY = Mathf.Lerp(startY, targetY, t);
|
||||||
|
float arcY = 4f * parabolaHeight * t * (1f - t);
|
||||||
|
nextPos = new Vector3(groundPos.x, baseY + arcY, groundPos.z);
|
||||||
|
|
||||||
|
// 矛身旋转:朝向移动切线方向,矛头顺着抛物线弧度自然俯仰
|
||||||
|
Vector3 velocity = (nextPos - transform.position);
|
||||||
|
if (velocity.sqrMagnitude > 1e-6f)
|
||||||
|
{
|
||||||
|
transform.rotation = Quaternion.LookRotation(velocity.normalized, Vector3.up);
|
||||||
|
}
|
||||||
|
transform.position = nextPos;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// 水平直线飞行
|
||||||
transform.rotation = Quaternion.LookRotation(direction, Vector3.up);
|
transform.rotation = Quaternion.LookRotation(direction, Vector3.up);
|
||||||
|
transform.position += direction * step;
|
||||||
|
}
|
||||||
|
|
||||||
if (Physics.Raycast(transform.position, direction, out RaycastHit hit, distance))
|
if (Physics.Raycast(transform.position, direction, out RaycastHit hit, step))
|
||||||
{
|
{
|
||||||
TryHit(hit.collider.gameObject);
|
TryHit(hit.collider.gameObject);
|
||||||
if (hit.collider.transform.root == target.transform.root)
|
if (hit.collider.transform.root == target.transform.root)
|
||||||
@@ -85,10 +134,6 @@ public class Projectile : MonoBehaviour
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 火球保持 Prefab 固定角度,不随飞行方向旋转
|
|
||||||
// transform.forward = direction;
|
|
||||||
transform.position += direction * distance;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OnTriggerEnter(Collider other)
|
private void OnTriggerEnter(Collider other)
|
||||||
|
|||||||
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: XX5M4yuqBilSuftrblo47vfUuQWkvt3aRHWDJTmRuN14lSKAtACCuqY=
|
||||||
|
folderAsset: yes
|
||||||
|
DefaultImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
+14462
File diff suppressed because it is too large.
Load diff
Vendored
+8
@@ -0,0 +1,8 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: f94ec02294964701b2f32869f486556f
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 100100000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
Binary file not shown.
@@ -0,0 +1,22 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 11517f1b820a4b4d9ad956603e095731
|
||||||
|
AudioImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
serializedVersion: 6
|
||||||
|
defaultSettings:
|
||||||
|
loadType: 0
|
||||||
|
sampleRateSetting: 0
|
||||||
|
sampleRateOverride: 44100
|
||||||
|
compressionFormat: 1
|
||||||
|
quality: 1
|
||||||
|
conversionMode: 0
|
||||||
|
platformSettingOverrides: {}
|
||||||
|
forceToMono: 0
|
||||||
|
normalize: 1
|
||||||
|
preloadAudioData: 1
|
||||||
|
loadInBackground: 0
|
||||||
|
ambisonic: 0
|
||||||
|
3D: 1
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@@ -131,7 +131,8 @@
|
|||||||
- [2026-10-03 23:38:14] DefenseTest场景已改造为开局布阵模式:玩家开局拖动英雄卡到3行6列后三排网格(BackZ=-15),点击开始战斗按钮后开始波次,每波结束英雄回到初始位置。不再预先配置阵容到JSON。已创建DefenseGameFlowController和GridLineVisualizer(红线可视化网格,Y=0.5)。StartBattleButton在BottomUI下。
|
- [2026-10-03 23:38:14] DefenseTest场景已改造为开局布阵模式:玩家开局拖动英雄卡到3行6列后三排网格(BackZ=-15),点击开始战斗按钮后开始波次,每波结束英雄回到初始位置。不再预先配置阵容到JSON。已创建DefenseGameFlowController和GridLineVisualizer(红线可视化网格,Y=0.5)。StartBattleButton在BottomUI下。
|
||||||
- [2026-10-04 09:28:04] 2026-10-04 DefenseTest 开局卡牌拖动修复完成:根本原因是 BattleFormationSpawner 在 Start() 时自动生成英雄(法师/弓箭手),DefenseGameFlowController.InitializeCardDrag() 需要的 HeroRoster.asset 因损坏无法加载。修复方案:1) 重新创建 HeroRoster.asset 包含5个英雄并正确设置 unitPrefab 引用;2) 在场景中禁用 BattleFormationSpawner 组件,塔防版不需要自动生成初始英雄;3) DefenseGameFlowController.roster 字段在场景中配置 HeroRoster 引用。现在开局场上无单位,5张卡片均可拖动,HeroCardDrag 组件和 CanvasGroup 已自动配置。
|
- [2026-10-04 09:28:04] 2026-10-04 DefenseTest 开局卡牌拖动修复完成:根本原因是 BattleFormationSpawner 在 Start() 时自动生成英雄(法师/弓箭手),DefenseGameFlowController.InitializeCardDrag() 需要的 HeroRoster.asset 因损坏无法加载。修复方案:1) 重新创建 HeroRoster.asset 包含5个英雄并正确设置 unitPrefab 引用;2) 在场景中禁用 BattleFormationSpawner 组件,塔防版不需要自动生成初始英雄;3) DefenseGameFlowController.roster 字段在场景中配置 HeroRoster 引用。现在开局场上无单位,5张卡片均可拖动,HeroCardDrag 组件和 CanvasGroup 已自动配置。
|
||||||
- [2026-10-04 10:15:39] 2026-10-04 DefenseTest 布阵拖拽系统重做完成。DeployGrid 常量改为 6列×5行、ColStep=2.8、RowStep=3.0、BackZ=-9(旧值 -15 落在 NavMesh 之外,单位会卡住)。战场/部署网格 的30个格位由 DefenseGameFlowController.AlignGridCells 按命名「格位_行_列」自动摆到 DeployGrid 坐标,布阵阶段显示、开战隐藏。新增 DeployHighlight(绿=可放/红=已占用,公开 IsVisible/IsBlocked/ShownCell),HeroCardDrag 重写为「生成半透明英雄幽灵跟随指针 + 平面射线吸附格位」,DefenseGameFlowController 增加 Instance/IsDeployPhase/PlaceHeroFromCard/IsCellOccupied/IsCardPlaced/RemoveHeroAt,点击已放置英雄可撤回(Update 里 Physics.Raycast 命中 UnitBase)。场景新增 StartBattleButton(Canvas 根、bottom-center、y=360、圆角绿底),deploymentUI 必须保持 null——英雄卡面板战斗中要一直显示血量/复活。血条隐藏要操作 WorldHealthBar.Awake 生成的子物体 "WorldHealthBar",不是组件所在的对象。
|
- [2026-10-04 10:15:39] 2026-10-04 DefenseTest 布阵拖拽系统重做完成。DeployGrid 常量改为 6列×5行、ColStep=2.8、RowStep=3.0、BackZ=-9(旧值 -15 落在 NavMesh 之外,单位会卡住)。战场/部署网格 的30个格位由 DefenseGameFlowController.AlignGridCells 按命名「格位_行_列」自动摆到 DeployGrid 坐标,布阵阶段显示、开战隐藏。新增 DeployHighlight(绿=可放/红=已占用,公开 IsVisible/IsBlocked/ShownCell),HeroCardDrag 重写为「生成半透明英雄幽灵跟随指针 + 平面射线吸附格位」,DefenseGameFlowController 增加 Instance/IsDeployPhase/PlaceHeroFromCard/IsCellOccupied/IsCardPlaced/RemoveHeroAt,点击已放置英雄可撤回(Update 里 Physics.Raycast 命中 UnitBase)。场景新增 StartBattleButton(Canvas 根、bottom-center、y=360、圆角绿底),deploymentUI 必须保持 null——英雄卡面板战斗中要一直显示血量/复活。血条隐藏要操作 WorldHealthBar.Awake 生成的子物体 "WorldHealthBar",不是组件所在的对象。
|
||||||
- [2026-10-04 11:15:47] 2026-10-04 DefenseTest 布阵区域改为 4×4 并与用户新建的 Plane 完全重合。DeployGrid 常量:Cols=4、Rows=4、ColStep=2.875、RowStep=2.8、BackZ=-14.2、CellWidth=2.815、CellDepth=2.74、GridY=0.115、UnitY=0.10(对齐重烘后的 NavMesh)。Plane 原在 y=0.5 会挡住单位,已降到 y=0.09 并放入 Buildings 层(layer 8)排除烘焙;NavMeshSurface 体积改为 center=(0,1,12) size=(28,12,62) 重烘,NavMesh 高度由 0.16 变 0.095,DefenseWaveLevelController.spawnY 同步改为 0.1。开始游戏按钮改为顶部居中(anchor 上中、anchoredPosition y=-170、420×120)。注意:BattlePlatform 实际只覆盖 Z -22.8..17.2,所以 NavMesh 远端也就到 ~16.9,敌人 spawnZ=20 本身在地面之外(靠 NavMeshAgent 自动吸附),这是既有行为。
|
- [2026-10-14 00:09:44] 2026-10-04 起 DefenseTest 布阵区域,2026-10-14 由 4×4 改为 **5 列 × 4 行 = 20 格位**,与用户新建的布阵 Plane 完全重合。DeployGrid.cs(Assets/Scripts/数据脚本)常量:Cols=5、Rows=4、ColStep=2.30、RowStep=2.80、BackZ=-14.2、CellWidth=2.22、CellDepth=2.74、GridY=0.115、UnitY=0.10(对齐重烘后的 NavMesh),覆盖 X ∈ [-5.75, 5.75]、Z ∈ [-15.6, -4.4]。Plane y=0.09 放入 Buildings 层(layer 8)排除烘焙;NavMeshSurface 体积 center=(0,1,12) size=(28,12,62),NavMesh 高度 0.095,DefenseWaveLevelController.spawnY=0.1。开始游戏按钮顶部居中(anchor 上中、anchoredPosition y=-170、420×120)。注意:BattlePlatform 实际只覆盖 Z -22.8..17.2,NavMesh 远端约到 ~16.9,敌人 spawnZ=20 在地面之外(靠 NavMeshAgent 自动吸附),这是既有行为。
|
||||||
|
|
||||||
- [2026-10-04 13:12:11] 2026-10-04 英雄打完归位改为"走回去"(正常速度),去掉瞬移。关键坑:UnitBase.Start 里 `navAgent.stoppingDistance = attackRange*0.95` 会让 agent 在到达锚点前就认为"已到达"而停住(法师 5.7 米、盾卫 0.95 米都远大于 anchorArrivalDistance 0.35),所以"走回锚点"以前根本走不到——这正是当初只能瞬移的原因。修法:ReturnToAnchor 里把 stoppingDistance 设 0,RestoreIdleSpeed/move() 里恢复 NormalStoppingDistance。另新增 useAnchorLeash/anchorLeashDistance(英雄设为 10 米,DefenseGameFlowController.heroLeashDistance 控制),目标距锚点超过上限就不追,避免一路推到 Z≈16。DefenseGameFlowController.ResetHeroPositions 现在只清 target 让 UnitBase 自己走回,仅当 NavMesh.SamplePosition 找不到落脚点(真卡住)才瞬移兜底。
|
- [2026-10-04 13:12:11] 2026-10-04 英雄打完归位改为"走回去"(正常速度),去掉瞬移。关键坑:UnitBase.Start 里 `navAgent.stoppingDistance = attackRange*0.95` 会让 agent 在到达锚点前就认为"已到达"而停住(法师 5.7 米、盾卫 0.95 米都远大于 anchorArrivalDistance 0.35),所以"走回锚点"以前根本走不到——这正是当初只能瞬移的原因。修法:ReturnToAnchor 里把 stoppingDistance 设 0,RestoreIdleSpeed/move() 里恢复 NormalStoppingDistance。另新增 useAnchorLeash/anchorLeashDistance(英雄设为 10 米,DefenseGameFlowController.heroLeashDistance 控制),目标距锚点超过上限就不追,避免一路推到 Z≈16。DefenseGameFlowController.ResetHeroPositions 现在只清 target 让 UnitBase 自己走回,仅当 NavMesh.SamplePosition 找不到落脚点(真卡住)才瞬移兜底。
|
||||||
- [2026-10-04 14:12:16] 2026-10-04 DefenseTest 两处修正:1) 阵位守护距离不再单开字段,直接用 UnitBase.detectionRange(已删除 anchorLeashDistance / heroLeashDistance;DefenseGameFlowController 只留开关 heroGuardPost=true,新 bool 字段在旧场景里会反序列化成 false,必须显式写进场景)。出战 5 个英雄 Prefab 的 detectionRange 已从 30/50 调到 10(弓箭手 12)。2) 底部英雄卡的角色改回从 PlayerData.json 的 currentDeck 读(站位不再读),卡面(头像/名字/稀有度)用同一份 CharacterData 刷新(新增 HeroCardUI.SetCharacterInfo,区别于绑定单位的 SetHero),否则会出现「卡面显示人类士兵、拖出来却是法师」的不一致;PlayerData 读不到时兜底用 HeroRoster。注意 CharacterData 里有些角色(荒野之王/荒野流寇等)unitPrefab 为空,不能出战,取阵容时要跳过。
|
- [2026-10-04 14:12:16] 2026-10-04 DefenseTest 两处修正:1) 阵位守护距离不再单开字段,直接用 UnitBase.detectionRange(已删除 anchorLeashDistance / heroLeashDistance;DefenseGameFlowController 只留开关 heroGuardPost=true,新 bool 字段在旧场景里会反序列化成 false,必须显式写进场景)。出战 5 个英雄 Prefab 的 detectionRange 已从 30/50 调到 10(弓箭手 12)。2) 底部英雄卡的角色改回从 PlayerData.json 的 currentDeck 读(站位不再读),卡面(头像/名字/稀有度)用同一份 CharacterData 刷新(新增 HeroCardUI.SetCharacterInfo,区别于绑定单位的 SetHero),否则会出现「卡面显示人类士兵、拖出来却是法师」的不一致;PlayerData 读不到时兜底用 HeroRoster。注意 CharacterData 里有些角色(荒野之王/荒野流寇等)unitPrefab 为空,不能出战,取阵容时要跳过。
|
||||||
- [2026-10-04 23:19:03] - [2026-10-04 22:20:00] CharacterData 真实字段名(猜错会导致 exec_editor_script 编译失败):baseMaxHealth / baseAttackPower / baseMoveSpeed / healthPerLevel / attackPerLevel / moveSpeedPerLevel / characterId / characterName / cardIcon / rarity / unitPrefab / description。**不存在** baseHealth / baseAttack。UnitBase 的“角色数据”字段是字符串 characterDataName,运行时 Resources.Load<CharacterData>($"Data/{name}"),资产放在 Assets/Resources/Data。
|
- [2026-10-04 23:19:03] - [2026-10-04 22:20:00] CharacterData 真实字段名(猜错会导致 exec_editor_script 编译失败):baseMaxHealth / baseAttackPower / baseMoveSpeed / healthPerLevel / attackPerLevel / moveSpeedPerLevel / characterId / characterName / cardIcon / rarity / unitPrefab / description。**不存在** baseHealth / baseAttack。UnitBase 的“角色数据”字段是字符串 characterDataName,运行时 Resources.Load<CharacterData>($"Data/{name}"),资产放在 Assets/Resources/Data。
|
||||||
@@ -158,6 +159,8 @@
|
|||||||
- [2026-10-12 17:01:19] 2026-10-12 法师重构为阶梯技能体系 (CastleMageSkill.cs),包含 FireballSharpMissileFire 飞弹、MagicExplosionFire 爆破及 FireFieldRed 地面持续灼烧火海特效。
|
- [2026-10-12 17:01:19] 2026-10-12 法师重构为阶梯技能体系 (CastleMageSkill.cs),包含 FireballSharpMissileFire 飞弹、MagicExplosionFire 爆破及 FireFieldRed 地面持续灼烧火海特效。
|
||||||
- [2026-10-12 22:31:36] 2026-10-12 精锐士兵刺客重构完毕:EliteSoldierSkill.cs 实现1级直接飞天斩后排(跃起劈砍.fbx第0帧立刻起跳、0.95s第30帧精准落地扑向敌方最远后排重劈200%);3级250%伤害且落地+35%移速;6级影袭破防眩晕1.2s;10级击杀目标后0.25s立即再次腾空连斩下一个后排(最多3连斩)。飞跃期间必须关闭 animator.applyRootMotion = false 与 navAgent.enabled = false,彻底消除动画根运动与抛物线位移打架造成的连斩异常漂移。
|
- [2026-10-12 22:31:36] 2026-10-12 精锐士兵刺客重构完毕:EliteSoldierSkill.cs 实现1级直接飞天斩后排(跃起劈砍.fbx第0帧立刻起跳、0.95s第30帧精准落地扑向敌方最远后排重劈200%);3级250%伤害且落地+35%移速;6级影袭破防眩晕1.2s;10级击杀目标后0.25s立即再次腾空连斩下一个后排(最多3连斩)。飞跃期间必须关闭 animator.applyRootMotion = false 与 navAgent.enabled = false,彻底消除动画根运动与抛物线位移打架造成的连斩异常漂移。
|
||||||
- [2026-10-13 15:47:12] 2026-10-12 第二章原弓箭猎人重构为荒野猎手(投矛手):远程投掷重矛,核心技能锁定大范围内距离最远的目标超远狙杀(越远伤害越高),6级升级为直线贯穿+最远目标击退2米(移除眩晕),10级击杀返还50%能量与范围爆裂。文档已同步更新。
|
- [2026-10-13 15:47:12] 2026-10-12 第二章原弓箭猎人重构为荒野猎手(投矛手):远程投掷重矛,核心技能锁定大范围内距离最远的目标超远狙杀(越远伤害越高),6级升级为直线贯穿+最远目标击退2米(移除眩晕),10级击杀返还50%能量与范围爆裂。文档已同步更新。
|
||||||
|
- [2026-10-13 23:28:05] 2026-10-13 新英雄荒野猎手基础搭建完成:制作矛预制体 (Assets/Prefabs/武器飞行物/矛.prefab),Projectile 支持抛物线投掷 (useParabola=true, parabolaHeight=1.0m,飞行中根据轨迹切线自动俯仰矛头);创建荒野猎手Data.asset与预制体 (Assets/Prefabs/第二章/荒野猎手.prefab),挂载CharacterController、NavMeshAgent、WorldHealthBar、StatusEffectController、UnitTeam、UnitBase;攻击类型为RangedProjectile,射程6m,投矛出生点绑定右手骨骼下的pos节点。PlayMode投矛抛物线轨迹验证通过。
|
||||||
|
- [2026-10-13 23:54:42] 2026-10-13 荒野猎手阶梯技能实装完毕:文档与WildHunterSkill.cs已更新。按需求移除6级穿透杂兵伤害与10级群体爆裂;1级穿心猎矛自动制导后排最远目标(每米+5%伤害上限+45%);3级速度+40%、暴击+20%、伤害230%;6级后排目标后仰击退2.0米(NavMesh.Warp安全后推,无眩晕);10级伤害340%且斩杀立即返还50%技能能量;技能重矛挂载SparkleMissileYellow金色流光拖尾粒子。全流程PlayMode测试验证通过。
|
||||||
|
|
||||||
### Reference
|
### Reference
|
||||||
- [2026-09-09 12:23:17] 飞行物脚本 Projectile.cs 负责锁敌追踪、碰撞检测和伤害结算。箭矢预制体 ArrowProjectile_White.prefab 已配置 Projectile 组件和 CapsuleCollider(Is Trigger)。远程单位需在攻击动画松弦帧添加 OnAttackEffect Event,并在 UnitBase 中设置 attackType=RangedProjectile、projectilePrefab、projectileSpawnPoint。
|
- [2026-09-09 12:23:17] 飞行物脚本 Projectile.cs 负责锁敌追踪、碰撞检测和伤害结算。箭矢预制体 ArrowProjectile_White.prefab 已配置 Projectile 组件和 CapsuleCollider(Is Trigger)。远程单位需在攻击动画松弦帧添加 OnAttackEffect Event,并在 UnitBase 中设置 attackType=RangedProjectile、projectilePrefab、projectileSpawnPoint。
|
||||||
+1
-1
@@ -44,7 +44,7 @@
|
|||||||
|
|
||||||
- 竖版 9:16;沿用现有正交俯视相机方案(正交、约 54°,orthoSize 16);
|
- 竖版 9:16;沿用现有正交俯视相机方案(正交、约 54°,orthoSize 16);
|
||||||
- 战场为纵向长方形,敌人在 Z 轴正方向(上方)生成,己方在 Z 轴负方向(下方);
|
- 战场为纵向长方形,敌人在 Z 轴正方向(上方)生成,己方在 Z 轴负方向(下方);
|
||||||
- **部署区 = 战场下方约 1/3 的网格**(DefenseTest 场景已建:5 行 × 6 列 = 30 格位,行距 3 / 列距 2.8,覆盖 Z ∈ [-5.35, 9.35]、X ∈ [-8.25, 8.25],约占可见深度 37%);
|
- **部署区 = 战场下方约 1/3 的网格**(DefenseTest 场景已建:5 列 × 4 行 = 20 格位,列距 2.3 / 行距 2.8,覆盖 Z ∈ [-15.6, -4.4]、X ∈ [-5.75, 5.75],与布阵 Plane 完全重合);
|
||||||
- **默认摆放规则**:近战在前排(靠近敌人一侧)、远程 / 法师在后排;玩家可手动改;
|
- **默认摆放规则**:近战在前排(靠近敌人一侧)、远程 / 法师在后排;玩家可手动改;
|
||||||
- **部署流程**:卡组编辑页选卡 → 点「编排阵型」→ 阵型编排页拖拽 5 张卡到格位 → 进入战斗直接开打;
|
- **部署流程**:卡组编辑页选卡 → 点「编排阵型」→ 阵型编排页拖拽 5 张卡到格位 → 进入战斗直接开打;
|
||||||
- 出战英雄数量默认 5,数据结构支持可变(关卡 / 玩法可指定上限);
|
- 出战英雄数量默认 5,数据结构支持可变(关卡 / 玩法可指定上限);
|
||||||
|
|||||||
+2
-2
@@ -138,7 +138,7 @@ CharacterData 基础属性
|
|||||||
### 第二章英雄
|
### 第二章英雄
|
||||||
|
|
||||||
- 狂暴狼人:快速近战,依靠攻速和持续输出压制敌人。
|
- 狂暴狼人:快速近战,依靠攻速和持续输出压制敌人。
|
||||||
- 荒野猎手:远程重矛,锁定大范围内最远距离的敌方目标,后排狙杀与直线击退贯穿(原弓箭猎人)。
|
- 荒野猎手:远程重矛,锁定大范围内最远距离的敌方目标,后排高伤狙杀与强力后仰击退(原弓箭猎人)。
|
||||||
- 石巨人:高生命重型前排,拥有范围控制能力。
|
- 石巨人:高生命重型前排,拥有范围控制能力。
|
||||||
- 荒野祭司:辅助治疗和范围支援,后续制作。
|
- 荒野祭司:辅助治疗和范围支援,后续制作。
|
||||||
- 荒野之王:大型精英前排,作为章节 Boss 或高阶英雄,后续制作。
|
- 荒野之王:大型精英前排,作为章节 Boss 或高阶英雄,后续制作。
|
||||||
@@ -332,7 +332,7 @@ UnitBase
|
|||||||
|
|
||||||
| 英雄 | 1级 (基础解锁) | 3级 (数值强化) | 6级 (机制质变 · 核心好玩点) | 10级 (终极质变大招 · 攻防高光) |
|
| 英雄 | 1级 (基础解锁) | 3级 (数值强化) | 6级 (机制质变 · 核心好玩点) | 10级 (终极质变大招 · 攻防高光) |
|
||||||
|---|---|---|---|---|
|
|---|---|---|---|---|
|
||||||
| **荒野猎手**<br>*(远程重矛/后排狙杀)* | **穿心猎矛**:锁定大范围内**距离自身最远的敌方目标**,蓄力掷出重型猎矛造成 **180% 物理伤害**;且**距离越远伤害越高**(每相距 1 米额外提升 4% 伤害,最高 +36%)! | 飞矛飞行速度 +40%,基础伤害提升至 **220%**,暴击率额外 **+20%** | **定身震荡**:重矛沿途穿透直线上的所有杂兵(造成 70% 贯穿伤害);命中最终的最远目标时,**将其向后强力击退 2.0 米**(纯击退拉扯,无眩晕冗余),打乱后排阵型! | **绝命狩猎**:飞矛附带风暴贯击,基础伤害提升至 **320% 毁灭打击**;**若成功击杀目标,立即返还 50% 技能能量**,并在倒下位置引发骨片爆裂,对周围 2 米造成 100% 范围物理伤害! |
|
| **荒野猎手**<br>*(远程重矛/后排狙杀)* | **穿心猎矛**:蓄力重投飞矛,自动锁定全场**距离自身最远的目标(优先狙杀敌方后排)**,造成 **180% 物理伤害**;且**距离越远伤害越高**(每相距 1 米额外提升 5% 伤害,最高 +45%)!带有金色破空流光特效! | 飞矛飞行速度 +40%,基础伤害提升至 **230%**,暴击率额外 **+20%**,远距离狙杀威慑力大增! | **破阵震退**:蓄力重矛命中目标时产生破空震荡,**将其向后强力击退 2.0 米**(纯物理后退,打乱敌方后排阵型,且不产生眩晕冗余)! | **绝命猎杀**:飞矛附带风暴雷霆之势,基础伤害飙升至 **340% 极限制导高伤**;**若成功斩杀目标,立即返还 50% 技能能量**,快速准备下一发致命狙杀! |
|
||||||
| **狂暴狼人**<br>*(极速刺客/嗜血续航)* | **野性狼嚎**:仰天长嚎激活狼性血脉,自身**攻速飙升 +45%(持续 4 秒)** | 攻速提升幅度增加至 **60%**,狼嚎持续时间延长至 5.5 秒 | **残虐撕裂**:狼嚎期间利爪撕裂伤口,**每次普攻恢复造成伤害 25% 的生命值**,并在敌人身上留下每秒 20% 的流血! | **血性狂欢**:狼嚎期间只要击杀敌人,**立即刷新重置 4 秒狼嚎持续时间**并额外获得 20% 移速与攻击力,在敌群中连续疯狂撕扯! |
|
| **狂暴狼人**<br>*(极速刺客/嗜血续航)* | **野性狼嚎**:仰天长嚎激活狼性血脉,自身**攻速飙升 +45%(持续 4 秒)** | 攻速提升幅度增加至 **60%**,狼嚎持续时间延长至 5.5 秒 | **残虐撕裂**:狼嚎期间利爪撕裂伤口,**每次普攻恢复造成伤害 25% 的生命值**,并在敌人身上留下每秒 20% 的流血! | **血性狂欢**:狼嚎期间只要击杀敌人,**立即刷新重置 4 秒狼嚎持续时间**并额外获得 20% 移速与攻击力,在敌群中连续疯狂撕扯! |
|
||||||
| **石巨人**<br>*(重装控制/护盾控场)* | **大地震击**:双拳重拍地面激发环形震荡波(`ShockwaveRing`),对周围 3.5 米造成伤害并**眩晕 1.5 秒**(`StunStars`) | 眩晕时间延长至 **2.0 秒**,震荡波伤害与范围 +25% | **坚石护体**:重拍地面击碎岩石吸附自身,拍地瞬间**获得相当于 30% 最大生命值的坚固护盾**(挂 `MagicShieldBlue`) | **天崩地裂**:拍击激起全场强震,震晕周围敌人后在地面留下震裂泥沼,**使周围所有敌人移速降低 60% 持续 4 秒**,且自身受到伤害降低 30%! |
|
| **石巨人**<br>*(重装控制/护盾控场)* | **大地震击**:双拳重拍地面激发环形震荡波(`ShockwaveRing`),对周围 3.5 米造成伤害并**眩晕 1.5 秒**(`StunStars`) | 眩晕时间延长至 **2.0 秒**,震荡波伤害与范围 +25% | **坚石护体**:重拍地面击碎岩石吸附自身,拍地瞬间**获得相当于 30% 最大生命值的坚固护盾**(挂 `MagicShieldBlue`) | **天崩地裂**:拍击激起全场强震,震晕周围敌人后在地面留下震裂泥沼,**使周围所有敌人移速降低 60% 持续 4 秒**,且自身受到伤害降低 30%! |
|
||||||
| **蓝色怪物**<br>*(控场反制/元素护盾)* | **寒霜扑击**:蓄力飞扑目标,造成 140% 单体伤害并使目标**攻击速度降低 35%(持续 3 秒)** | 飞扑伤害提升至 **180%**,攻速降低效果提升至 45% | **霜甲反伤**:扑击后生成持续 5 秒的极寒霜甲(自身最大血量 25% 护盾),**任何近战攻击蓝色怪物的敌人都将被减速 40%**! | **极寒爆裂**:扑击命中目标后引发暴风雪炸裂,对周围 3 米范围内所有敌人施加 **1.5 秒冰冻眩晕**(挂 `StunStars`),强力打散敌方攻势! |
|
| **蓝色怪物**<br>*(控场反制/元素护盾)* | **寒霜扑击**:蓄力飞扑目标,造成 140% 单体伤害并使目标**攻击速度降低 35%(持续 3 秒)** | 飞扑伤害提升至 **180%**,攻速降低效果提升至 45% | **霜甲反伤**:扑击后生成持续 5 秒的极寒霜甲(自身最大血量 25% 护盾),**任何近战攻击蓝色怪物的敌人都将被减速 40%**! | **极寒爆裂**:扑击命中目标后引发暴风雪炸裂,对周围 3 米范围内所有敌人施加 **1.5 秒冰冻眩晕**(挂 `StunStars`),强力打散敌方攻势! |
|
||||||
|
|||||||
+1
-1
@@ -23,7 +23,7 @@
|
|||||||
|
|
||||||
建议保留:
|
建议保留:
|
||||||
|
|
||||||
- 己方部署区:约 5 行 × 6 列网格,共 30 个可用格位。
|
- 己方部署区:5 列 × 4 行网格,共 20 个可用格位。
|
||||||
- 默认出战英雄:5 个。
|
- 默认出战英雄:5 个。
|
||||||
- 敌方生成区:战场上方,按波次从不同列生成。
|
- 敌方生成区:战场上方,按波次从不同列生成。
|
||||||
- 中央交战区:保持开阔,用于英雄自动走位和攻击。
|
- 中央交战区:保持开阔,用于英雄自动走位和攻击。
|
||||||
|
|||||||
Reference in new issue
Block a user