From 604d592ee8cfd5d39d0c21b1b26c0bc3f0bc9b98 Mon Sep 17 00:00:00 2001 From: Sc0rch-thinks <148170263+Sc0rch-thinks@users.noreply.github.com> Date: Tue, 2 Jul 2024 10:42:09 +0800 Subject: [PATCH] make working enermy with ai --- Assets/Prefabs/Bullet.prefab | 15 + Assets/Prefabs/enemyGun.prefab | 1278 +++++++++++++++++ Assets/Prefabs/enemyGun.prefab.meta | 7 + Assets/Prefabs/gun.prefab | 2 +- Assets/Scenes/Terrain.unity | 443 +++++- Assets/Scenes/Terrain/NavMesh-navMesh.asset | Bin 0 -> 369548 bytes .../Scenes/Terrain/NavMesh-navMesh.asset.meta | 8 + Assets/Scripts/Bullet.cs | 39 + Assets/Scripts/Bullet.cs.meta | 11 + Assets/Scripts/CharactorControl.cs | 19 +- Assets/Scripts/EnemyAi.cs | 107 ++ Assets/Scripts/EnemyAi.cs.meta | 11 + Assets/Scripts/GameManager.cs | 4 + Assets/Scripts/Gun.cs | 14 +- Assets/Scripts/enemyGun.cs | 106 ++ Assets/Scripts/enemyGun.cs.meta | 11 + .../Scripts/FirstPersonController.cs | 495 ++++--- ProjectSettings/NavMeshAreas.asset | 6 +- ProjectSettings/TagManager.asset | 5 +- 19 files changed, 2341 insertions(+), 240 deletions(-) create mode 100644 Assets/Prefabs/enemyGun.prefab create mode 100644 Assets/Prefabs/enemyGun.prefab.meta create mode 100644 Assets/Scenes/Terrain/NavMesh-navMesh.asset create mode 100644 Assets/Scenes/Terrain/NavMesh-navMesh.asset.meta create mode 100644 Assets/Scripts/Bullet.cs create mode 100644 Assets/Scripts/Bullet.cs.meta create mode 100644 Assets/Scripts/EnemyAi.cs create mode 100644 Assets/Scripts/EnemyAi.cs.meta create mode 100644 Assets/Scripts/enemyGun.cs create mode 100644 Assets/Scripts/enemyGun.cs.meta diff --git a/Assets/Prefabs/Bullet.prefab b/Assets/Prefabs/Bullet.prefab index 92f0f74..a5e46ad 100644 --- a/Assets/Prefabs/Bullet.prefab +++ b/Assets/Prefabs/Bullet.prefab @@ -13,6 +13,7 @@ GameObject: - component: {fileID: 6916749199650078309} - component: {fileID: 2578125575657415053} - component: {fileID: 6778915936728483955} + - component: {fileID: 2372079994149255709} m_Layer: 0 m_Name: Bullet m_TagString: Untagged @@ -133,3 +134,17 @@ Rigidbody: m_Interpolate: 0 m_Constraints: 0 m_CollisionDetection: 0 +--- !u!114 &2372079994149255709 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 634305283682154916} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 69125b331043ed74c8631d9a8966bbbb, type: 3} + m_Name: + m_EditorClassIdentifier: + damage: 65 + lifespan: 5 diff --git a/Assets/Prefabs/enemyGun.prefab b/Assets/Prefabs/enemyGun.prefab new file mode 100644 index 0000000..d34ab16 --- /dev/null +++ b/Assets/Prefabs/enemyGun.prefab @@ -0,0 +1,1278 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &352175154695178830 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5600926003155382892} + - component: {fileID: 4811784748679403472} + - component: {fileID: 3921931654308496636} + m_Layer: 0 + m_Name: pCylinder9 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5600926003155382892 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 352175154695178830} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.078308105, y: 0.3005638, z: 0.7543335} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 6958526823809854691} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &4811784748679403472 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 352175154695178830} + m_Mesh: {fileID: 3191843991455854740, guid: 9aedb11bd32d30c469b7cf68dc632490, type: 3} +--- !u!23 &3921931654308496636 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 352175154695178830} + 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_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 92bd7f3ca4f2e4b43b51c23af0bba5ff, 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} +--- !u!1 &393469792480151230 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7450769294663064201} + - component: {fileID: 4399316078565565955} + - component: {fileID: 7006400769205432604} + m_Layer: 0 + m_Name: barrel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7450769294663064201 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 393469792480151230} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0.16127396, z: 1.4985962} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 6958526823809854691} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &4399316078565565955 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 393469792480151230} + m_Mesh: {fileID: -2643173543783292932, guid: 9aedb11bd32d30c469b7cf68dc632490, type: 3} +--- !u!23 &7006400769205432604 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 393469792480151230} + 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_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 92bd7f3ca4f2e4b43b51c23af0bba5ff, 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} +--- !u!1 &431762038187551025 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1953846403385642888} + - component: {fileID: 6414510203100815995} + - component: {fileID: 4556303180761378938} + m_Layer: 0 + m_Name: upperHandGuard + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1953846403385642888 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 431762038187551025} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0.2978058, z: 1.1634521} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 6958526823809854691} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &6414510203100815995 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 431762038187551025} + m_Mesh: {fileID: 4116760541611800120, guid: 9aedb11bd32d30c469b7cf68dc632490, type: 3} +--- !u!23 &4556303180761378938 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 431762038187551025} + 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_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 92bd7f3ca4f2e4b43b51c23af0bba5ff, 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} +--- !u!1 &504783793916288466 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4240492337292389509} + - component: {fileID: 4632470268941069692} + - component: {fileID: 2083322147064059240} + m_Layer: 0 + m_Name: sight + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4240492337292389509 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 504783793916288466} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0.32463455, z: 1.7954712} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 6958526823809854691} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &4632470268941069692 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 504783793916288466} + m_Mesh: {fileID: -5255139396741013183, guid: 9aedb11bd32d30c469b7cf68dc632490, type: 3} +--- !u!23 &2083322147064059240 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 504783793916288466} + 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_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 92bd7f3ca4f2e4b43b51c23af0bba5ff, 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} +--- !u!1 &1903334001548594563 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8969195892487355903} + - component: {fileID: 9131049191627644061} + - component: {fileID: 4483062776402177515} + m_Layer: 0 + m_Name: connector + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8969195892487355903 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1903334001548594563} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0.25196838, z: 0.78338623} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 6958526823809854691} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &9131049191627644061 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1903334001548594563} + m_Mesh: {fileID: 6331699949393592215, guid: 9aedb11bd32d30c469b7cf68dc632490, type: 3} +--- !u!23 &4483062776402177515 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1903334001548594563} + 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_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 92bd7f3ca4f2e4b43b51c23af0bba5ff, 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} +--- !u!1 &2002591329277358064 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1711031782685820461} + - component: {fileID: 608434376327957510} + - component: {fileID: 1695527067471757585} + m_Layer: 0 + m_Name: body + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1711031782685820461 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2002591329277358064} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.0014648438, y: 0.10227203, z: -0.21160889} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 6958526823809854691} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &608434376327957510 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2002591329277358064} + m_Mesh: {fileID: -8545447256379345787, guid: 9aedb11bd32d30c469b7cf68dc632490, type: 3} +--- !u!23 &1695527067471757585 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2002591329277358064} + 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_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 92bd7f3ca4f2e4b43b51c23af0bba5ff, 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} +--- !u!1 &3256733481818731413 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1527464842209486219} + - component: {fileID: 7073835015673784636} + - component: {fileID: 5543788590406679922} + m_Layer: 0 + m_Name: mag + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1527464842209486219 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3256733481818731413} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.0014648438, y: 0.10227203, z: -0.21160889} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 6958526823809854691} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &7073835015673784636 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3256733481818731413} + m_Mesh: {fileID: -7371548420364037637, guid: 9aedb11bd32d30c469b7cf68dc632490, type: 3} +--- !u!23 &5543788590406679922 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3256733481818731413} + 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_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 92bd7f3ca4f2e4b43b51c23af0bba5ff, 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} +--- !u!1 &3912322232318633615 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8158722186365934527} + - component: {fileID: 7473115974049695301} + - component: {fileID: 7770727259097659619} + m_Layer: 0 + m_Name: lowerHandGuard + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8158722186365934527 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3912322232318633615} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0.19859695, z: 0.64019775} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 6958526823809854691} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &7473115974049695301 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3912322232318633615} + m_Mesh: {fileID: -93026142349622505, guid: 9aedb11bd32d30c469b7cf68dc632490, type: 3} +--- !u!23 &7770727259097659619 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3912322232318633615} + 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_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 92bd7f3ca4f2e4b43b51c23af0bba5ff, 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} +--- !u!1 &3922298487389849311 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 6958526823809854691} + m_Layer: 0 + m_Name: gunModel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &6958526823809854691 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 3922298487389849311} + 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: 7450769294663064201} + - {fileID: 1711031782685820461} + - {fileID: 8897904649621753109} + - {fileID: 4061915505682666442} + - {fileID: 8969195892487355903} + - {fileID: 5952390729242794329} + - {fileID: 1586392496564829850} + - {fileID: 4240492337292389509} + - {fileID: 1601292931010815637} + - {fileID: 8158722186365934527} + - {fileID: 1527464842209486219} + - {fileID: 3394396300854796239} + - {fileID: 2424025927640724705} + - {fileID: 5600926003155382892} + - {fileID: 1953846403385642888} + m_Father: {fileID: 4049575175909728394} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &4424867631591570424 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4061915505682666442} + - component: {fileID: 6379343935018985233} + - component: {fileID: 3809052640467660771} + m_Layer: 0 + m_Name: chargingHandle + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4061915505682666442 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4424867631591570424} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.0016479492, y: 0.2469368, z: 0.16625977} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 6958526823809854691} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &6379343935018985233 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4424867631591570424} + m_Mesh: {fileID: 8513470538697225359, guid: 9aedb11bd32d30c469b7cf68dc632490, type: 3} +--- !u!23 &3809052640467660771 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 4424867631591570424} + 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_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 92bd7f3ca4f2e4b43b51c23af0bba5ff, 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} +--- !u!1 &6477937192916097585 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3667938079209885091} + m_Layer: 0 + m_Name: bullet spawn + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3667938079209885091 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 6477937192916097585} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0.16204071, z: 1.776062} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 4049575175909728394} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &7931695571227507316 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1586392496564829850} + - component: {fileID: 7361965105531518121} + - component: {fileID: 2157346081388109918} + m_Layer: 0 + m_Name: outerBarrel + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1586392496564829850 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7931695571227507316} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0.16204071, z: 1.776062} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 6958526823809854691} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &7361965105531518121 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7931695571227507316} + m_Mesh: {fileID: -8554965090681762719, guid: 9aedb11bd32d30c469b7cf68dc632490, type: 3} +--- !u!23 &2157346081388109918 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7931695571227507316} + 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_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 92bd7f3ca4f2e4b43b51c23af0bba5ff, 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} +--- !u!1 &7938632458746094310 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 4049575175909728394} + - component: {fileID: 6064497003828031006} + m_Layer: 0 + m_Name: enemyGun + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &4049575175909728394 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7938632458746094310} + 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: 3667938079209885091} + - {fileID: 6958526823809854691} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &6064497003828031006 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7938632458746094310} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 18624a89c27eb0148ada0783bcd1a5ec, type: 3} + m_Name: + m_EditorClassIdentifier: + bullet: {fileID: 634305283682154916, guid: 0cdcaff5ba3a0694d9c72b9d52a715b2, type: 3} + magSize: 25 + damage: 10 + timeBtwShots: 0.8 + range: 60 + reloadTime: 5 + bulletsPerFire: 1 + automaticFire: 1 + fpsCam: {fileID: 0} + bulletSpawn: {fileID: 3667938079209885091} + allowInvoke: 1 + mag: {fileID: 3256733481818731413} +--- !u!1 &8170941306268412298 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 3394396300854796239} + - component: {fileID: 5979494891314552960} + - component: {fileID: 3491540512921626558} + m_Layer: 0 + m_Name: pistolGrip + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &3394396300854796239 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8170941306268412298} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0.020324707, z: -0.01184082} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 6958526823809854691} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &5979494891314552960 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8170941306268412298} + m_Mesh: {fileID: 4205433348937012685, guid: 9aedb11bd32d30c469b7cf68dc632490, type: 3} +--- !u!23 &3491540512921626558 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8170941306268412298} + 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_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 92bd7f3ca4f2e4b43b51c23af0bba5ff, 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} +--- !u!1 &8610090423908652874 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8897904649621753109} + - component: {fileID: 2350752140675196099} + - component: {fileID: 6745068678394399354} + m_Layer: 0 + m_Name: buttStock + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8897904649621753109 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8610090423908652874} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -0.0020751953, y: 0.19382858, z: -0.27026367} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 6958526823809854691} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &2350752140675196099 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8610090423908652874} + m_Mesh: {fileID: -8960308224768940931, guid: 9aedb11bd32d30c469b7cf68dc632490, type: 3} +--- !u!23 &6745068678394399354 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8610090423908652874} + 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_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 92bd7f3ca4f2e4b43b51c23af0bba5ff, 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} +--- !u!1 &8915486175941423406 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 5952390729242794329} + m_Layer: 0 + m_Name: front_sight + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &5952390729242794329 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8915486175941423406} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: -0.6794815, z: 0.5611572} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 6958526823809854691} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &9082472695904690171 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1601292931010815637} + - component: {fileID: 7779447930816546479} + - component: {fileID: 5865114198426700862} + m_Layer: 0 + m_Name: gas_tube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1601292931010815637 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9082472695904690171} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0.24972153, z: 1.2861938} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 6958526823809854691} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &7779447930816546479 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9082472695904690171} + m_Mesh: {fileID: 489659322622250481, guid: 9aedb11bd32d30c469b7cf68dc632490, type: 3} +--- !u!23 &5865114198426700862 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9082472695904690171} + 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_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 92bd7f3ca4f2e4b43b51c23af0bba5ff, 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} +--- !u!1 &9120277079391764956 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2424025927640724705} + m_Layer: 0 + m_Name: rear_sight_assembly + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &2424025927640724705 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9120277079391764956} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0.3005638, z: 0.7543335} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 6958526823809854691} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/Assets/Prefabs/enemyGun.prefab.meta b/Assets/Prefabs/enemyGun.prefab.meta new file mode 100644 index 0000000..cda21fc --- /dev/null +++ b/Assets/Prefabs/enemyGun.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 0cb9e1bb0725a89488a294c55923e082 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/gun.prefab b/Assets/Prefabs/gun.prefab index 77ed164..a82142b 100644 --- a/Assets/Prefabs/gun.prefab +++ b/Assets/Prefabs/gun.prefab @@ -589,7 +589,7 @@ Transform: m_GameObject: {fileID: 3366665043858970863} serializedVersion: 2 m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 633.38696, y: 53.228, z: 712.275} + m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_ConstrainProportionsScale: 0 m_Children: diff --git a/Assets/Scenes/Terrain.unity b/Assets/Scenes/Terrain.unity index 0dd8889..c3090f0 100644 --- a/Assets/Scenes/Terrain.unity +++ b/Assets/Scenes/Terrain.unity @@ -377,6 +377,38 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 367155638} m_CullTransparentMesh: 1 +--- !u!1 &376520021 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 376520022} + m_Layer: 8 + m_Name: hand + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &376520022 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 376520021} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0.569, y: 0, z: 0.253} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 5722651808059730734} + m_Father: {fileID: 7523861224561778816} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &565925926 stripped GameObject: m_CorrespondingSourceObject: {fileID: 253673096910479318, guid: fcc3124eb1a35354d8faf61ffa67d814, @@ -406,7 +438,7 @@ GameObject: m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 - m_IsActive: 1 + m_IsActive: 0 --- !u!4 &870943463 Transform: m_ObjectHideFlags: 0 @@ -430,7 +462,7 @@ VFXRenderer: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 870943462} - m_Enabled: 1 + m_Enabled: 0 m_CastShadows: 0 m_ReceiveShadows: 0 m_DynamicOccludee: 1 @@ -623,7 +655,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 1084962702} - m_Layer: 8 + m_Layer: 7 m_Name: hand position m_TagString: Untagged m_Icon: {fileID: 0} @@ -760,6 +792,8 @@ MonoBehaviour: m_EditorClassIdentifier: playerCamera: {fileID: 781711374} seeDistance: 5 + CurrentGun: {fileID: 0} + holdingGun: {fileID: 0} hand: {fileID: 1084962701} --- !u!4 &1312533610 stripped Transform: @@ -812,6 +846,21 @@ PrefabInstance: propertyPath: SprintSpeed value: 20 objectReference: {fileID: 0} + - target: {fileID: 453084650579209855, guid: 035bf1ba97d19214580cfe6f5a29fdc3, + type: 3} + propertyPath: m_Layer + value: 7 + objectReference: {fileID: 0} + - target: {fileID: 2351121289802177058, guid: 035bf1ba97d19214580cfe6f5a29fdc3, + type: 3} + propertyPath: m_Layer + value: 7 + objectReference: {fileID: 0} + - target: {fileID: 2862278905431641492, guid: 035bf1ba97d19214580cfe6f5a29fdc3, + type: 3} + propertyPath: m_Layer + value: 7 + objectReference: {fileID: 0} - target: {fileID: 2862278905431641495, guid: 035bf1ba97d19214580cfe6f5a29fdc3, type: 3} propertyPath: CameraDistance @@ -827,6 +876,16 @@ PrefabInstance: propertyPath: m_LocalPosition.z value: 0 objectReference: {fileID: 0} + - target: {fileID: 2862278905927073192, guid: 035bf1ba97d19214580cfe6f5a29fdc3, + type: 3} + propertyPath: m_Layer + value: 7 + objectReference: {fileID: 0} + - target: {fileID: 4253012990419024489, guid: 035bf1ba97d19214580cfe6f5a29fdc3, + type: 3} + propertyPath: m_Layer + value: 7 + objectReference: {fileID: 0} - target: {fileID: 4253012990419024491, guid: 035bf1ba97d19214580cfe6f5a29fdc3, type: 3} propertyPath: m_Enabled @@ -867,6 +926,11 @@ PrefabInstance: propertyPath: m_LocalRotation.z value: -0 objectReference: {fileID: 0} + - target: {fileID: 5126527961139664765, guid: 035bf1ba97d19214580cfe6f5a29fdc3, + type: 3} + propertyPath: m_Layer + value: 7 + objectReference: {fileID: 0} - target: {fileID: 5126527961139664767, guid: 035bf1ba97d19214580cfe6f5a29fdc3, type: 3} propertyPath: field of view @@ -892,6 +956,11 @@ PrefabInstance: propertyPath: m_BackGroundColor.r value: 0 objectReference: {fileID: 0} + - target: {fileID: 5242107653240477476, guid: 035bf1ba97d19214580cfe6f5a29fdc3, + type: 3} + propertyPath: m_Layer + value: 7 + objectReference: {fileID: 0} - target: {fileID: 6556307555316582679, guid: 035bf1ba97d19214580cfe6f5a29fdc3, type: 3} propertyPath: m_LocalPosition.x @@ -947,6 +1016,11 @@ PrefabInstance: propertyPath: m_Name value: NestedParent_Unpack objectReference: {fileID: 0} + - target: {fileID: 7094977340588366727, guid: 035bf1ba97d19214580cfe6f5a29fdc3, + type: 3} + propertyPath: m_Layer + value: 7 + objectReference: {fileID: 0} - target: {fileID: 7094977340588366727, guid: 035bf1ba97d19214580cfe6f5a29fdc3, type: 3} propertyPath: m_IsActive @@ -974,6 +1048,69 @@ PrefabInstance: insertIndex: -1 addedObject: {fileID: 1312533616} m_SourcePrefab: {fileID: 100100000, guid: 035bf1ba97d19214580cfe6f5a29fdc3, type: 3} +--- !u!1 &1560936834 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1560936836} + - component: {fileID: 1560936835} + m_Layer: 0 + m_Name: navMesh + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1560936835 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1560936834} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7a5ac11cc976e418e8d13136b07e1f52, type: 3} + m_Name: + m_EditorClassIdentifier: + m_AgentTypeID: 0 + m_CollectObjects: 0 + m_Size: {x: 10, y: 10, z: 10} + m_Center: {x: 0, y: 2, z: 0} + m_LayerMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_UseGeometry: 0 + m_DefaultArea: 0 + m_GenerateLinks: 1 + m_IgnoreNavMeshAgent: 1 + m_IgnoreNavMeshObstacle: 1 + m_OverrideTileSize: 0 + m_TileSize: 256 + m_OverrideVoxelSize: 0 + m_VoxelSize: 0.16666667 + m_MinRegionArea: 2 + m_NavMeshData: {fileID: 23800000, guid: 9ce6c8e041f4a72418bd35bc47b82f64, type: 2} + m_BuildHeightMesh: 0 +--- !u!4 &1560936836 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1560936834} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 632.8, y: 53.06, z: 707.66} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1880143511 GameObject: m_ObjectHideFlags: 0 @@ -985,7 +1122,7 @@ GameObject: - component: {fileID: 1880143514} - component: {fileID: 1880143513} - component: {fileID: 1880143512} - m_Layer: 0 + m_Layer: 8 m_Name: Terrain m_TagString: Untagged m_Icon: {fileID: 0} @@ -1066,6 +1203,43 @@ Transform: m_Children: [] m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1888931747 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1888931748} + m_Layer: 8 + m_Name: refrence + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1888931748 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1888931747} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0.373, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 7523861224561778816} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &4909242260980625812 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 7938632458746094310, guid: 0cb9e1bb0725a89488a294c55923e082, + type: 3} + m_PrefabInstance: {fileID: 7852504279946953677} + m_PrefabAsset: {fileID: 0} --- !u!1001 &5691261327966626505 PrefabInstance: m_ObjectHideFlags: 0 @@ -1134,6 +1308,12 @@ PrefabInstance: m_AddedGameObjects: [] m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 5fb943f0c37a29e4ab9d29553d613711, type: 3} +--- !u!4 &5722651808059730734 stripped +Transform: + m_CorrespondingSourceObject: {fileID: 4049575175909728394, guid: 0cb9e1bb0725a89488a294c55923e082, + type: 3} + m_PrefabInstance: {fileID: 7852504279946953677} + m_PrefabAsset: {fileID: 0} --- !u!1001 &6704506024639312884 PrefabInstance: m_ObjectHideFlags: 0 @@ -1185,7 +1365,7 @@ PrefabInstance: - target: {fileID: 2734560914043830869, guid: fcc3124eb1a35354d8faf61ffa67d814, type: 3} propertyPath: m_LocalRotation.w - value: 1 + value: 0.77285933 objectReference: {fileID: 0} - target: {fileID: 2734560914043830869, guid: fcc3124eb1a35354d8faf61ffa67d814, type: 3} @@ -1200,7 +1380,7 @@ PrefabInstance: - target: {fileID: 2734560914043830869, guid: fcc3124eb1a35354d8faf61ffa67d814, type: 3} propertyPath: m_LocalRotation.z - value: -0 + value: 0.63457745 objectReference: {fileID: 0} - target: {fileID: 2734560914043830869, guid: fcc3124eb1a35354d8faf61ffa67d814, type: 3} @@ -1215,7 +1395,7 @@ PrefabInstance: - target: {fileID: 2734560914043830869, guid: fcc3124eb1a35354d8faf61ffa67d814, type: 3} propertyPath: m_LocalEulerAnglesHint.z - value: 0 + value: 78.777 objectReference: {fileID: 0} - target: {fileID: 3366665043858970863, guid: fcc3124eb1a35354d8faf61ffa67d814, type: 3} @@ -1227,6 +1407,16 @@ PrefabInstance: propertyPath: mag value: objectReference: {fileID: 565925926} + - target: {fileID: 8616388319935238913, guid: fcc3124eb1a35354d8faf61ffa67d814, + type: 3} + propertyPath: fire + value: + objectReference: {fileID: 870943465} + - target: {fileID: 8616388319935238913, guid: fcc3124eb1a35354d8faf61ffa67d814, + type: 3} + propertyPath: range + value: 120 + objectReference: {fileID: 0} - target: {fileID: 8616388319935238913, guid: fcc3124eb1a35354d8faf61ffa67d814, type: 3} propertyPath: fpsCam @@ -1257,6 +1447,243 @@ Transform: type: 3} m_PrefabInstance: {fileID: 6704506024639312884} m_PrefabAsset: {fileID: 0} +--- !u!4 &7523861224561778816 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7523861224561778819} + serializedVersion: 2 + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 567.83887, y: 53.005142, z: 599.395} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: + - {fileID: 376520022} + - {fileID: 1888931748} + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!136 &7523861224561778817 +CapsuleCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7523861224561778819} + 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: 2 + m_Radius: 0.5 + m_Height: 2 + m_Direction: 1 + m_Center: {x: 0, y: 0, z: 0} +--- !u!1 &7523861224561778819 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7523861224561778816} + - component: {fileID: 7523861224561778831} + - component: {fileID: 7523861224561778830} + - component: {fileID: 7523861224561778817} + - component: {fileID: 7523861224561778833} + - component: {fileID: 7523861224561778834} + m_Layer: 8 + m_Name: Capsule + m_TagString: enemy + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!23 &7523861224561778830 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7523861224561778819} + 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_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 6b911390c5825014e8377183a7837d3f, 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} +--- !u!33 &7523861224561778831 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7523861224561778819} + m_Mesh: {fileID: 10208, guid: 0000000000000000e000000000000000, type: 0} +--- !u!114 &7523861224561778833 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7523861224561778819} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: c199db931449c5a43aeac4001b086a95, type: 3} + m_Name: + m_EditorClassIdentifier: + agent: {fileID: 7523861224561778834} + player: {fileID: 1312533610} + groundMask: + serializedVersion: 2 + m_Bits: 256 + playerMask: + serializedVersion: 2 + m_Bits: 128 + health: 100 + WalkPoint: {x: 0, y: 0, z: 0} + walkRange: 25 + sightRange: 25 + attackRange: 15 + gun: {fileID: 4909242260980625812} +--- !u!195 &7523861224561778834 +NavMeshAgent: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7523861224561778819} + m_Enabled: 1 + m_AgentTypeID: 0 + m_Radius: 0.5 + m_Speed: 3.5 + 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: 1 + m_WalkableMask: 4294967295 + m_ObstacleAvoidanceType: 4 +--- !u!1001 &7852504279946953677 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 376520022} + m_Modifications: + - target: {fileID: 3270813210746987743, guid: 0cb9e1bb0725a89488a294c55923e082, + type: 3} + propertyPath: m_IsKinematic + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4049575175909728394, guid: 0cb9e1bb0725a89488a294c55923e082, + type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4049575175909728394, guid: 0cb9e1bb0725a89488a294c55923e082, + type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4049575175909728394, guid: 0cb9e1bb0725a89488a294c55923e082, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4049575175909728394, guid: 0cb9e1bb0725a89488a294c55923e082, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4049575175909728394, guid: 0cb9e1bb0725a89488a294c55923e082, + type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4049575175909728394, guid: 0cb9e1bb0725a89488a294c55923e082, + type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4049575175909728394, guid: 0cb9e1bb0725a89488a294c55923e082, + type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 4049575175909728394, guid: 0cb9e1bb0725a89488a294c55923e082, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4049575175909728394, guid: 0cb9e1bb0725a89488a294c55923e082, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4049575175909728394, guid: 0cb9e1bb0725a89488a294c55923e082, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6064497003828031006, guid: 0cb9e1bb0725a89488a294c55923e082, + type: 3} + propertyPath: fpsCam + value: + objectReference: {fileID: 1888931748} + - target: {fileID: 7938632458746094310, guid: 0cb9e1bb0725a89488a294c55923e082, + type: 3} + propertyPath: m_Name + value: enemyGun + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 0cb9e1bb0725a89488a294c55923e082, type: 3} --- !u!1660057539 &9223372036854775807 SceneRoots: m_ObjectHideFlags: 0 @@ -1268,3 +1695,5 @@ SceneRoots: - {fileID: 6704506024639312884} - {fileID: 1326803979} - {fileID: 5691261327966626505} + - {fileID: 7523861224561778816} + - {fileID: 1560936836} diff --git a/Assets/Scenes/Terrain/NavMesh-navMesh.asset b/Assets/Scenes/Terrain/NavMesh-navMesh.asset new file mode 100644 index 0000000000000000000000000000000000000000..f9fbae03c5989e6837af2e6f0b9b7260a02c5672 GIT binary patch literal 369548 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≈3l`s1*(7T1|rZ&&u5^#6JEevIBGoSvU9N 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 literal 0 HcmV?d00001 diff --git a/Assets/Scenes/Terrain/NavMesh-navMesh.asset.meta b/Assets/Scenes/Terrain/NavMesh-navMesh.asset.meta new file mode 100644 index 0000000..f2440e1 --- /dev/null +++ b/Assets/Scenes/Terrain/NavMesh-navMesh.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9ce6c8e041f4a72418bd35bc47b82f64 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 23800000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/Bullet.cs b/Assets/Scripts/Bullet.cs new file mode 100644 index 0000000..5db1a35 --- /dev/null +++ b/Assets/Scripts/Bullet.cs @@ -0,0 +1,39 @@ +using System.Collections; +using System.Collections.Generic; +using Unity.VisualScripting; +using UnityEngine; + +public class BulletCollider : MonoBehaviour +{ + public int damage; + public float lifespan; + + void OnCollisionEnter(Collision other) + { + Debug.Log("nf"); + if (other.transform.tag == "Player") + { + GameManager.instance.damagePlayer(damage); + } + else if(other.transform.tag=="enemy") + { + other.transform.GetComponent().health-=damage; + if(other.transform.GetComponent().health<=0) + { + Destroy(other.gameObject); + } + } + } + void Update() + { + lifespan-=Time.deltaTime; + if(lifespan<=0) + { + killBullet(); + } + } + public void killBullet() + { + Destroy(gameObject); + } +} diff --git a/Assets/Scripts/Bullet.cs.meta b/Assets/Scripts/Bullet.cs.meta new file mode 100644 index 0000000..c209c91 --- /dev/null +++ b/Assets/Scripts/Bullet.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 69125b331043ed74c8631d9a8966bbbb +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/CharactorControl.cs b/Assets/Scripts/CharactorControl.cs index 20b81bd..a864de8 100644 --- a/Assets/Scripts/CharactorControl.cs +++ b/Assets/Scripts/CharactorControl.cs @@ -13,10 +13,11 @@ public class CharacterControl : MonoBehaviour float seeDistance; Interactable curretInteractable; Pickable currentPickable; - Gun CurrentGun=null; + public GunPickable CurrentGun; + public GameObject holdingGun; public RaycastHit hitInfo; public static bool handsFull; - + [SerializeField] private GameObject hand; @@ -37,10 +38,7 @@ void Update() { Debug.Log(hitInfo.transform.name); if (hitInfo.transform.TryGetComponent(out curretInteractable)) { } - else if (hitInfo.transform.TryGetComponent(out currentPickable)) - { - if (hitInfo.transform.TryGetComponent(out CurrentGun)) { } - } + else if (hitInfo.transform.TryGetComponent(out currentPickable)) { } else { curretInteractable = null; @@ -63,6 +61,10 @@ void OnInteract() if (currentPickable != null) { currentPickable.PickUp(); + if (currentPickable.TryGetComponent(out CurrentGun)) + { + holdingGun = CurrentGun.gameObject; + } } } @@ -71,8 +73,7 @@ void OnShoot() Debug.Log("Shoot"); if (CurrentGun != null) { - - CurrentGun.Shoot(); + CurrentGun.GetComponent().Shoot(); } } @@ -80,7 +81,7 @@ void OnReload() { if (CurrentGun != null) { - CurrentGun.Reload(); + CurrentGun.GetComponent().Reload(); } } diff --git a/Assets/Scripts/EnemyAi.cs b/Assets/Scripts/EnemyAi.cs new file mode 100644 index 0000000..bf92545 --- /dev/null +++ b/Assets/Scripts/EnemyAi.cs @@ -0,0 +1,107 @@ +using System.Collections; +using System.Collections.Generic; +using System.Diagnostics.CodeAnalysis; +using UnityEngine; +using UnityEngine.AI; + +public class EnemyAi : MonoBehaviour +{ + public NavMeshAgent agent; + public Transform player; + public LayerMask groundMask; + public LayerMask playerMask; + public int health = 100; + + /// + /// patrol variables + /// + public Vector3 WalkPoint; + private bool walkPointSet = false; + public float walkRange; + public float sightRange; + public float attackRange; + private bool playerInSightRange; + private bool playerInAttackRange; + public GameObject gun; + + + + void Update() + { + + //Check for sight and attack range + playerInSightRange = Physics.CheckSphere(transform.position, sightRange, playerMask); + playerInAttackRange = Physics.CheckSphere(transform.position, attackRange, playerMask); + + if (!playerInSightRange && !playerInAttackRange) + Patrol(); + if (playerInSightRange && !playerInAttackRange) + Chase(); + if (playerInAttackRange && playerInSightRange) + Attack(); + if (health <= 0) + { + Destroy(gameObject); + } + } + + private void Patrol() + { + Debug.Log("Patroling"); + if (!walkPointSet) + { + SeachWalkPoint(); + } + else + { + agent.SetDestination(WalkPoint); + } + ; + Vector3 distaceToWalk = transform.position - WalkPoint; + if (distaceToWalk.magnitude < 1f) + walkPointSet = false; + } + + private void SeachWalkPoint() + { + float randomZ = Random.Range(-walkRange, walkRange); + float randomX = Random.Range(-walkRange, walkRange); + + WalkPoint = new Vector3( + transform.position.x + randomX, + transform.position.y, + transform.position.z + randomZ + ); + + if (Physics.Raycast(WalkPoint, -transform.up, 2f, groundMask)) + { + walkPointSet = true; + } + } + + private void Chase() + { + Debug.Log("chasing"); + + agent.SetDestination(player.position); + } + + private void Attack() + { + Debug.Log("Attacking"); + + agent.SetDestination(transform.position); + + transform.LookAt(player); + + gun.GetComponent().Shoot(); + } + + private void OnDrawGizmosSelected() + { + Gizmos.color = Color.red; + Gizmos.DrawWireSphere(transform.position, attackRange); + Gizmos.color = Color.yellow; + Gizmos.DrawWireSphere(transform.position, sightRange); + } +} diff --git a/Assets/Scripts/EnemyAi.cs.meta b/Assets/Scripts/EnemyAi.cs.meta new file mode 100644 index 0000000..2123396 --- /dev/null +++ b/Assets/Scripts/EnemyAi.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: c199db931449c5a43aeac4001b086a95 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scripts/GameManager.cs b/Assets/Scripts/GameManager.cs index d001141..341c07c 100644 --- a/Assets/Scripts/GameManager.cs +++ b/Assets/Scripts/GameManager.cs @@ -19,4 +19,8 @@ void Awake() } } public int playerHealth = 100; + public void damagePlayer(int damage) + { + playerHealth-=damage; + } } diff --git a/Assets/Scripts/Gun.cs b/Assets/Scripts/Gun.cs index 892c05d..c01541f 100644 --- a/Assets/Scripts/Gun.cs +++ b/Assets/Scripts/Gun.cs @@ -53,16 +53,21 @@ public void Shoot() RaycastHit hit; Vector3 targetPoint; if (Physics.Raycast(ray, out hit)) - {targetPoint = hit.point;} + { + targetPoint = hit.point; + } else - {targetPoint = ray.GetPoint(150);} - + { + targetPoint = ray.GetPoint(150); + } + Vector3 direction = targetPoint - bulletSpawn.position; GameObject currentBullet = Instantiate( bullet, bulletSpawn.position, Quaternion.identity ); + currentBullet.GetComponent().damage = damage; currentBullet.transform.forward = direction.normalized; currentBullet .GetComponent() @@ -78,11 +83,12 @@ public void Shoot() void Update() { - if(bulletsLeft == 0) + if (bulletsLeft == 0) { Reload(); } } + private void ResetShot() { //Allow shooting and invoking again diff --git a/Assets/Scripts/enemyGun.cs b/Assets/Scripts/enemyGun.cs new file mode 100644 index 0000000..97a5d77 --- /dev/null +++ b/Assets/Scripts/enemyGun.cs @@ -0,0 +1,106 @@ +using System.Collections; +using System.Collections.Generic; +using TMPro; +using UnityEngine; + +public class enemyGun : MonoBehaviour +{ + public GameObject bullet; + + /// + /// gun stats + /// + public int magSize; + public int damage; + public float timeBtwShots; + public float range; + public float reloadTime; + public int bulletsPerFire; + public bool automaticFire; + + /// + /// gun status + /// + private bool reloading; + private bool shooting; + private bool readyToShot; + private int bulletsLeft; + + /// + /// Refrencing + /// + [SerializeField] + Transform fpsCam; + public Transform bulletSpawn; + + public bool allowInvoke = true; + + [SerializeField] + private GameObject mag; + + void Awake() + { + bulletsLeft = magSize; + readyToShot = true; + } + + public void Shoot() + { + if (readyToShot && !reloading && bulletsLeft > 0) + { + Debug.Log("Bang"); + readyToShot=false; + + GameObject currentBullet = Instantiate( + bullet, + bulletSpawn.position, + Quaternion.identity + ); + currentBullet.GetComponent().damage=damage; + currentBullet + .GetComponent() + .AddForce(transform.forward * range, ForceMode.Impulse); + bulletsLeft--; + if (allowInvoke) + { + Invoke("ResetShot", timeBtwShots); + allowInvoke = false; + } + } + } + + + void Update() + { + if(bulletsLeft == 0) + { + Reload(); + } + } + private void ResetShot() + { + //Allow shooting and invoking again + readyToShot = true; + allowInvoke = true; + } + + public void Reload() + { + if (bulletsLeft < magSize && !reloading) + { + Debug.Log("reload"); + reloading = true; + readyToShot = false; + Invoke("Reloaded", reloadTime); + mag.SetActive(false); + } + } + + void Reloaded() + { + reloading = false; + readyToShot = true; + bulletsLeft = magSize; + mag.SetActive(true); + } +} diff --git a/Assets/Scripts/enemyGun.cs.meta b/Assets/Scripts/enemyGun.cs.meta new file mode 100644 index 0000000..f07f686 --- /dev/null +++ b/Assets/Scripts/enemyGun.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 18624a89c27eb0148ada0783bcd1a5ec +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Starter Assets/Runtime/FirstPersonController/Scripts/FirstPersonController.cs b/Assets/Starter Assets/Runtime/FirstPersonController/Scripts/FirstPersonController.cs index 9f27dfb..d68cf3b 100644 --- a/Assets/Starter Assets/Runtime/FirstPersonController/Scripts/FirstPersonController.cs +++ b/Assets/Starter Assets/Runtime/FirstPersonController/Scripts/FirstPersonController.cs @@ -5,264 +5,329 @@ namespace StarterAssets { - [RequireComponent(typeof(CharacterController))] + [RequireComponent(typeof(CharacterController))] #if ENABLE_INPUT_SYSTEM - [RequireComponent(typeof(PlayerInput))] + [RequireComponent(typeof(PlayerInput))] #endif - public class FirstPersonController : MonoBehaviour - { - [Header("Player")] - [Tooltip("Move speed of the character in m/s")] - public float MoveSpeed = 4.0f; - [Tooltip("Sprint speed of the character in m/s")] - public float SprintSpeed = 6.0f; - [Tooltip("Rotation speed of the character")] - public float RotationSpeed = 1.0f; - [Tooltip("Acceleration and deceleration")] - public float SpeedChangeRate = 10.0f; + public class FirstPersonController : MonoBehaviour + { + [Header("Player")] + [Tooltip("Move speed of the character in m/s")] + public float MoveSpeed = 4.0f; - [Space(10)] - [Tooltip("The height the player can jump")] - public float JumpHeight = 1.2f; - [Tooltip("The character uses its own gravity value. The engine default is -9.81f")] - public float Gravity = -15.0f; + [Tooltip("Sprint speed of the character in m/s")] + public float SprintSpeed = 6.0f; - [Space(10)] - [Tooltip("Time required to pass before being able to jump again. Set to 0f to instantly jump again")] - public float JumpTimeout = 0.1f; - [Tooltip("Time required to pass before entering the fall state. Useful for walking down stairs")] - public float FallTimeout = 0.15f; + [Tooltip("Rotation speed of the character")] + public float RotationSpeed = 1.0f; - [Header("Player Grounded")] - [Tooltip("If the character is grounded or not. Not part of the CharacterController built in grounded check")] - public bool Grounded = true; - [Tooltip("Useful for rough ground")] - public float GroundedOffset = -0.14f; - [Tooltip("The radius of the grounded check. Should match the radius of the CharacterController")] - public float GroundedRadius = 0.5f; - [Tooltip("What layers the character uses as ground")] - public LayerMask GroundLayers; + [Tooltip("Acceleration and deceleration")] + public float SpeedChangeRate = 10.0f; - [Header("Cinemachine")] - [Tooltip("The follow target set in the Cinemachine Virtual Camera that the camera will follow")] - public GameObject CinemachineCameraTarget; - [Tooltip("How far in degrees can you move the camera up")] - public float TopClamp = 90.0f; - [Tooltip("How far in degrees can you move the camera down")] - public float BottomClamp = -90.0f; + [Space(10)] + [Tooltip("The height the player can jump")] + public float JumpHeight = 1.2f; - // cinemachine - private float _cinemachineTargetPitch; + [Tooltip("The character uses its own gravity value. The engine default is -9.81f")] + public float Gravity = -15.0f; - // player - private float _speed; - private float _rotationVelocity; - private float _verticalVelocity; - private float _terminalVelocity = 53.0f; + [Space(10)] + [Tooltip( + "Time required to pass before being able to jump again. Set to 0f to instantly jump again" + )] + public float JumpTimeout = 0.1f; - // timeout deltatime - private float _jumpTimeoutDelta; - private float _fallTimeoutDelta; + [Tooltip( + "Time required to pass before entering the fall state. Useful for walking down stairs" + )] + public float FallTimeout = 0.15f; + + [Header("Player Grounded")] + [Tooltip( + "If the character is grounded or not. Not part of the CharacterController built in grounded check" + )] + public bool Grounded = true; + + [Tooltip("Useful for rough ground")] + public float GroundedOffset = -0.14f; + + [Tooltip( + "The radius of the grounded check. Should match the radius of the CharacterController" + )] + public float GroundedRadius = 0.5f; + + [Tooltip("What layers the character uses as ground")] + public LayerMask GroundLayers; + + [Header("Cinemachine")] + [Tooltip( + "The follow target set in the Cinemachine Virtual Camera that the camera will follow" + )] + public GameObject CinemachineCameraTarget; + + [Tooltip("How far in degrees can you move the camera up")] + public float TopClamp = 90.0f; + + [Tooltip("How far in degrees can you move the camera down")] + public float BottomClamp = -90.0f; + + // cinemachine + private float _cinemachineTargetPitch; + + // player + private float _speed; + private float _rotationVelocity; + private float _verticalVelocity; + private float _terminalVelocity = 53.0f; + + // timeout deltatime + private float _jumpTimeoutDelta; + private float _fallTimeoutDelta; - #if ENABLE_INPUT_SYSTEM - private PlayerInput _playerInput; + private PlayerInput _playerInput; #endif - private CharacterController _controller; - private StarterAssetsInputs _input; - private GameObject _mainCamera; + private CharacterController _controller; + private StarterAssetsInputs _input; + private GameObject _mainCamera; - private const float _threshold = 0.01f; + private const float _threshold = 0.01f; - private bool IsCurrentDeviceMouse - { - get - { - #if ENABLE_INPUT_SYSTEM - return _playerInput.currentControlScheme == "KeyboardMouse"; - #else - return false; - #endif - } - } - - private void Awake() - { - // get a reference to our main camera - if (_mainCamera == null) - { - _mainCamera = GameObject.FindGameObjectWithTag("MainCamera"); - } - } - - private void Start() - { - _controller = GetComponent(); - _input = GetComponent(); + private bool IsCurrentDeviceMouse + { + get + { #if ENABLE_INPUT_SYSTEM - _playerInput = GetComponent(); + return _playerInput.currentControlScheme == "KeyboardMouse"; #else - Debug.LogError( "Starter Assets package is missing dependencies. Please use Tools/Starter Assets/Reinstall Dependencies to fix it"); + return false; +#endif + } + } + + private void Awake() + { + // get a reference to our main camera + if (_mainCamera == null) + { + _mainCamera = GameObject.FindGameObjectWithTag("MainCamera"); + } + } + + private void Start() + { + _controller = GetComponent(); + _input = GetComponent(); +#if ENABLE_INPUT_SYSTEM + _playerInput = GetComponent(); +#else + Debug.LogError( + "Starter Assets package is missing dependencies. Please use Tools/Starter Assets/Reinstall Dependencies to fix it" + ); #endif - // reset our timeouts on start - _jumpTimeoutDelta = JumpTimeout; - _fallTimeoutDelta = FallTimeout; - } + // reset our timeouts on start + _jumpTimeoutDelta = JumpTimeout; + _fallTimeoutDelta = FallTimeout; + } - private void Update() - { - JumpAndGravity(); - GroundedCheck(); - Move(); - } + private void Update() + { + JumpAndGravity(); + GroundedCheck(); + Move(); + } - private void LateUpdate() - { - CameraRotation(); - } + private void LateUpdate() + { + CameraRotation(); + } - private void GroundedCheck() - { - // set sphere position, with offset - Vector3 spherePosition = new Vector3(transform.position.x, transform.position.y - GroundedOffset, transform.position.z); - Grounded = Physics.CheckSphere(spherePosition, GroundedRadius, GroundLayers, QueryTriggerInteraction.Ignore); - } + private void GroundedCheck() + { + // set sphere position, with offset + Vector3 spherePosition = new Vector3( + transform.position.x, + transform.position.y - GroundedOffset, + transform.position.z + ); + Grounded = Physics.CheckSphere( + spherePosition, + GroundedRadius, + GroundLayers, + QueryTriggerInteraction.Ignore + ); + } - private void CameraRotation() - { - // if there is an input - if (_input.look.sqrMagnitude >= _threshold) - { - //Don't multiply mouse input by Time.deltaTime - float deltaTimeMultiplier = IsCurrentDeviceMouse ? 1.0f : Time.deltaTime; - - _cinemachineTargetPitch += _input.look.y * RotationSpeed * deltaTimeMultiplier; - _rotationVelocity = _input.look.x * RotationSpeed * deltaTimeMultiplier; + private void CameraRotation() + { + // if there is an input + if (_input.look.sqrMagnitude >= _threshold) + { + //Don't multiply mouse input by Time.deltaTime + float deltaTimeMultiplier = IsCurrentDeviceMouse ? 1.0f : Time.deltaTime; - // clamp our pitch rotation - _cinemachineTargetPitch = ClampAngle(_cinemachineTargetPitch, BottomClamp, TopClamp); + _cinemachineTargetPitch += _input.look.y * RotationSpeed * deltaTimeMultiplier; + _rotationVelocity = _input.look.x * RotationSpeed * deltaTimeMultiplier; - // Update Cinemachine camera target pitch - CinemachineCameraTarget.transform.localRotation = Quaternion.Euler(_cinemachineTargetPitch, 0.0f, 0.0f); + // clamp our pitch rotation + _cinemachineTargetPitch = ClampAngle( + _cinemachineTargetPitch, + BottomClamp, + TopClamp + ); - // rotate the player left and right - transform.Rotate(Vector3.up * _rotationVelocity); - } - } + // Update Cinemachine camera target pitch + CinemachineCameraTarget.transform.localRotation = Quaternion.Euler( + _cinemachineTargetPitch, + 0.0f, + 0.0f + ); - private void Move() - { - // set target speed based on move speed, sprint speed and if sprint is pressed - float targetSpeed = _input.sprint ? SprintSpeed : MoveSpeed; + // rotate the player left and right + transform.Rotate(Vector3.up * _rotationVelocity); + } + } - // a simplistic acceleration and deceleration designed to be easy to remove, replace, or iterate upon + private void Move() + { + // set target speed based on move speed, sprint speed and if sprint is pressed + float targetSpeed = _input.sprint ? SprintSpeed : MoveSpeed; - // note: Vector2's == operator uses approximation so is not floating point error prone, and is cheaper than magnitude - // if there is no input, set the target speed to 0 - if (_input.move == Vector2.zero) targetSpeed = 0.0f; + // a simplistic acceleration and deceleration designed to be easy to remove, replace, or iterate upon - // a reference to the players current horizontal velocity - float currentHorizontalSpeed = new Vector3(_controller.velocity.x, 0.0f, _controller.velocity.z).magnitude; + // note: Vector2's == operator uses approximation so is not floating point error prone, and is cheaper than magnitude + // if there is no input, set the target speed to 0 + if (_input.move == Vector2.zero) + targetSpeed = 0.0f; - float speedOffset = 0.1f; - float inputMagnitude = _input.analogMovement ? _input.move.magnitude : 1f; + // a reference to the players current horizontal velocity + float currentHorizontalSpeed = new Vector3( + _controller.velocity.x, + 0.0f, + _controller.velocity.z + ).magnitude; - // accelerate or decelerate to target speed - if (currentHorizontalSpeed < targetSpeed - speedOffset || currentHorizontalSpeed > targetSpeed + speedOffset) - { - // creates curved result rather than a linear one giving a more organic speed change - // note T in Lerp is clamped, so we don't need to clamp our speed - _speed = Mathf.Lerp(currentHorizontalSpeed, targetSpeed * inputMagnitude, Time.deltaTime * SpeedChangeRate); + float speedOffset = 0.1f; + float inputMagnitude = _input.analogMovement ? _input.move.magnitude : 1f; - // round speed to 3 decimal places - _speed = Mathf.Round(_speed * 1000f) / 1000f; - } - else - { - _speed = targetSpeed; - } + // accelerate or decelerate to target speed + if ( + currentHorizontalSpeed < targetSpeed - speedOffset + || currentHorizontalSpeed > targetSpeed + speedOffset + ) + { + // creates curved result rather than a linear one giving a more organic speed change + // note T in Lerp is clamped, so we don't need to clamp our speed + _speed = Mathf.Lerp( + currentHorizontalSpeed, + targetSpeed * inputMagnitude, + Time.deltaTime * SpeedChangeRate + ); - // normalise input direction - Vector3 inputDirection = new Vector3(_input.move.x, 0.0f, _input.move.y).normalized; + // round speed to 3 decimal places + _speed = Mathf.Round(_speed * 1000f) / 1000f; + } + else + { + _speed = targetSpeed; + } - // note: Vector2's != operator uses approximation so is not floating point error prone, and is cheaper than magnitude - // if there is a move input rotate player when the player is moving - if (_input.move != Vector2.zero) - { - // move - inputDirection = transform.right * _input.move.x + transform.forward * _input.move.y; - } + // normalise input direction + Vector3 inputDirection = new Vector3(_input.move.x, 0.0f, _input.move.y).normalized; - // move the player - _controller.Move(inputDirection.normalized * (_speed * Time.deltaTime) + new Vector3(0.0f, _verticalVelocity, 0.0f) * Time.deltaTime); - } + // note: Vector2's != operator uses approximation so is not floating point error prone, and is cheaper than magnitude + // if there is a move input rotate player when the player is moving + if (_input.move != Vector2.zero) + { + // move + inputDirection = + transform.right * _input.move.x + transform.forward * _input.move.y; + } - private void JumpAndGravity() - { - if (Grounded) - { - // reset the fall timeout timer - _fallTimeoutDelta = FallTimeout; + // move the player + _controller.Move( + inputDirection.normalized * (_speed * Time.deltaTime) + + new Vector3(0.0f, _verticalVelocity, 0.0f) * Time.deltaTime + ); + } - // stop our velocity dropping infinitely when grounded - if (_verticalVelocity < 0.0f) - { - _verticalVelocity = -2f; - } + private void JumpAndGravity() + { + if (Grounded) + { + // reset the fall timeout timer + _fallTimeoutDelta = FallTimeout; - // Jump - if (_input.jump && _jumpTimeoutDelta <= 0.0f) - { - // the square root of H * -2 * G = how much velocity needed to reach desired height - _verticalVelocity = Mathf.Sqrt(JumpHeight * -2f * Gravity); - } + // stop our velocity dropping infinitely when grounded + if (_verticalVelocity < 0.0f) + { + _verticalVelocity = -2f; + } - // jump timeout - if (_jumpTimeoutDelta >= 0.0f) - { - _jumpTimeoutDelta -= Time.deltaTime; - } - } - else - { - // reset the jump timeout timer - _jumpTimeoutDelta = JumpTimeout; + // Jump + if (_input.jump && _jumpTimeoutDelta <= 0.0f) + { + // the square root of H * -2 * G = how much velocity needed to reach desired height + _verticalVelocity = Mathf.Sqrt(JumpHeight * -2f * Gravity); + } - // fall timeout - if (_fallTimeoutDelta >= 0.0f) - { - _fallTimeoutDelta -= Time.deltaTime; - } + // jump timeout + if (_jumpTimeoutDelta >= 0.0f) + { + _jumpTimeoutDelta -= Time.deltaTime; + } + } + else + { + // reset the jump timeout timer + _jumpTimeoutDelta = JumpTimeout; - // if we are not grounded, do not jump - _input.jump = false; - } + // fall timeout + if (_fallTimeoutDelta >= 0.0f) + { + _fallTimeoutDelta -= Time.deltaTime; + } - // apply gravity over time if under terminal (multiply by delta time twice to linearly speed up over time) - if (_verticalVelocity < _terminalVelocity) - { - _verticalVelocity += Gravity * Time.deltaTime; - } - } + // if we are not grounded, do not jump + _input.jump = false; + } - private static float ClampAngle(float lfAngle, float lfMin, float lfMax) - { - if (lfAngle < -360f) lfAngle += 360f; - if (lfAngle > 360f) lfAngle -= 360f; - return Mathf.Clamp(lfAngle, lfMin, lfMax); - } + // apply gravity over time if under terminal (multiply by delta time twice to linearly speed up over time) + if (_verticalVelocity < _terminalVelocity) + { + _verticalVelocity += Gravity * Time.deltaTime; + } + } - private void OnDrawGizmosSelected() - { - Color transparentGreen = new Color(0.0f, 1.0f, 0.0f, 0.35f); - Color transparentRed = new Color(1.0f, 0.0f, 0.0f, 0.35f); + private static float ClampAngle(float lfAngle, float lfMin, float lfMax) + { + if (lfAngle < -360f) + lfAngle += 360f; + if (lfAngle > 360f) + lfAngle -= 360f; + return Mathf.Clamp(lfAngle, lfMin, lfMax); + } - if (Grounded) Gizmos.color = transparentGreen; - else Gizmos.color = transparentRed; + private void OnDrawGizmosSelected() + { + Color transparentGreen = new Color(0.0f, 1.0f, 0.0f, 0.35f); + Color transparentRed = new Color(1.0f, 0.0f, 0.0f, 0.35f); - // when selected, draw a gizmo in the position of, and matching radius of, the grounded collider - Gizmos.DrawSphere(new Vector3(transform.position.x, transform.position.y - GroundedOffset, transform.position.z), GroundedRadius); - } - } -} \ No newline at end of file + if (Grounded) + Gizmos.color = transparentGreen; + else + Gizmos.color = transparentRed; + + // when selected, draw a gizmo in the position of, and matching radius of, the grounded collider + Gizmos.DrawSphere( + new Vector3( + transform.position.x, + transform.position.y - GroundedOffset, + transform.position.z + ), + GroundedRadius + ); + } + } +} diff --git a/ProjectSettings/NavMeshAreas.asset b/ProjectSettings/NavMeshAreas.asset index 3b0b7c3..2e2e369 100644 --- a/ProjectSettings/NavMeshAreas.asset +++ b/ProjectSettings/NavMeshAreas.asset @@ -71,7 +71,7 @@ NavMeshProjectSettings: cost: 1 m_LastAgentTypeID: -887442657 m_Settings: - - serializedVersion: 2 + - serializedVersion: 3 agentTypeID: 0 agentRadius: 0.5 agentHeight: 2 @@ -84,7 +84,9 @@ NavMeshProjectSettings: cellSize: 0.16666667 manualTileSize: 0 tileSize: 256 - accuratePlacement: 0 + buildHeightMesh: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 debug: m_Flags: 0 m_SettingNames: diff --git a/ProjectSettings/TagManager.asset b/ProjectSettings/TagManager.asset index 8adce0d..b8a4fed 100644 --- a/ProjectSettings/TagManager.asset +++ b/ProjectSettings/TagManager.asset @@ -5,6 +5,7 @@ TagManager: serializedVersion: 2 tags: - CinemachineTarget + - enemy layers: - Default - TransparentFX @@ -13,8 +14,8 @@ TagManager: - Water - UI - isInteractable - - - - + - player + - terrain - - -