根据提供的code differences信息,由于没有具体的代码变更内容,我将生成一个通用的commit message模板:
``` docs(readme): 更新文档说明 - 添加项目使用指南 - 完善API接口说明 - 修正错误的配置示例 ``` 注意:由于您提供的code differences部分为空,以上是一个示例模板。当您有具体的代码变更时,请提供详细的变更内容以便生成更准确的commit message。
This commit is contained in:
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: {}
|
||||
@@ -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
|
||||
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
-15
@@ -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.
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:
|
||||
@@ -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("爆炸效果(可选)")]
|
||||
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:
|
||||
+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:
|
||||
Reference in new issue
Block a user