根据提供的code differences信息,由于没有具体的代码变更内容,我将生成一个通用的commit message模板:

```
docs(readme): 更新文档说明

- 添加项目使用指南
- 完善API接口说明
- 修正错误的配置示例
```

注意:由于您提供的code differences部分为空,以上是一个示例模板。当您有具体的代码变更时,请提供详细的变更内容以便生成更准确的commit message。
This commit is contained in:
huadexuan committed 2026-10-14 00:11:54 +08:00
1 parent 8cbe8e000b
commit 1a84ea999e
36 files changed
+32672 -136

No files matched your search

@@ -9,7 +9,19 @@ AnimatorOverrideController:
m_Name: "\u8352\u91CE\u730E\u624B"
m_Controller: {fileID: 9100000, guid: 040acc435cecb4b16b965a1136ce6834, type: 2}
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,
type: 3}
m_OverrideClip: {fileID: -203655887218126122, guid: 3cf486ef6ee70e743b217bd5f96516b8,
m_OverrideClip: {fileID: -203655887218126122, guid: a5213c2a05540ba45839271da41c0177,
type: 3}
@@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: C3JKtSmpAnPvGVr7w+A19FElHIFrKeMM24PSIpyHa+yb+rR3bbZxCAE=
guid: CnMfsXmuWnmOYRs7nb3rtOwRSQFAbayd2TWDGk3LtKKNkswK2Rrxpdo=
folderAsset: yes
DefaultImporter:
externalObjects: {}
+83
View File
@@ -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: []
+8
View File
@@ -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
@@ -1,11 +1,16 @@
fileFormatVersion: 2
guid: Xn8dtCn+USoM3y8Q1spG7or0i5ihQ5/VOTuLQmVn9ElNxLu+WwKV5R4=
guid: XXpN4S/5UX6OnP4NwkytXqxUApWqcYhIZqLHjDaML/Ooyu5YwioyEJw=
ModelImporter:
serializedVersion: 22361
internalIDToNameTable: []
externalObjects: {}
externalObjects:
- first:
type: UnityEngine:Material
assembly: UnityEngine.CoreModule
name: defaultMat
second: {fileID: 2100000, guid: dab9a58acadae4f108cb8909cdb4af6d, type: 2}
materials:
materialImportMode: 2
materialImportMode: 1
materialName: 0
materialSearch: 1
materialLocation: 1
@@ -43,10 +48,10 @@ ModelImporter:
tuanjieGIGenFacetNums: 12
meshes:
lODScreenPercentages: []
globalScale: 1
globalScale: 2
meshCompression: 0
totalVerticesCount: 14728
totalTrianglesCount: 5000
totalVerticesCount: 1480
totalTrianglesCount: 500
addColliders: 0
useSRGBMaterialColor: 1
sortHierarchyByName: 1
@@ -93,15 +98,71 @@ ModelImporter:
isPossibleOverflow: 0
hasBoneData: 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:
- index: 0
meshName: node_0
meshName: default
lodLevel: 0
meshGeometryBuffer: 0
supportVGMeshes:
- index: 0
meshName: node_0
meshName: default
lodLevel: 0
meshGeometryBuffer: 0
tangentSpace:
@@ -129,7 +190,7 @@ ModelImporter:
armStretch: 0.05
legStretch: 0.05
feetSpacing: 0
globalScale: 1
globalScale: 2
rootMotionBoneName:
defaultPoseIndex: -1
hasTranslationDoF: 0
Binary file not shown.

After

Width:  |  Height:  |  Size: 872 KiB

@@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: WigcsH+oBn1GkOluyD9zP1q1crQXqgLJjAQC2mjZsBphsxbFlZfe0x0=
guid: B3lN5i/7W3k4czjmow0f9+kcKecF2HNMOB5OL3gD4yYKx+ay7POPpjc=
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
@@ -112,20 +112,6 @@ TextureImporter:
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
Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.
@@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: DClJsSKrBi3US/iRrb+5vjrAFyXbuqBpZLuP3awC3HzYgpKnYMf0Dik=
guid: Xn8dtCn+USoM3y8Q1spG7or0i5ihQ5/VOTuLQmVn9ElNxLu+WwKV5R4=
ModelImporter:
serializedVersion: 22361
internalIDToNameTable: []
@@ -45,7 +45,7 @@ ModelImporter:
takeName: mixamo.com
internalID: -203655887218126122
firstFrame: 0
lastFrame: 66
lastFrame: 68
wrapMode: 0
orientationOffsetY: 0
level: 0
@@ -66,13 +66,20 @@ ModelImporter:
bodyMask: 01000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000
curves: []
events:
- time: 0.28456584
- time: 0.302408
functionName: OnAttackEffect
data:
objectReferenceParameter: {instanceID: 0}
floatParameter: 0
intParameter: 0
messageOptions: 0
- time: 0.302408
functionName: OnSkillHit1
data:
objectReferenceParameter: {instanceID: 0}
floatParameter: 0
intParameter: 0
messageOptions: 0
intervals: []
transformMask: []
maskType: 3
@@ -92,8 +99,8 @@ ModelImporter:
lODScreenPercentages: []
globalScale: 200
meshCompression: 0
totalVerticesCount: 9862
totalTrianglesCount: 4998
totalVerticesCount: 14728
totalTrianglesCount: 5000
addColliders: 0
useSRGBMaterialColor: 1
sortHierarchyByName: 1
@@ -410,129 +417,127 @@ ModelImporter:
scale: {x: 1, y: 1, z: 1}
- name: mixamorig:Hips
parentName: "\u8352\u91CE\u730E\u624B(Clone)"
position: {x: 7.2759576e-10, y: 0.96161616, z: -0.017580768}
rotation: {x: -0, y: -0, z: 4.0927256e-10, w: 1}
scale: {x: 0.99999994, y: 1, z: 1}
position: {x: -0.0015550415, y: 1.0448333, z: 0.0008989109}
rotation: {x: -0.057999488, y: 0.085499845, z: -0.03630227, w: 0.9939859}
scale: {x: 1, y: 1, z: 1}
- name: mixamorig:LeftUpLeg
parentName: mixamorig:Hips
position: {x: -0.122900926, y: -0.064272955, z: 0.019370982}
rotation: {x: 0.00049928314, y: -0.031455517, z: 0.99937916, w: 0.015862847}
scale: {x: 1.0000004, y: 1.0000004, z: 1}
position: {x: -0.12708198, y: -0.06653226, z: 0.0027186214}
rotation: {x: -0.4313436, y: 0.039589703, z: 0.9001783, w: 0.045325007}
scale: {x: 1, y: 1, z: 1}
- name: mixamorig:LeftLeg
parentName: mixamorig:LeftUpLeg
position: {x: 2.775558e-17, y: 0.42458522, z: 0}
rotation: {x: -0.070675656, y: 0.001526951, z: -0.021546036, w: 0.9972655}
scale: {x: 1.0000006, y: 1.0000005, z: 1.0000001}
position: {x: -5.551116e-17, y: 0.5007372, z: -4.336809e-19}
rotation: {x: -0.32176197, y: -0.18966085, z: 0.0014265925, w: 0.9276293}
scale: {x: 1, y: 1, z: 1}
- name: mixamorig:LeftFoot
parentName: mixamorig:LeftLeg
position: {x: 2.775558e-17, y: 0.36031312, z: 3.4694474e-18}
rotation: {x: 0.5864733, y: 0.058979593, z: -0.042879384, w: 0.8066796}
scale: {x: 1, y: 1, z: 0.9999998}
position: {x: -0, y: 0.436047, z: 6.938895e-18}
rotation: {x: 0.72539276, y: 0.026533838, z: 0.0035809833, w: 0.6878144}
scale: {x: 1, y: 1, z: 1}
- name: mixamorig:LeftToeBase
parentName: mixamorig:LeftFoot
position: {x: -0, y: 0.19909826, z: 2.775558e-17}
rotation: {x: 0.23450264, y: 0.030121133, z: -0.007269758, w: 0.9716215}
scale: {x: 1.0000004, y: 1.0000002, z: 1.0000001}
position: {x: -0, y: 0.20160635, z: 2.775558e-17}
rotation: {x: 0.28748184, y: 0.002484446, z: 0.04328514, w: 0.9568043}
scale: {x: 1, y: 1, z: 1}
- name: mixamorig:LeftToe_End
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}
scale: {x: 1, y: 1, z: 1}
- name: mixamorig:Spine
parentName: mixamorig:Hips
position: {x: -0, y: 0.11601777, z: -0.008428418}
rotation: {x: -0.03625217, y: 0.000000005805401, z: 5.291295e-10, w: 0.9993427}
scale: {x: 1, y: 1, z: 0.99999994}
position: {x: -0, y: 0.119804874, z: -0.014100285}
rotation: {x: 0.036728185, y: -0.02707523, z: 0.014438407, w: 0.9988541}
scale: {x: 1, y: 1, z: 1}
- name: mixamorig:Spine1
parentName: mixamorig:Spine
position: {x: -0, y: 0.13571076, z: 0}
rotation: {x: -0.000000029802322, y: -0.0000000029290932, z: 1.5196491e-10,
w: 1}
scale: {x: 0.99999994, y: 0.99999994, z: 1}
position: {x: -0, y: 0.14073713, z: 0}
rotation: {x: 0.051300958, y: -0.054152843, z: 0.028569069, w: 0.99680465}
scale: {x: 1, y: 1, z: 1}
- name: mixamorig:Spine2
parentName: mixamorig:Spine1
position: {x: -0, y: 0.15509796, z: 0}
rotation: {x: -0, y: -0.000000005462792, z: -0.0000000051386957, w: 1}
scale: {x: 1.0000001, y: 1.0000001, z: 1.0000001}
position: {x: -0, y: 0.16084242, z: 0}
rotation: {x: -0.05184933, y: -0.056821056, z: 0.022805413, w: 0.9967763}
scale: {x: 1, y: 1, z: 1}
- name: mixamorig:Neck
parentName: mixamorig:Spine2
position: {x: -0, y: 0.17448525, z: 0.000000012214195}
rotation: {x: 0.0362522, y: 4.9456883e-11, z: -0.0000000013633452, w: 0.9993427}
scale: {x: 0.99999994, y: 1.0000001, z: 0.99999994}
position: {x: -0, y: 0.18094777, z: 0.000000017033209}
rotation: {x: 0.038379487, y: -0.07997296, z: -0.009701707, w: 0.9960107}
scale: {x: 1, y: 1, z: 1}
- name: mixamorig:Head
parentName: mixamorig:Neck
position: {x: -0, y: 0.14759588, z: 0.017679807}
rotation: {x: 0.0000000037252903, y: 0.000000002910383, z: 0.0000000010913939,
w: 1}
scale: {x: 0.99999994, y: 0.9999999, z: 1.0000001}
position: {x: -0, y: 0.13584413, z: 0.06572203}
rotation: {x: -0.041596327, y: -0.19943602, z: 0.037355587, w: 0.97831464}
scale: {x: 1, y: 1, z: 1}
- name: mixamorig:HeadTop_End
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}
scale: {x: 1, y: 1, z: 1}
- name: mixamorig:LeftShoulder
parentName: mixamorig:Spine2
position: {x: -0.05832574, y: 0.1505866, z: -0.0022551804}
rotation: {x: 0.55615306, y: -0.4300368, z: 0.5748818, w: 0.41865632}
scale: {x: 1.0000004, y: 1.0000006, z: 1.0000006}
position: {x: -0.06582137, y: 0.15840933, z: -0.002626976}
rotation: {x: 0.6132891, y: -0.36678275, z: 0.4890201, w: 0.5002063}
scale: {x: 1, y: 1, z: 1}
- name: mixamorig:LeftArm
parentName: mixamorig:LeftShoulder
position: {x: -0, y: 0.12277112, z: 0}
rotation: {x: -0.12750787, y: -0.052892506, z: -0.006906688, w: 0.9904022}
scale: {x: 1, y: 1.0000002, z: 1.0000002}
position: {x: -0, y: 0.13926831, z: 0}
rotation: {x: -0.109285444, y: -0.07530944, z: 0.07437192, w: 0.98835933}
scale: {x: 1, y: 1, z: 1}
- name: mixamorig:LeftForeArm
parentName: mixamorig:LeftArm
position: {x: -1.0408341e-17, y: 0.32773098, z: 0}
rotation: {x: -0.0111816665, y: -0.027591016, z: -0.03239311, w: 0.9990318}
scale: {x: 0.9999997, y: 0.9999998, z: 0.9999998}
position: {x: -5.551116e-17, y: 0.37595367, z: -1.1102232e-16}
rotation: {x: -0.015563387, y: 0.23476875, z: -0.02611066, w: 0.97157586}
scale: {x: 1, y: 1, z: 1}
- name: mixamorig:LeftHand
parentName: mixamorig:LeftForeArm
position: {x: -5.551116e-17, y: 0.3340844, z: 1.1102232e-16}
rotation: {x: -0, y: -0, z: -1.1641532e-10, w: 1}
scale: {x: 1, y: 1, z: 1.0000001}
position: {x: -6.938895e-18, y: 0.36493555, z: 0}
rotation: {x: 0, y: -0, z: -0, w: 1}
scale: {x: 1, y: 1, z: 1}
- name: mixamorig:RightShoulder
parentName: mixamorig:Spine2
position: {x: 0.05832574, y: 0.15051161, z: -0.0012226059}
rotation: {x: -0.56145275, y: -0.42600432, z: 0.5702429, w: -0.4220358}
scale: {x: 1.0000002, y: 1.0000002, z: 1.0000001}
position: {x: 0.06582137, y: 0.15841529, z: -0.0026775594}
rotation: {x: 0.56953573, y: 0.39988846, z: -0.49522352, w: 0.52006924}
scale: {x: 1, y: 1, z: 1}
- name: mixamorig:RightArm
parentName: mixamorig:RightShoulder
position: {x: -0, y: 0.12277112, z: 2.2204463e-16}
rotation: {x: 0.12768778, y: -0.06803748, z: 0.0033242106, w: -0.9894725}
scale: {x: 0.99999976, y: 1.0000001, z: 0.9999998}
position: {x: -2.775558e-17, y: 0.13926831, z: 0}
rotation: {x: -0.007774665, y: 0.12842752, z: -0.16903602, w: 0.9771759}
scale: {x: 1, y: 1, z: 1}
- name: mixamorig:RightForeArm
parentName: mixamorig:RightArm
position: {x: -0, y: 0.32781148, z: 0}
rotation: {x: -0.0118109435, y: 0.011750162, z: 0.031905137, w: 0.9993521}
scale: {x: 1.0000002, y: 1.000001, z: 1.0000005}
position: {x: 5.551116e-17, y: 0.3760215, z: -2.2204463e-16}
rotation: {x: -0.020219214, y: -0.24051912, z: 0.040518124, w: 0.9695876}
scale: {x: 1, y: 1, z: 1}
- name: mixamorig:RightHand
parentName: mixamorig:RightForeArm
position: {x: -0, y: 0.335302, 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}
position: {x: 1.387779e-17, y: 0.3655116, z: -1.1102232e-16}
rotation: {x: 0, y: -0, z: -0, w: 1}
scale: {x: 1, y: 1, z: 1}
namedPoseList:
@@ -44,7 +44,7 @@ Material:
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 2800000, guid: 0ccff60d18b826248b2fc07e18698733, type: 3}
m_Texture: {fileID: 2800000, guid: eb35e5e648d29674095316a1861e33b5, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
@@ -78,6 +78,6 @@ Material:
- _UVSec: 0
- _ZWrite: 1
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}
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
guid: DylM43yrUy//7x6SbZSq1Vql2uiQyUvgZpZV1oQA7DZCQ8veZ/iNRnE=
guid: WigcsH+oBn1GkOluyD9zP1q1crQXqgLJjAQC2mjZsBphsxbFlZfe0x0=
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
@@ -72,7 +72,7 @@ TextureImporter:
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 512
maxTextureSize: 1024
maxPlaceholderSize: 32
resizeAlgorithm: 0
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:
+197
View File
@@ -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:
+59 -14
View File
@@ -5,6 +5,10 @@ public class Projectile : MonoBehaviour
[Header("爆炸效果(可选)")]
public GameObject explosionPrefab; // 爆炸特效预制体,留空则没有爆炸效果
[Header("抛物线飞行(可选)")]
public bool useParabola = false; // 是否启用小抛物线飞行
public float parabolaHeight = 1.0f; // 抛物线最高拱起高度 (不太高的抛物线)
private GameObject target;
private GameObject owner;
private float damage;
@@ -13,6 +17,9 @@ public class Projectile : MonoBehaviour
private bool registerEnergyOnHit;
private bool initialized;
private bool hasHit;
private Vector3 startPosition;
private float totalFlyDistance;
private float horizontalTraveled;
public void Initialize(
GameObject targetObject,
@@ -31,6 +38,19 @@ public class Projectile : MonoBehaviour
initialized = true;
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
// it cannot be destroyed or disturbed by the owner's launch socket.
foreach (var collider in GetComponentsInChildren<Collider>(true))
@@ -57,27 +77,56 @@ public class Projectile : MonoBehaviour
return;
}
// 目标根节点位于脚底,只取水平差值,让箭保持当前高度平行飞行。
Vector3 offset = target.transform.position - transform.position;
offset.y = 0f;
if (offset.sqrMagnitude <= 0.01f)
Vector3 targetCurrentPos = target.transform.position;
Vector3 offset = targetCurrentPos - transform.position;
Vector3 flatOffset = new Vector3(offset.x, 0f, offset.z);
if (flatOffset.sqrMagnitude <= 0.04f)
{
HitTarget(target);
return;
}
Vector3 direction = offset.normalized;
float distance = speed * Time.deltaTime;
if (distance >= offset.magnitude)
Vector3 direction = flatOffset.normalized;
float step = speed * Time.deltaTime;
horizontalTraveled += step;
if (step >= flatOffset.magnitude)
{
HitTarget(target);
return;
}
// 投射物保持水平飞行,并让根节点前方始终指向当前目标。
transform.rotation = Quaternion.LookRotation(direction, Vector3.up);
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);
if (Physics.Raycast(transform.position, direction, out RaycastHit hit, distance))
// 矛身旋转:朝向移动切线方向,矛头顺着抛物线弧度自然俯仰
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.position += direction * step;
}
if (Physics.Raycast(transform.position, direction, out RaycastHit hit, step))
{
TryHit(hit.collider.gameObject);
if (hit.collider.transform.root == target.transform.root)
@@ -85,10 +134,6 @@ public class Projectile : MonoBehaviour
return;
}
}
// 火球保持 Prefab 固定角度,不随飞行方向旋转
// transform.forward = direction;
transform.position += direction * distance;
}
private void OnTriggerEnter(Collider other)
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: XX5M4yuqBilSuftrblo47vfUuQWkvt3aRHWDJTmRuN14lSKAtACCuqY=
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
File diff suppressed because it is too large. Load diff
@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: f94ec02294964701b2f32869f486556f
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 100100000
userData:
assetBundleName:
assetBundleVariant:
@@ -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: