From cf776415771d28de6a0e509fff699731c1b79314 Mon Sep 17 00:00:00 2001 From: ryan Date: Tue, 4 Feb 2025 09:22:55 +0800 Subject: [PATCH] game: walking with navmesh --- .../XRI Default Input Actions.inputactions | 4 +- SSLR/Assets/Scenes/RyanPlayground.unity | 486 +++++++++++++++++- .../RyanPlayground/NavMesh-test backend.asset | Bin 7240 -> 9184 bytes SSLR/Assets/Scripts/NPCMovementRework.cs | 75 +++ SSLR/Assets/Scripts/NPCMovementRework.cs.meta | 11 + SSLR/Assets/Scripts/NpcManager.cs | 16 +- SSLR/ProjectSettings/NavMeshAreas.asset | 10 +- SSLR/ProjectSettings/TagManager.asset | 4 +- 8 files changed, 577 insertions(+), 29 deletions(-) create mode 100644 SSLR/Assets/Scripts/NPCMovementRework.cs create mode 100644 SSLR/Assets/Scripts/NPCMovementRework.cs.meta diff --git a/SSLR/Assets/Samples/XR Interaction Toolkit/3.0.3/Starter Assets/XRI Default Input Actions.inputactions b/SSLR/Assets/Samples/XR Interaction Toolkit/3.0.3/Starter Assets/XRI Default Input Actions.inputactions index c516725..f099cc3 100644 --- a/SSLR/Assets/Samples/XR Interaction Toolkit/3.0.3/Starter Assets/XRI Default Input Actions.inputactions +++ b/SSLR/Assets/Samples/XR Interaction Toolkit/3.0.3/Starter Assets/XRI Default Input Actions.inputactions @@ -349,7 +349,7 @@ "name": "Is Tracked", "type": "Button", "id": "82eb6741-beef-48d3-83ab-a957dc1caa1e", - "expectedControlType": "Button", + "expectedControlType": "", "processors": "", "interactions": "", "initialStateCheck": true @@ -707,7 +707,7 @@ "name": "Select", "type": "Button", "id": "33754c03-48ec-46ef-9bc6-22ed6bfdd8e8", - "expectedControlType": "Button", + "expectedControlType": "", "processors": "", "interactions": "", "initialStateCheck": false diff --git a/SSLR/Assets/Scenes/RyanPlayground.unity b/SSLR/Assets/Scenes/RyanPlayground.unity index e3b43d8..9431b33 100644 --- a/SSLR/Assets/Scenes/RyanPlayground.unity +++ b/SSLR/Assets/Scenes/RyanPlayground.unity @@ -240,6 +240,131 @@ MonoBehaviour: m_LightCookieSize: {x: 1, y: 1} m_LightCookieOffset: {x: 0, y: 0} m_SoftShadowQuality: 0 +--- !u!1 &305375500 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 305375505} + - component: {fileID: 305375504} + - component: {fileID: 305375503} + - component: {fileID: 305375502} + - component: {fileID: 305375501} + m_Layer: 0 + m_Name: desk + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &305375501 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 305375500} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1e3fdca004f2d45fe8abbed571a8abd5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_OverrideArea: 0 + m_Area: 0 + m_OverrideGenerateLinks: 0 + m_GenerateLinks: 0 + m_IgnoreFromBuild: 0 + m_ApplyToChildren: 1 + m_AffectedAgents: ffffffff +--- !u!65 &305375502 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 305375500} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &305375503 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 305375500} + 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: 31321ba15b8f8eb4c954353edc038b1d, 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 &305375504 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 305375500} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &305375505 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 305375500} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 7.28, y: 0.03, z: 3.61} + m_LocalScale: {x: 5.7999, y: 0.022021, z: 3} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &307229094 GameObject: m_ObjectHideFlags: 0 @@ -252,6 +377,7 @@ GameObject: - component: {fileID: 307229097} - component: {fileID: 307229096} - component: {fileID: 307229095} + - component: {fileID: 307229099} m_Layer: 6 m_Name: Cube m_TagString: Untagged @@ -339,12 +465,31 @@ Transform: m_GameObject: {fileID: 307229094} serializedVersion: 2 m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 5.95, y: 0.03, z: 1.269} - m_LocalScale: {x: 11.0105, y: 0.022021, z: 11.0105} + m_LocalPosition: {x: 7.28, y: 0.03, z: -2.91} + m_LocalScale: {x: 10, y: 0.022021, z: 10} m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &307229099 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 307229094} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1e3fdca004f2d45fe8abbed571a8abd5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_OverrideArea: 0 + m_Area: 0 + m_OverrideGenerateLinks: 0 + m_GenerateLinks: 0 + m_IgnoreFromBuild: 0 + m_ApplyToChildren: 1 + m_AffectedAgents: ffffffff --- !u!1 &335017575 GameObject: m_ObjectHideFlags: 0 @@ -484,6 +629,287 @@ PrefabInstance: m_AddedGameObjects: [] m_AddedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: f6336ac4ac8b4d34bc5072418cdc62a0, type: 3} +--- !u!1 &503628346 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 503628351} + - component: {fileID: 503628350} + - component: {fileID: 503628349} + - component: {fileID: 503628348} + - component: {fileID: 503628347} + m_Layer: 7 + m_Name: despawn area + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &503628347 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 503628346} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1e3fdca004f2d45fe8abbed571a8abd5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_OverrideArea: 0 + m_Area: 0 + m_OverrideGenerateLinks: 0 + m_GenerateLinks: 0 + m_IgnoreFromBuild: 0 + m_ApplyToChildren: 1 + m_AffectedAgents: ffffffff +--- !u!65 &503628348 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 503628346} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &503628349 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 503628346} + 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: 31321ba15b8f8eb4c954353edc038b1d, 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 &503628350 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 503628346} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &503628351 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 503628346} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 7.28, y: 0.03, z: 10.05} + m_LocalScale: {x: 10, y: 0.022021, z: 10} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &505257118 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 505257119} + m_Layer: 0 + m_Name: table position + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &505257119 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 505257118} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 7.3135448, y: 0.139, z: 2.86} + 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 &515541344 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 515541349} + - component: {fileID: 515541348} + - component: {fileID: 515541347} + - component: {fileID: 515541346} + - component: {fileID: 515541345} + m_Layer: 0 + m_Name: Cube (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &515541345 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 515541344} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1e3fdca004f2d45fe8abbed571a8abd5, type: 3} + m_Name: + m_EditorClassIdentifier: + m_OverrideArea: 1 + m_Area: 1 + m_OverrideGenerateLinks: 0 + m_GenerateLinks: 0 + m_IgnoreFromBuild: 0 + m_ApplyToChildren: 1 + m_AffectedAgents: ffffffff +--- !u!65 &515541346 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 515541344} + m_Material: {fileID: 0} + m_IncludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_ExcludeLayers: + serializedVersion: 2 + m_Bits: 0 + m_LayerOverridePriority: 0 + m_IsTrigger: 0 + m_ProvidesContacts: 0 + m_Enabled: 1 + serializedVersion: 3 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &515541347 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 515541344} + 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: 31321ba15b8f8eb4c954353edc038b1d, 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 &515541348 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 515541344} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &515541349 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 515541344} + serializedVersion: 2 + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 7.2741294, y: 0.458, z: 3.612588} + m_LocalScale: {x: 1.4236, y: 0.8, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &545637503 GameObject: m_ObjectHideFlags: 0 @@ -574,6 +1000,8 @@ MonoBehaviour: - {fileID: 1132197014} - {fileID: 1558064964} - {fileID: 589608068} + playerFree: 0 + currentNpcs: [] --- !u!114 &545637507 MonoBehaviour: m_ObjectHideFlags: 0 @@ -587,12 +1015,12 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: m_AgentTypeID: 0 - m_CollectObjects: 0 + m_CollectObjects: 3 m_Size: {x: 10, y: 10, z: 10} m_Center: {x: 0, y: 2, z: 0} m_LayerMask: serializedVersion: 2 - m_Bits: 64 + m_Bits: 4294967295 m_UseGeometry: 0 m_DefaultArea: 0 m_GenerateLinks: 0 @@ -601,10 +1029,10 @@ MonoBehaviour: m_OverrideTileSize: 0 m_TileSize: 256 m_OverrideVoxelSize: 0 - m_VoxelSize: 0.16666667 + m_VoxelSize: 0.06666667 m_MinRegionArea: 2 m_NavMeshData: {fileID: 23800000, guid: f271511ca3096e14d89d205c1a58a3ca, type: 2} - m_BuildHeightMesh: 0 + m_BuildHeightMesh: 1 --- !u!1 &589608067 GameObject: m_ObjectHideFlags: 0 @@ -1035,7 +1463,7 @@ PrefabInstance: m_Modifications: - target: {fileID: -8679921383154817045, guid: 1d353017ec9105348b92bcc4587d73db, type: 3} propertyPath: m_LocalPosition.x - value: 6.7957244 + value: 8.44 objectReference: {fileID: 0} - target: {fileID: -8679921383154817045, guid: 1d353017ec9105348b92bcc4587d73db, type: 3} propertyPath: m_LocalPosition.y @@ -1043,7 +1471,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: -8679921383154817045, guid: 1d353017ec9105348b92bcc4587d73db, type: 3} propertyPath: m_LocalPosition.z - value: -3.0260978 + value: -3.45 objectReference: {fileID: 0} - target: {fileID: -8679921383154817045, guid: 1d353017ec9105348b92bcc4587d73db, type: 3} propertyPath: m_LocalRotation.w @@ -1095,6 +1523,9 @@ PrefabInstance: - targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: 1d353017ec9105348b92bcc4587d73db, type: 3} insertIndex: -1 addedObject: {fileID: 1876687161} + - targetCorrespondingSourceObject: {fileID: 919132149155446097, guid: 1d353017ec9105348b92bcc4587d73db, type: 3} + insertIndex: -1 + addedObject: {fileID: 1876687162} m_SourcePrefab: {fileID: 100100000, guid: 1d353017ec9105348b92bcc4587d73db, type: 3} --- !u!1 &1852077314 stripped GameObject: @@ -1115,11 +1546,11 @@ NavMeshAgent: m_GameObject: {fileID: 1852077314} m_Enabled: 1 m_AgentTypeID: 0 - m_Radius: 0.5 - m_Speed: 3.5 + m_Radius: 0.32 + m_Speed: 1 m_Acceleration: 8 avoidancePriority: 50 - m_AngularSpeed: 120 + m_AngularSpeed: 360 m_StoppingDistance: 0 m_AutoTraverseOffMeshLink: 1 m_AutoBraking: 1 @@ -1128,6 +1559,35 @@ NavMeshAgent: m_BaseOffset: 0 m_WalkableMask: 4294967295 m_ObstacleAvoidanceType: 1 +--- !u!114 &1876687162 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1852077314} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 57580396457efc146a6d91da3ec2ceb9, type: 3} + m_Name: + m_EditorClassIdentifier: + agent: {fileID: 1876687161} + desk: {fileID: 505257119} + walkRange: 5 + waitingArea: + serializedVersion: 2 + m_Bits: 64 + despawnArea: + serializedVersion: 2 + m_Bits: 128 + roamingPoint: {x: 0, y: 0, z: 0} + animator: {fileID: 1876687163} + chairPosition: [] +--- !u!95 &1876687163 stripped +Animator: + m_CorrespondingSourceObject: {fileID: 5866666021909216657, guid: 1d353017ec9105348b92bcc4587d73db, type: 3} + m_PrefabInstance: {fileID: 1852077313} + m_PrefabAsset: {fileID: 0} --- !u!1 &2092139007 GameObject: m_ObjectHideFlags: 0 @@ -1226,3 +1686,7 @@ SceneRoots: - {fileID: 545637505} - {fileID: 1852077313} - {fileID: 307229098} + - {fileID: 503628351} + - {fileID: 305375505} + - {fileID: 515541349} + - {fileID: 505257119} diff --git a/SSLR/Assets/Scenes/RyanPlayground/NavMesh-test backend.asset b/SSLR/Assets/Scenes/RyanPlayground/NavMesh-test backend.asset index e436093ae51ba9a13fa1554bbb5eebb98b3af656..d43e71a8eb785846601c8e7452259ce4d1808f7a 100644 GIT binary patch delta 2726 zcmb7GU1*zS6h29lHrrC$q)n4HLCXp<6?&1atRgPoN4u#Yf@qp~Q!p&UyOnvd(ZN#Z zaP7b!%!RgIIAK?cgI!E0;s`Rzgf6ZF9lM!j-fpeK>KMb-^PKaYFJC)%;S1^eod4%N z@6XrE!^~m`F#J`beQ6`rS$IFa(Y`WmdSO$OhjYuYonb!uX_Uy3Hm($?D+4O zMh6FvfBM$sD-$2q;=RKot1FFqV=?ER8J}@DfH4jc<=%YTTbV zJM;59vD(ePo@zH|&hZa32Jj9+M14aGU`57w@90SvjQ5U49I*W6>(kB;-yidFGI8F= zjm6uK;DPOBXV=a@ML$+7I=tGdEY}lk=~CWngOB0!$I40pdSD}gq=x5a=Y2xJyLP_o z6}#Z$)s>GNBRV%*op+2W0>+9LBmho^F_8}p2ezMZZ6AXeKDK&b zsaxe>Bn?vwMP#i++jwsAaLB{Z0qfY}`ny6=mE{Kt9D`#!Shkbk15`+lKHj1$; z%C}MLR4XTiy_J74+9DQ)6q$OoK$N}O*k)rhfjG7EnbmfvY`ktx_w-zQ)u)olD579&d8;Z&@LR{x?a7Ny&xKDw2P(O2`~{-VC7 z*2AGry3dNWrRt+AQoU}JV%-+S+G52$QcTIAXI41t;V|llxG_loUo%c|M0PSHcLBEq zcS5gg^s#Z44{Z;7@wi{6x4A{vkE5a&&0z@J1nC<4>*j_ zy$ud7{j*8dM#4YG{&{&s@V&^>3ljf;{hP8YkJwXeAM)(T*OXmeGWQ<}*K@!Df~?LWg}hFSi8tAv)yctFEs%6|T4z`LF9a=nDW@ zTZon^0VF8<1dFnOvQMz&$#`VoulAC>kf^8m%k+Tj3jtM($g2m3q7cx8kV~G7Thg?b zFF1tq)=@&+aq5g^!n)hnlo{1 zY0vwyYmVX8!~v&%;&uW0AcoKBzq2m%`+q9?_{}dG_4?p@7oiX0ppVmb(zV!!xvN#j z0$A`dob<)P?X-7FXIyMt2i!-zy}+393AC>ho;_g9c=o#Qd?t(gwSLAS!jIqNbGzLT np)Uc(#ta1Dgv1y~aQ|+ufCO{1UpWgGpDEm$9Cm9va{d1THDBtJ delta 672 zcmaFhe!^mc9FvU4MujEfOc^YbFN&K_ejv_0nL|QG;0gl+LzttVivW=R4+N7ZNGK$% zUd44l%Ji6BSg7d%pg6-TuL%wynt|bf0}$^&djEqRmQn+3>VVc=z8V-N(oNK`1H%M4GLtG%>i0T4_ ztzn_8jxZO%*brMGYJlv?za^YmjbPT)b6Tw2>mlybwO{+S#=Y;~8_)v)K!KyuX1lecRB4r$Q1;seb_wt1AiEl*2?Qojkx&VPFd+ek%~`NO0@)5@L-Zg5 z7367Hl!4^f8Yc5e>ajC0fI<=M9vNA+Pm#*1=I1u^zm(eIQQZJF!X8LFO!iTd;99*( n3lc<(K=;c@ + /// nav mesh agent + /// + public NavMeshAgent agent; + + public Transform desk; + public float walkRange; + public LayerMask waitingArea; + public LayerMask despawnArea; + public Vector3 roamingPoint; + public Animator animator; + public Transform[] chairPosition; + + + public void Update() + { + if (agent.velocity.magnitude > 0.1) + { + animator.SetFloat("Speed", 1); + } + else + { + animator.SetFloat("Speed", 0); + } + + + } + + public void Start() + { + agent = gameObject.GetComponent(); + animator = gameObject.GetComponent(); + } + + + public void CustomerCalled() + { + agent.SetDestination(desk.position); + } + + public void Wait() + { + Debug.Log("walking"); + agent.SetDestination(roamingPoint); + + } + + public void TakeASeat() + { + + } + + public void GoToSeat() + { + var i = UnityEngine.Random.Range(0, chairPosition.Length); + agent.SetDestination(chairPosition[i].position); + } + + + +} \ No newline at end of file diff --git a/SSLR/Assets/Scripts/NPCMovementRework.cs.meta b/SSLR/Assets/Scripts/NPCMovementRework.cs.meta new file mode 100644 index 0000000..bf00281 --- /dev/null +++ b/SSLR/Assets/Scripts/NPCMovementRework.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 57580396457efc146a6d91da3ec2ceb9 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/SSLR/Assets/Scripts/NpcManager.cs b/SSLR/Assets/Scripts/NpcManager.cs index 7add3ee..cb64246 100644 --- a/SSLR/Assets/Scripts/NpcManager.cs +++ b/SSLR/Assets/Scripts/NpcManager.cs @@ -15,16 +15,7 @@ using UnityEngine.Serialization; public class NpcManager : MonoBehaviour { - /// - /// to test this script - /// - private void Start() - { - for (int i = 0; i < 4; i++) - { - spawnNpc(true , spawnPoints[i]); - } - } + /// /// Assign Npc Manager instance @@ -51,6 +42,11 @@ public class NpcManager : MonoBehaviour /// public Transform[] spawnPoints; + /// + /// a bool to check if the player is free + /// + public bool playerFree = false; + /// /// collection of all exiting npcs /// diff --git a/SSLR/ProjectSettings/NavMeshAreas.asset b/SSLR/ProjectSettings/NavMeshAreas.asset index 3b0b7c3..60f02a5 100644 --- a/SSLR/ProjectSettings/NavMeshAreas.asset +++ b/SSLR/ProjectSettings/NavMeshAreas.asset @@ -71,10 +71,10 @@ NavMeshProjectSettings: cost: 1 m_LastAgentTypeID: -887442657 m_Settings: - - serializedVersion: 2 + - serializedVersion: 3 agentTypeID: 0 - agentRadius: 0.5 - agentHeight: 2 + agentRadius: 0.2 + agentHeight: 1.5 agentSlope: 45 agentClimb: 0.75 ledgeDropHeight: 0 @@ -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/SSLR/ProjectSettings/TagManager.asset b/SSLR/ProjectSettings/TagManager.asset index 940e54b..1c832d9 100644 --- a/SSLR/ProjectSettings/TagManager.asset +++ b/SSLR/ProjectSettings/TagManager.asset @@ -14,8 +14,8 @@ TagManager: - - Water - UI - - walkable - - + - waiting + - despawn - - -