This commit is contained in:
wuyanchen 2025-12-14 11:32:38 +08:00
parent baf4650de4
commit fa152cce8a
12 changed files with 129 additions and 284 deletions

View File

@ -13,7 +13,6 @@ GameObject:
- component: {fileID: 199187720539646952} - component: {fileID: 199187720539646952}
- component: {fileID: 114591203083495332} - component: {fileID: 114591203083495332}
- component: {fileID: 198228151580939694} - component: {fileID: 198228151580939694}
- component: {fileID: 54453457801900860}
- component: {fileID: 3756797071505677828} - component: {fileID: 3756797071505677828}
m_Layer: 0 m_Layer: 0
m_HasEditorInfo: 1 m_HasEditorInfo: 1
@ -251,7 +250,7 @@ MonoBehaviour:
type: 3} type: 3}
explosionPrefab: {fileID: 0} explosionPrefab: {fileID: 0}
thrust: 0 thrust: 0
thisRigidbody: {fileID: 54453457801900860} thisRigidbody: {fileID: 0}
particleKillGroup: {fileID: 0} particleKillGroup: {fileID: 0}
LookRotation: 1 LookRotation: 1
Missile: 0 Missile: 0
@ -4996,33 +4995,6 @@ ParticleSystem:
m_PostInfinity: 2 m_PostInfinity: 2
m_RotationOrder: 4 m_RotationOrder: 4
vectorLabel1_3: W vectorLabel1_3: W
--- !u!54 &54453457801900860
Rigidbody:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1238843893459588}
serializedVersion: 4
m_Mass: 1
m_Drag: 0
m_AngularDrag: 0.05
m_CenterOfMass: {x: 0, y: 0, z: 0}
m_InertiaTensor: {x: 1, y: 1, z: 1}
m_InertiaRotation: {x: 0, y: 0, z: 0, w: 1}
m_IncludeLayers:
serializedVersion: 2
m_Bits: 0
m_ExcludeLayers:
serializedVersion: 2
m_Bits: 0
m_ImplicitCom: 1
m_ImplicitTensor: 1
m_UseGravity: 0
m_IsKinematic: 0
m_Interpolate: 0
m_Constraints: 0
m_CollisionDetection: 0
--- !u!114 &3756797071505677828 --- !u!114 &3756797071505677828
MonoBehaviour: MonoBehaviour:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -5040,7 +5012,7 @@ MonoBehaviour:
type: 3} type: 3}
explosionPrefab: {fileID: 0} explosionPrefab: {fileID: 0}
thrust: 0 thrust: 0
thisRigidbody: {fileID: 54453457801900860} thisRigidbody: {fileID: 0}
particleKillGroup: {fileID: 0} particleKillGroup: {fileID: 0}
LookRotation: 1 LookRotation: 1
Missile: 0 Missile: 0

View File

@ -4844,7 +4844,6 @@ GameObject:
- component: {fileID: 4638688750665566} - component: {fileID: 4638688750665566}
- component: {fileID: 198447062717955468} - component: {fileID: 198447062717955468}
- component: {fileID: 199841310213611012} - component: {fileID: 199841310213611012}
- component: {fileID: 54929995699331496}
- component: {fileID: 114756686390696780} - component: {fileID: 114756686390696780}
- component: {fileID: 114880781407873270} - component: {fileID: 114880781407873270}
- component: {fileID: -6832061690877183238} - component: {fileID: -6832061690877183238}
@ -9687,33 +9686,6 @@ ParticleSystemRenderer:
m_MeshWeighting2: 1 m_MeshWeighting2: 1
m_MeshWeighting3: 1 m_MeshWeighting3: 1
m_MaskInteraction: 0 m_MaskInteraction: 0
--- !u!54 &54929995699331496
Rigidbody:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1523153560657062}
serializedVersion: 4
m_Mass: 1
m_Drag: 0
m_AngularDrag: 0.05
m_CenterOfMass: {x: 0, y: 0, z: 0}
m_InertiaTensor: {x: 1, y: 1, z: 1}
m_InertiaRotation: {x: 0, y: 0, z: 0, w: 1}
m_IncludeLayers:
serializedVersion: 2
m_Bits: 0
m_ExcludeLayers:
serializedVersion: 2
m_Bits: 0
m_ImplicitCom: 1
m_ImplicitTensor: 1
m_UseGravity: 0
m_IsKinematic: 0
m_Interpolate: 0
m_Constraints: 0
m_CollisionDetection: 0
--- !u!114 &114756686390696780 --- !u!114 &114756686390696780
MonoBehaviour: MonoBehaviour:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -9730,7 +9702,7 @@ MonoBehaviour:
type: 3} type: 3}
explosionPrefab: {fileID: 0} explosionPrefab: {fileID: 0}
thrust: 0 thrust: 0
thisRigidbody: {fileID: 54929995699331496} thisRigidbody: {fileID: 0}
particleKillGroup: {fileID: 0} particleKillGroup: {fileID: 0}
LookRotation: 1 LookRotation: 1
Missile: 0 Missile: 0
@ -9839,7 +9811,7 @@ MonoBehaviour:
type: 3} type: 3}
explosionPrefab: {fileID: 0} explosionPrefab: {fileID: 0}
thrust: 0 thrust: 0
thisRigidbody: {fileID: 54929995699331496} thisRigidbody: {fileID: 0}
particleKillGroup: {fileID: 0} particleKillGroup: {fileID: 0}
LookRotation: 1 LookRotation: 1
Missile: 0 Missile: 0
@ -9860,7 +9832,6 @@ GameObject:
- component: {fileID: 4828562848980038} - component: {fileID: 4828562848980038}
- component: {fileID: 33598952677386752} - component: {fileID: 33598952677386752}
- component: {fileID: 23036372007100886} - component: {fileID: 23036372007100886}
- component: {fileID: 1237496830743154421}
m_Layer: 0 m_Layer: 0
m_HasEditorInfo: 1 m_HasEditorInfo: 1
m_Name: laserInner m_Name: laserInner
@ -9938,27 +9909,6 @@ MeshRenderer:
m_SortingLayer: 0 m_SortingLayer: 0
m_SortingOrder: 0 m_SortingOrder: 0
m_AdditionalVertexStreams: {fileID: 0} m_AdditionalVertexStreams: {fileID: 0}
--- !u!65 &1237496830743154421
BoxCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1598420234293714}
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: 3
m_Size: {x: 0.052241683, y: 0.052241687, z: 0.7255225}
m_Center: {x: 0, y: 8.881784e-16, z: -1.0587912e-22}
--- !u!1 &1770188157318636 --- !u!1 &1770188157318636
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0

View File

@ -4729,7 +4729,6 @@ GameObject:
- component: {fileID: 114822947398403046} - component: {fileID: 114822947398403046}
- component: {fileID: 199187720539646952} - component: {fileID: 199187720539646952}
- component: {fileID: 198228151580939694} - component: {fileID: 198228151580939694}
- component: {fileID: 54453457801900860}
- component: {fileID: 114591203083495332} - component: {fileID: 114591203083495332}
- component: {fileID: 3037845546567178371} - component: {fileID: 3037845546567178371}
m_Layer: 0 m_Layer: 0
@ -9755,33 +9754,6 @@ ParticleSystem:
m_PostInfinity: 2 m_PostInfinity: 2
m_RotationOrder: 4 m_RotationOrder: 4
vectorLabel1_3: W vectorLabel1_3: W
--- !u!54 &54453457801900860
Rigidbody:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1238843893459588}
serializedVersion: 4
m_Mass: 1
m_Drag: 0
m_AngularDrag: 0.05
m_CenterOfMass: {x: 0, y: 0, z: 0}
m_InertiaTensor: {x: 1, y: 1, z: 1}
m_InertiaRotation: {x: 0, y: 0, z: 0, w: 1}
m_IncludeLayers:
serializedVersion: 2
m_Bits: 0
m_ExcludeLayers:
serializedVersion: 2
m_Bits: 0
m_ImplicitCom: 1
m_ImplicitTensor: 1
m_UseGravity: 0
m_IsKinematic: 0
m_Interpolate: 0
m_Constraints: 0
m_CollisionDetection: 0
--- !u!114 &114591203083495332 --- !u!114 &114591203083495332
MonoBehaviour: MonoBehaviour:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -9798,7 +9770,7 @@ MonoBehaviour:
type: 3} type: 3}
explosionPrefab: {fileID: 0} explosionPrefab: {fileID: 0}
thrust: 0 thrust: 0
thisRigidbody: {fileID: 54453457801900860} thisRigidbody: {fileID: 0}
particleKillGroup: {fileID: 0} particleKillGroup: {fileID: 0}
LookRotation: 1 LookRotation: 1
Missile: 0 Missile: 0
@ -9825,7 +9797,7 @@ MonoBehaviour:
type: 3} type: 3}
explosionPrefab: {fileID: 0} explosionPrefab: {fileID: 0}
thrust: 0 thrust: 0
thisRigidbody: {fileID: 54453457801900860} thisRigidbody: {fileID: 0}
particleKillGroup: {fileID: 0} particleKillGroup: {fileID: 0}
LookRotation: 1 LookRotation: 1
Missile: 0 Missile: 0

View File

@ -4729,7 +4729,6 @@ GameObject:
- component: {fileID: 114226090229346282} - component: {fileID: 114226090229346282}
- component: {fileID: 199187720539646952} - component: {fileID: 199187720539646952}
- component: {fileID: 198228151580939694} - component: {fileID: 198228151580939694}
- component: {fileID: 54453457801900860}
- component: {fileID: 114591203083495332} - component: {fileID: 114591203083495332}
- component: {fileID: -61979596511976037} - component: {fileID: -61979596511976037}
m_Layer: 0 m_Layer: 0
@ -9721,33 +9720,6 @@ ParticleSystem:
m_PostInfinity: 2 m_PostInfinity: 2
m_RotationOrder: 4 m_RotationOrder: 4
vectorLabel1_3: W vectorLabel1_3: W
--- !u!54 &54453457801900860
Rigidbody:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1238843893459588}
serializedVersion: 4
m_Mass: 1
m_Drag: 0
m_AngularDrag: 0.05
m_CenterOfMass: {x: 0, y: 0, z: 0}
m_InertiaTensor: {x: 1, y: 1, z: 1}
m_InertiaRotation: {x: 0, y: 0, z: 0, w: 1}
m_IncludeLayers:
serializedVersion: 2
m_Bits: 0
m_ExcludeLayers:
serializedVersion: 2
m_Bits: 0
m_ImplicitCom: 1
m_ImplicitTensor: 1
m_UseGravity: 0
m_IsKinematic: 0
m_Interpolate: 0
m_Constraints: 0
m_CollisionDetection: 0
--- !u!114 &114591203083495332 --- !u!114 &114591203083495332
MonoBehaviour: MonoBehaviour:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -9764,7 +9736,7 @@ MonoBehaviour:
type: 3} type: 3}
explosionPrefab: {fileID: 0} explosionPrefab: {fileID: 0}
thrust: 0 thrust: 0
thisRigidbody: {fileID: 54453457801900860} thisRigidbody: {fileID: 0}
particleKillGroup: {fileID: 0} particleKillGroup: {fileID: 0}
LookRotation: 1 LookRotation: 1
Missile: 0 Missile: 0
@ -9791,7 +9763,7 @@ MonoBehaviour:
type: 3} type: 3}
explosionPrefab: {fileID: 0} explosionPrefab: {fileID: 0}
thrust: 0 thrust: 0
thisRigidbody: {fileID: 54453457801900860} thisRigidbody: {fileID: 0}
particleKillGroup: {fileID: 0} particleKillGroup: {fileID: 0}
LookRotation: 1 LookRotation: 1
Missile: 0 Missile: 0

View File

@ -4716,7 +4716,6 @@ GameObject:
- component: {fileID: 114493403153355018} - component: {fileID: 114493403153355018}
- component: {fileID: 199088698377808708} - component: {fileID: 199088698377808708}
- component: {fileID: 198355305740026072} - component: {fileID: 198355305740026072}
- component: {fileID: 54344322164163910}
- component: {fileID: 114364954352837428} - component: {fileID: 114364954352837428}
- component: {fileID: -5197642933268834089} - component: {fileID: -5197642933268834089}
m_Layer: 0 m_Layer: 0
@ -9708,33 +9707,6 @@ ParticleSystem:
m_PostInfinity: 2 m_PostInfinity: 2
m_RotationOrder: 4 m_RotationOrder: 4
vectorLabel1_3: W vectorLabel1_3: W
--- !u!54 &54344322164163910
Rigidbody:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1257873104036598}
serializedVersion: 4
m_Mass: 1
m_Drag: 0
m_AngularDrag: 0.05
m_CenterOfMass: {x: 0, y: 0, z: 0}
m_InertiaTensor: {x: 1, y: 1, z: 1}
m_InertiaRotation: {x: 0, y: 0, z: 0, w: 1}
m_IncludeLayers:
serializedVersion: 2
m_Bits: 0
m_ExcludeLayers:
serializedVersion: 2
m_Bits: 0
m_ImplicitCom: 1
m_ImplicitTensor: 1
m_UseGravity: 0
m_IsKinematic: 0
m_Interpolate: 0
m_Constraints: 0
m_CollisionDetection: 0
--- !u!114 &114364954352837428 --- !u!114 &114364954352837428
MonoBehaviour: MonoBehaviour:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -9751,7 +9723,7 @@ MonoBehaviour:
type: 3} type: 3}
explosionPrefab: {fileID: 0} explosionPrefab: {fileID: 0}
thrust: 0 thrust: 0
thisRigidbody: {fileID: 54344322164163910} thisRigidbody: {fileID: 0}
particleKillGroup: {fileID: 0} particleKillGroup: {fileID: 0}
LookRotation: 1 LookRotation: 1
Missile: 0 Missile: 0

View File

@ -320,7 +320,7 @@ BoxCollider:
m_Material: {fileID: 0} m_Material: {fileID: 0}
m_IncludeLayers: m_IncludeLayers:
serializedVersion: 2 serializedVersion: 2
m_Bits: 0 m_Bits: 1
m_ExcludeLayers: m_ExcludeLayers:
serializedVersion: 2 serializedVersion: 2
m_Bits: 0 m_Bits: 0
@ -345,7 +345,7 @@ MonoBehaviour:
m_EditorClassIdentifier: m_EditorClassIdentifier:
minHealthPercent: 50 minHealthPercent: 50
maxHealthPercent: 100 maxHealthPercent: 100
health: 800 health: 300
boomClip: {fileID: 0} boomClip: {fileID: 0}
addEulerX: 0 addEulerX: 0
randomColors: randomColors:

View File

@ -643,19 +643,19 @@ MonoBehaviour:
muzzleFlare: {fileID: 4000010921236120, guid: 6a0a0f7a97e0e7747accda091cb14743, muzzleFlare: {fileID: 4000010921236120, guid: 6a0a0f7a97e0e7747accda091cb14743,
type: 3} type: 3}
bullet: {fileID: 4010437552377404, guid: 3e8f90cf5ace53541b8523ce5200cdc5, type: 3} bullet: {fileID: 4010437552377404, guid: 3e8f90cf5ace53541b8523ce5200cdc5, type: 3}
continueShotCount: 6 continueShotCount: 3
turret: {fileID: 1898544591301130533} turret: {fileID: 1898544591301130533}
gun: {fileID: 5342608149001152939} gun: {fileID: 5342608149001152939}
shotAudioClip: {fileID: 8300000, guid: 038911361e37ae84b8fdc585b7b83895, type: 3} shotAudioClip: {fileID: 8300000, guid: 038911361e37ae84b8fdc585b7b83895, type: 3}
hitAudioClip: {fileID: 8300000, guid: a6290313a43dc7c4fb5c684559b9b776, type: 3} hitAudioClip: {fileID: 8300000, guid: a6290313a43dc7c4fb5c684559b9b776, type: 3}
shotDuration: 0.3 shotDuration: 0.8
shotNextDuration: 0.1 shotNextDuration: 0.1
shotDistance: 20 shotDistance: 20
shotSpeed: 8 shotSpeed: 12
initBulletCount: 60 initBulletCount: 80
shotOffsetZMul: 0 shotOffsetZMul: 0
shotFixAngleX: 0 shotFixAngleX: 0
lerpSpeed: 5 lerpSpeed: 10
isAutoLock: 1 isAutoLock: 1
pressAction: {fileID: 76562581802851548, guid: 50486e0197319e948b872b25ef15b507, pressAction: {fileID: 76562581802851548, guid: 50486e0197319e948b872b25ef15b507,
type: 3} type: 3}

View File

@ -279,7 +279,7 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 18e44bc2064cb1c46b4422845bd22c3c, type: 3} m_Script: {fileID: 11500000, guid: 18e44bc2064cb1c46b4422845bd22c3c, type: 3}
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
initCount: 2 initCount: 5
radius: 1.8 radius: 1.8
splitAngle: 0 splitAngle: 0
isAlwaysForward: 1 isAlwaysForward: 1
@ -1347,7 +1347,7 @@ Transform:
m_GameObject: {fileID: 514426893} m_GameObject: {fileID: 514426893}
serializedVersion: 2 serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 1.35, z: -5} m_LocalPosition: {x: 0, y: 1, z: -5}
m_LocalScale: {x: 1, y: 1, z: 1} m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0 m_ConstrainProportionsScale: 0
m_Children: m_Children:
@ -1643,23 +1643,23 @@ MonoBehaviour:
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
ringManager: {fileID: 46038312} ringManager: {fileID: 46038312}
impact: {fileID: 4541196389373984, guid: af3f3fa832ef8314bb22c5462402c60c, type: 3} impact: {fileID: 4541196389373984, guid: e3f361eacdeb09440850ac7397930cba, type: 3}
muzzleFlare: {fileID: 4000010921236120, guid: 66ce0f27574363a4dabe7162e2636e3f, muzzleFlare: {fileID: 4000010921236120, guid: 2cc07ac0b88fafc40b730713b6dac672,
type: 3} type: 3}
bullet: {fileID: 4638688750665566, guid: 1b81ed6643072854688c442ec72032d6, type: 3} bullet: {fileID: 4836675779974994, guid: a2700d7f89910434081c7dc7c92e22ca, type: 3}
continueShotCount: 3 continueShotCount: 0
turret: {fileID: 0} turret: {fileID: 0}
gun: {fileID: 0} gun: {fileID: 0}
shotAudioClip: {fileID: 8300000, guid: 038911361e37ae84b8fdc585b7b83895, type: 3} shotAudioClip: {fileID: 8300000, guid: 038911361e37ae84b8fdc585b7b83895, type: 3}
hitAudioClip: {fileID: 8300000, guid: a6290313a43dc7c4fb5c684559b9b776, type: 3} hitAudioClip: {fileID: 8300000, guid: a6290313a43dc7c4fb5c684559b9b776, type: 3}
shotDuration: 0.2 shotDuration: 0.3
shotNextDuration: 0 shotNextDuration: 0.1
shotDistance: 20 shotDistance: 20
shotSpeed: 10 shotSpeed: 15
initBulletCount: 100 initBulletCount: 120
shotOffsetZMul: 0 shotOffsetZMul: 0
shotFixAngleX: 0 shotFixAngleX: 0
lerpSpeed: 8 lerpSpeed: 10
isAutoLock: 0 isAutoLock: 0
pressAction: {fileID: 76562581802851548, guid: 50486e0197319e948b872b25ef15b507, pressAction: {fileID: 76562581802851548, guid: 50486e0197319e948b872b25ef15b507,
type: 3} type: 3}
@ -2321,23 +2321,23 @@ MonoBehaviour:
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
ringManager: {fileID: 46038312} ringManager: {fileID: 46038312}
impact: {fileID: 4541196389373984, guid: af3f3fa832ef8314bb22c5462402c60c, type: 3} impact: {fileID: 4541196389373984, guid: e3f361eacdeb09440850ac7397930cba, type: 3}
muzzleFlare: {fileID: 4000010921236120, guid: 66ce0f27574363a4dabe7162e2636e3f, muzzleFlare: {fileID: 4000010921236120, guid: 2cc07ac0b88fafc40b730713b6dac672,
type: 3} type: 3}
bullet: {fileID: 4638688750665566, guid: 1b81ed6643072854688c442ec72032d6, type: 3} bullet: {fileID: 4836675779974994, guid: a2700d7f89910434081c7dc7c92e22ca, type: 3}
continueShotCount: 3 continueShotCount: 0
turret: {fileID: 0} turret: {fileID: 0}
gun: {fileID: 0} gun: {fileID: 0}
shotAudioClip: {fileID: 8300000, guid: 038911361e37ae84b8fdc585b7b83895, type: 3} shotAudioClip: {fileID: 8300000, guid: 038911361e37ae84b8fdc585b7b83895, type: 3}
hitAudioClip: {fileID: 8300000, guid: a6290313a43dc7c4fb5c684559b9b776, type: 3} hitAudioClip: {fileID: 8300000, guid: a6290313a43dc7c4fb5c684559b9b776, type: 3}
shotDuration: 0.2 shotDuration: 0.3
shotNextDuration: 0 shotNextDuration: 0.1
shotDistance: 20 shotDistance: 20
shotSpeed: 10 shotSpeed: 15
initBulletCount: 100 initBulletCount: 120
shotOffsetZMul: 0 shotOffsetZMul: 0
shotFixAngleX: 0 shotFixAngleX: 0
lerpSpeed: 8 lerpSpeed: 10
isAutoLock: 0 isAutoLock: 0
pressAction: {fileID: 76562581802851548, guid: 50486e0197319e948b872b25ef15b507, pressAction: {fileID: 76562581802851548, guid: 50486e0197319e948b872b25ef15b507,
type: 3} type: 3}
@ -2422,7 +2422,7 @@ RectTransform:
m_GameObject: {fileID: 1138813630} m_GameObject: {fileID: 1138813630}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 4.314236, y: 4.314236, z: 1} m_LocalScale: {x: 3.8472223, y: 3.8472223, z: 1}
m_ConstrainProportionsScale: 0 m_ConstrainProportionsScale: 0
m_Children: [] m_Children: []
m_Father: {fileID: 97192695} m_Father: {fileID: 97192695}
@ -3223,20 +3223,20 @@ MonoBehaviour:
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
ringManager: {fileID: 46038312} ringManager: {fileID: 46038312}
impact: {fileID: 4541196389373984, guid: af3f3fa832ef8314bb22c5462402c60c, type: 3} impact: {fileID: 4541196389373984, guid: e3f361eacdeb09440850ac7397930cba, type: 3}
muzzleFlare: {fileID: 4000010921236120, guid: 66ce0f27574363a4dabe7162e2636e3f, muzzleFlare: {fileID: 4000010921236120, guid: 2cc07ac0b88fafc40b730713b6dac672,
type: 3} type: 3}
bullet: {fileID: 4638688750665566, guid: 1b81ed6643072854688c442ec72032d6, type: 3} bullet: {fileID: 4836675779974994, guid: a2700d7f89910434081c7dc7c92e22ca, type: 3}
continueShotCount: 3 continueShotCount: 0
turret: {fileID: 0} turret: {fileID: 0}
gun: {fileID: 0} gun: {fileID: 0}
shotAudioClip: {fileID: 8300000, guid: 038911361e37ae84b8fdc585b7b83895, type: 3} shotAudioClip: {fileID: 8300000, guid: 038911361e37ae84b8fdc585b7b83895, type: 3}
hitAudioClip: {fileID: 8300000, guid: a6290313a43dc7c4fb5c684559b9b776, type: 3} hitAudioClip: {fileID: 8300000, guid: a6290313a43dc7c4fb5c684559b9b776, type: 3}
shotDuration: 0.2 shotDuration: 0.3
shotNextDuration: 0 shotNextDuration: 0.1
shotDistance: 20 shotDistance: 20
shotSpeed: 10 shotSpeed: 15
initBulletCount: 100 initBulletCount: 120
shotOffsetZMul: 0 shotOffsetZMul: 0
shotFixAngleX: 0 shotFixAngleX: 0
lerpSpeed: 8 lerpSpeed: 8
@ -3444,20 +3444,20 @@ MonoBehaviour:
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
ringManager: {fileID: 46038312} ringManager: {fileID: 46038312}
impact: {fileID: 4541196389373984, guid: af3f3fa832ef8314bb22c5462402c60c, type: 3} impact: {fileID: 4541196389373984, guid: e3f361eacdeb09440850ac7397930cba, type: 3}
muzzleFlare: {fileID: 4000010921236120, guid: 66ce0f27574363a4dabe7162e2636e3f, muzzleFlare: {fileID: 4000010921236120, guid: 2cc07ac0b88fafc40b730713b6dac672,
type: 3} type: 3}
bullet: {fileID: 4638688750665566, guid: 1b81ed6643072854688c442ec72032d6, type: 3} bullet: {fileID: 4836675779974994, guid: a2700d7f89910434081c7dc7c92e22ca, type: 3}
continueShotCount: 3 continueShotCount: 0
turret: {fileID: 0} turret: {fileID: 0}
gun: {fileID: 0} gun: {fileID: 0}
shotAudioClip: {fileID: 8300000, guid: 038911361e37ae84b8fdc585b7b83895, type: 3} shotAudioClip: {fileID: 8300000, guid: 038911361e37ae84b8fdc585b7b83895, type: 3}
hitAudioClip: {fileID: 8300000, guid: a6290313a43dc7c4fb5c684559b9b776, type: 3} hitAudioClip: {fileID: 8300000, guid: a6290313a43dc7c4fb5c684559b9b776, type: 3}
shotDuration: 0.2 shotDuration: 0.3
shotNextDuration: 0 shotNextDuration: 0.1
shotDistance: 20 shotDistance: 20
shotSpeed: 10 shotSpeed: 15
initBulletCount: 100 initBulletCount: 120
shotOffsetZMul: 0 shotOffsetZMul: 0
shotFixAngleX: 0 shotFixAngleX: 0
lerpSpeed: 8 lerpSpeed: 8
@ -3784,20 +3784,20 @@ MonoBehaviour:
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
ringManager: {fileID: 46038312} ringManager: {fileID: 46038312}
impact: {fileID: 4541196389373984, guid: af3f3fa832ef8314bb22c5462402c60c, type: 3} impact: {fileID: 4541196389373984, guid: e3f361eacdeb09440850ac7397930cba, type: 3}
muzzleFlare: {fileID: 4000010921236120, guid: 66ce0f27574363a4dabe7162e2636e3f, muzzleFlare: {fileID: 4000010921236120, guid: 2cc07ac0b88fafc40b730713b6dac672,
type: 3} type: 3}
bullet: {fileID: 4638688750665566, guid: 1b81ed6643072854688c442ec72032d6, type: 3} bullet: {fileID: 4836675779974994, guid: a2700d7f89910434081c7dc7c92e22ca, type: 3}
continueShotCount: 3 continueShotCount: 0
turret: {fileID: 0} turret: {fileID: 0}
gun: {fileID: 0} gun: {fileID: 0}
shotAudioClip: {fileID: 8300000, guid: 038911361e37ae84b8fdc585b7b83895, type: 3} shotAudioClip: {fileID: 8300000, guid: 038911361e37ae84b8fdc585b7b83895, type: 3}
hitAudioClip: {fileID: 8300000, guid: a6290313a43dc7c4fb5c684559b9b776, type: 3} hitAudioClip: {fileID: 8300000, guid: a6290313a43dc7c4fb5c684559b9b776, type: 3}
shotDuration: 0.2 shotDuration: 0.3
shotNextDuration: 0 shotNextDuration: 0.1
shotDistance: 20 shotDistance: 20
shotSpeed: 10 shotSpeed: 15
initBulletCount: 100 initBulletCount: 120
shotOffsetZMul: 0 shotOffsetZMul: 0
shotFixAngleX: 0 shotFixAngleX: 0
lerpSpeed: 8 lerpSpeed: 8
@ -3833,7 +3833,7 @@ RectTransform:
m_GameObject: {fileID: 2083258305} m_GameObject: {fileID: 2083258305}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 4.314236, y: 4.314236, z: 1} m_LocalScale: {x: 3.8472223, y: 3.8472223, z: 1}
m_ConstrainProportionsScale: 0 m_ConstrainProportionsScale: 0
m_Children: [] m_Children: []
m_Father: {fileID: 97192695} m_Father: {fileID: 97192695}

View File

@ -4,9 +4,10 @@ using UnityEngine;
public class NextShotInfo public class NextShotInfo
{ {
public Transform bulletObj { get; set; } = null; public Transform BulletObj { get; set; } = null;
public Enemy Enemy { get; set; } = null; public Enemy LockEnemy { get; set; } = null;
public Enemy BeforeLockTarget { get; set; } = null;
public int CurrentShotCount { get; set; } = 0; public int CurrentShotCount { get; set; } = 0;

View File

@ -112,19 +112,22 @@ namespace Assets.Scripts
void FixedUpdate() void FixedUpdate()
{ {
if (Missile) if (thisRigidbody != null)
{ {
projectileSpeed += projectileSpeed * projectileSpeedMultiplier; if (Missile)
// transform.position = Vector3.MoveTowards(transform.position, missileTarget.transform.position, 0); {
projectileSpeed += projectileSpeed * projectileSpeedMultiplier;
// transform.position = Vector3.MoveTowards(transform.position, missileTarget.transform.position, 0);
transform.LookAt(missileTarget); transform.LookAt(missileTarget);
thisRigidbody.AddForce(transform.forward * projectileSpeed); thisRigidbody.AddForce(transform.forward * projectileSpeed);
} }
if (LookRotation && timer >= 0.05f && !thisRigidbody.velocity.Equals(Vector3.zero)) if (LookRotation && timer >= 0.05f && !thisRigidbody.velocity.Equals(Vector3.zero))
{ {
transform.rotation = Quaternion.LookRotation(thisRigidbody.velocity); transform.rotation = Quaternion.LookRotation(thisRigidbody.velocity);
}
} }
CheckCollision(previousPosition); CheckCollision(previousPosition);
@ -195,7 +198,7 @@ namespace Assets.Scripts
return;//穿过 return;//穿过
} }
//穿墙处理 //穿墙处理
if (hit.collider.gameObject.IsDestroyed()) if (hit.collider.gameObject == null)
{ {
return;//穿过 return;//穿过
} }

View File

@ -2,6 +2,7 @@ using Assets.Scripts;
using DG.Tweening; using DG.Tweening;
using DG.Tweening.Core; using DG.Tweening.Core;
using DG.Tweening.Plugins.Options; using DG.Tweening.Plugins.Options;
using System;
using System.Collections; using System.Collections;
using System.Collections.Concurrent; using System.Collections.Concurrent;
using System.Collections.Generic; using System.Collections.Generic;
@ -66,7 +67,7 @@ public class Shot : MonoBehaviour
private Vector3 turretLerpEuler = Vector3.zero; private Vector3 turretLerpEuler = Vector3.zero;
private float smoothXAngle = 0f; private float smoothXAngle = 0f;
private float targetXAngle = 0f; private float targetXAngle = 0f;
private float hitDistance = 0.1f; // 命中检测距离阈值 private float hitDistance = 0.3f; // 命中检测距离阈值
private bool isCanShot = false; private bool isCanShot = false;
private bool isStartAttack = false; private bool isStartAttack = false;
private ConcurrentQueue<NextShotInfo> nextShotInfos = new(); private ConcurrentQueue<NextShotInfo> nextShotInfos = new();
@ -289,7 +290,7 @@ public class Shot : MonoBehaviour
{ {
if (shotNextDuration == 0) if (shotNextDuration == 0)
{ {
yield return null; yield return new WaitForEndOfFrame();
} }
else else
{ {
@ -297,7 +298,7 @@ public class Shot : MonoBehaviour
} }
if (nextShotInfos.TryDequeue(out NextShotInfo info)) if (nextShotInfos.TryDequeue(out NextShotInfo info))
{ {
SingleShot(info.Enemy, true, info.CurrentShotCount, info.InitBulletPos, info.bulletObj); SingleShot(info.LockEnemy, true, info.CurrentShotCount, info.InitBulletPos, info.BulletObj, info.BeforeLockTarget);
} }
} }
} }
@ -309,7 +310,7 @@ public class Shot : MonoBehaviour
/// <param name="isNextLineShot">是否弹射</param> /// <param name="isNextLineShot">是否弹射</param>
/// <param name="initBulletPos"></param> /// <param name="initBulletPos"></param>
/// <param name="bulletObj"></param> /// <param name="bulletObj"></param>
private void SingleShot(Enemy lockEnemy, bool isNextLineShot, int currentShotCount = 0, Vector3? initBulletPos = null, Transform bulletObj = null) private void SingleShot(Enemy lockEnemy, bool isNextLineShot, int currentShotCount = 0, Vector3? initBulletPos = null, Transform bulletObj = null, Enemy beforeLockTarget = null)
{ {
//Debug.Log(currentShotCount + ":" + initBulletPos); //Debug.Log(currentShotCount + ":" + initBulletPos);
Transform muzzleObj = null; Transform muzzleObj = null;
@ -326,7 +327,7 @@ public class Shot : MonoBehaviour
if (bulletObj != null) if (bulletObj != null)
{ {
// 1. 强制重置所有状态 // 1. 强制重置所有状态
//PoolTool.ResetTransform(bulletObj); PoolTool.ResetTransform(bulletObj);
// 6. 激活对象 // 6. 激活对象
bulletObj.gameObject.SetActive(true); bulletObj.gameObject.SetActive(true);
// 10. 播放音效 // 10. 播放音效
@ -355,6 +356,7 @@ public class Shot : MonoBehaviour
// 7. 获取子弹组件并重置状态 // 7. 获取子弹组件并重置状态
var bulletComp = bulletObj.GetComponent<Bullet>(); var bulletComp = bulletObj.GetComponent<Bullet>();
bulletComp.BeforeHitTarget = beforeLockTarget;
bulletComp.IsAutoLock = isAutoLock; bulletComp.IsAutoLock = isAutoLock;
bulletComp.IsShoting = true; bulletComp.IsShoting = true;
var beforeHitTargetTransform = bulletComp.BeforeHitTarget == null ? null : bulletComp.BeforeHitTarget.transform; var beforeHitTargetTransform = bulletComp.BeforeHitTarget == null ? null : bulletComp.BeforeHitTarget.transform;
@ -399,8 +401,9 @@ public class Shot : MonoBehaviour
muzzleObj.transform.LookAt(bulletComp.ShotTargetPosition); muzzleObj.transform.LookAt(bulletComp.ShotTargetPosition);
} }
//每次创建前 Kill 旧 Tween //每次创建前 Kill 旧 Tween
bulletComp.Tweener?.Kill(false); //bulletComp.Tweener?.Kill(false);
//var worldTop = _cam.ScreenToWorldPoint(new Vector3(0, Screen.height, _cam.nearClipPlane)); //var worldTop = _cam.ScreenToWorldPoint(new Vector3(0, Screen.height, _cam.nearClipPlane));
//var yDistance = worldTop.z - transform.position.z; //var yDistance = worldTop.z - transform.position.z;
//float shotDuration = 1f / shotSpeed; //float shotDuration = 1f / shotSpeed;
@ -425,7 +428,6 @@ public class Shot : MonoBehaviour
//{ //{
// Debug.Log("Play"); // Debug.Log("Play");
//}) //})
//.SetLoops(0) // 不循环
.OnUpdate(() => .OnUpdate(() =>
{ {
//// 每帧修正朝向(对准目标) //// 每帧修正朝向(对准目标)
@ -473,29 +475,26 @@ public class Shot : MonoBehaviour
//if (isNextLineShot) //if (isNextLineShot)
//{ //{
//非自动锁定状态,在轨迹更新过程中也判断是否击中 //非自动锁定状态,在轨迹更新过程中也判断是否击中
if (CalcBulletBoom(bulletComp)) if (CalcBulletBoom(bulletComp))
{ {
bulletObj.DOComplete(true); bulletObj.DOComplete(true);
bulletObj.DOKill(); bulletObj.DOKill();
} }
//} //}
}) })
.OnComplete(() => .OnComplete(() =>
{ {
//if (currentShotCount > 0)
//{
// Debug.Log(currentShotCount);
//}
bool isBulletHitted = CalcBulletBoom(bulletComp); bool isBulletHitted = CalcBulletBoom(bulletComp);
if (bulletComp.HitTarget != null && hitAudioClip != null)
{
AudioTool.AudioSource.PlayOneShot(hitAudioClip);
}
if (bulletComp.HitTarget != null) if (bulletComp.HitTarget != null)
{ {
if (hitAudioClip != null)
{
AudioTool.AudioSource.PlayOneShot(hitAudioClip);
}
currentShotCount++; currentShotCount++;
if (currentShotCount <= continueShotCount) if (currentShotCount <= continueShotCount)
{ {
@ -505,8 +504,6 @@ public class Shot : MonoBehaviour
var nextLockTarget = GetNearestEnemyFromTransform(bulletObj, bulletComp.HitTarget == null ? bulletObj : bulletComp.HitTarget.transform); var nextLockTarget = GetNearestEnemyFromTransform(bulletObj, bulletComp.HitTarget == null ? bulletObj : bulletComp.HitTarget.transform);
if (nextLockTarget != null) if (nextLockTarget != null)
{ {
//SingleShot(nextLockTarget, bulletComp.transform.position, bulletComp.transform);//弹射
//InitBulletPos = lockTargetPos,从击中的目标位置开始弹射
Vector3 initBulletPos = bulletObj.position; Vector3 initBulletPos = bulletObj.position;
Transform hitTransform = null; Transform hitTransform = null;
if (bulletComp.HitTarget != null) if (bulletComp.HitTarget != null)
@ -517,11 +514,12 @@ public class Shot : MonoBehaviour
CheckBulletBoom(isBulletHitted, bulletComp, false); CheckBulletBoom(isBulletHitted, bulletComp, false);
bulletComp.ResetEnemyTargets(); bulletComp.ResetEnemyTargets();
nextShotInfos.Enqueue(new NextShotInfo { CurrentShotCount = currentShotCount, Enemy = nextLockTarget, InitBulletPos = initBulletPos, bulletObj = bulletObj });
SingleShot(nextLockTarget, true, currentShotCount, initBulletPos, null, bulletComp.BeforeHitTarget);//连线射击
//nextShotInfos.Enqueue(new NextShotInfo { CurrentShotCount = currentShotCount, LockEnemy = nextLockTarget, InitBulletPos = initBulletPos, BulletObj = null, BeforeLockTarget = bulletComp.BeforeHitTarget });
PoolTool.RecycleBulletToPool(bulletObj, this.bulletPool, this.activeBulletPool);
//SingleShot(nextLockTarget, true, currentShotCount, initBulletPos, bulletObj);//连线射击
//PoolTool.RecycleBulletToPool(bulletObj, this.bulletPool, this.activeBulletPool);
} }
else else
{ {
@ -537,6 +535,10 @@ public class Shot : MonoBehaviour
{ {
CheckBulletBoom(isBulletHitted, bulletComp); CheckBulletBoom(isBulletHitted, bulletComp);
} }
//if (currentShotCount > 0)
//{
// Debug.Log(currentShotCount);
//}
}); });
//// 8. 子弹飞行(使用线性缓动,强制世界坐标) //// 8. 子弹飞行(使用线性缓动,强制世界坐标)
//yield return bulletObj.DOMove(targetPos, shotSpeed) //yield return bulletObj.DOMove(targetPos, shotSpeed)
@ -610,11 +612,11 @@ public class Shot : MonoBehaviour
var impact = PoolTool.GetFromPool(this.impactPool, this.activeBulletPool, this.activeImpactPool); //Instantiate(impactPrefab, point, rot); var impact = PoolTool.GetFromPool(this.impactPool, this.activeBulletPool, this.activeImpactPool); //Instantiate(impactPrefab, point, rot);
bulletComp.InitImpact(hitPosition.Value, targetDir, impact);//爆炸效果 bulletComp.InitImpact(hitPosition.Value, targetDir, impact);//爆炸效果
//if (bulletComp.Tweener != null) //if (bulletComp.Tweener != null)
//{ //{
// bulletComp.Tweener.Complete(withCallback); // bulletComp.Tweener.Complete(withCallback);
//} //}
//bulletComp.transform.DOKill(); //bulletComp.transform.DOKill();
if (isDestroyed) if (isDestroyed)
{ {
lockEnemy = null; lockEnemy = null;
@ -628,38 +630,39 @@ public class Shot : MonoBehaviour
{ {
bool isBulletHitted = false; bool isBulletHitted = false;
// 命中检测(距离达标则触发效果) // 命中检测(距离达标则触发效果)
if (bulletComp.gameObject != null)
if (bulletComp.HitTarget != null)
{ {
if (bulletComp.HitTarget != null) return true;
{ }
return true; else
} {
else //在摄像机看到的屏幕范围之外,销毁子弹
{ isBulletHitted = !VisibilityTool.IsObjectInFrustum(bulletComp.gameObject, _cam);
//在摄像机看到的屏幕范围之外,销毁子弹 }
isBulletHitted = !VisibilityTool.IsObjectInFrustum(bulletComp.gameObject, _cam); if (!isBulletHitted && bulletComp.LockTarget != null)
} {
if (!isBulletHitted && bulletComp.LockTarget != null && bulletComp.HitTarget != bulletComp.BeforeHitTarget) if (bulletComp.LockTarget != bulletComp.BeforeHitTarget)
{ {
float currentDistance = Vector3.Distance(bulletComp.transform.position, bulletComp.LockTarget.transform.position); float currentDistance = Vector3.Distance(bulletComp.transform.position, bulletComp.LockTarget.transform.position);
isBulletHitted = currentDistance < hitDistance;
if (isBulletHitted) if (currentDistance < hitDistance)
{ {
isBulletHitted = true;
bulletComp.currentHitPosition = bulletComp.LockTarget.transform.position; bulletComp.currentHitPosition = bulletComp.LockTarget.transform.position;
bulletComp.HitTarget = bulletComp.LockTarget; bulletComp.HitTarget = bulletComp.LockTarget;
bulletComp.BeforeHitTarget = bulletComp.HitTarget; bulletComp.BeforeHitTarget = bulletComp.HitTarget;
bulletComp.IsShoting = false; bulletComp.IsShoting = false;
} }
} }
//if (isDestroyed)
//{
// bulletComp.Tweener.Kill(true);
// //bulletObj.DOKill(true); // 停止Tween
//}
// HitTarget(bulletObj, muzzleObj);
//}
} }
//if (isDestroyed)
//{
// bulletComp.Tweener.Kill(true);
// //bulletObj.DOKill(true); // 停止Tween
//}
// HitTarget(bulletObj, muzzleObj);
//}
return isBulletHitted; return isBulletHitted;
} }

View File

@ -29,7 +29,7 @@ MonoBehaviour:
HideAfterCallMain: 1 HideAfterCallMain: 1
preloadFiles: preloadFiles:
Orientation: 0 Orientation: 0
bgImageSrc: Assets/TowerDefence/Images/SplashScreen/SplashScreen.jpg bgImageSrc: Assets/Game1/Images/SplashScreen/SplashScreen2.jpg
dataFileSubPrefix: dataFileSubPrefix:
maxStorage: 200 maxStorage: 200
defaultReleaseSize: 31457280 defaultReleaseSize: 31457280