diff --git a/Assets/Prefabs/Indoor/House.prefab b/Assets/Prefabs/Indoor/House.prefab index e5ba4eac..1fd96939 100644 --- a/Assets/Prefabs/Indoor/House.prefab +++ b/Assets/Prefabs/Indoor/House.prefab @@ -936,7 +936,6 @@ GameObject: - component: {fileID: 2624062824825965710} - component: {fileID: 1031066880471145595} - component: {fileID: 2225985379201912198} - - component: {fileID: 7790104718454169547} m_Layer: 3 m_Name: Floor m_TagString: Untagged @@ -1033,37 +1032,6 @@ MeshCollider: m_Convex: 0 m_CookingOptions: 30 m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} ---- !u!114 &7790104718454169547 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5866443053939422291} - 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: 8 - m_UseGeometry: 0 - m_DefaultArea: 0 - m_GenerateLinks: 0 - m_IgnoreNavMeshAgent: 1 - m_IgnoreNavMeshObstacle: 1 - m_OverrideTileSize: 0 - m_TileSize: 256 - m_OverrideVoxelSize: 0 - m_VoxelSize: 0.1 - m_MinRegionArea: 2 - m_NavMeshData: {fileID: 23800000, guid: b850b50568fa8244c8b801f983427ee9, type: 2} - m_BuildHeightMesh: 0 --- !u!1 &6307399704129379229 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/Scenes/City/NavMesh-NavMesh Surface.asset b/Assets/Scenes/City/NavMesh-NavMesh Surface.asset index 4278ce00..85a69787 100644 Binary files a/Assets/Scenes/City/NavMesh-NavMesh Surface.asset and b/Assets/Scenes/City/NavMesh-NavMesh Surface.asset differ diff --git a/Assets/Scripts/Characters/Player.cs b/Assets/Scripts/Characters/Player.cs index 3aa53fae..e8a5e067 100644 --- a/Assets/Scripts/Characters/Player.cs +++ b/Assets/Scripts/Characters/Player.cs @@ -58,7 +58,13 @@ public class Player : BaseCharacter public void SetPosition(Transform desiredPosition) { - _navAgent.Warp(desiredPosition.position); + if (!_navAgent.isOnNavMesh) + { + transform.position = desiredPosition.position; + _navAgent.enabled = false; + _navAgent.enabled = true; + } + var t=_navAgent.Warp(desiredPosition.position); _navAgent.updatePosition = false; Rotate(desiredPosition.forward * -1); } diff --git a/Assets/Scripts/Controllers/IndoorController.cs b/Assets/Scripts/Controllers/IndoorController.cs index 54aac757..d01840e1 100644 --- a/Assets/Scripts/Controllers/IndoorController.cs +++ b/Assets/Scripts/Controllers/IndoorController.cs @@ -4,15 +4,15 @@ using UnityEngine; public class IndoorController : MonoBehaviour { // Start is called before the first frame update - void Start() + void Awake() { var indoor = GameManager.Instance.BuildingSystem.Indoor; - Instantiate(indoor.Prefab, Vector3.zero, Quaternion.identity); + var transform =Instantiate(indoor.Prefab, Vector3.zero, Quaternion.identity); - Player.Instance.NavAgent.Warp(SpawnPlayer(indoor)); + // If the NavMeshSurface is not assigned in the Inspector, try to find it - var navMeshSurface = indoor.Prefab.GetComponentInChildren(); - Player.Instance.NavAgent.enabled = true; + var navMeshSurface = transform.GetComponentInChildren(); + // Build the NavMesh if (navMeshSurface != null) { @@ -22,7 +22,8 @@ public class IndoorController : MonoBehaviour { Debug.LogError("NavMeshSurface is not assigned and not found on the GameObject."); } - + + SpawnPlayer(indoor); } private Vector3 SpawnPlayer(IndoorSO indoor) @@ -37,6 +38,7 @@ public class IndoorController : MonoBehaviour { interactable = spawn.GetComponent(); Player.Instance.SetPosition(interactable._interactionPoint); + break; } } } diff --git a/ProjectSettings/NavMeshAreas.asset b/ProjectSettings/NavMeshAreas.asset index c1d3c26e..047c6c40 100644 --- a/ProjectSettings/NavMeshAreas.asset +++ b/ProjectSettings/NavMeshAreas.asset @@ -75,7 +75,7 @@ NavMeshProjectSettings: agentTypeID: 0 agentRadius: 0.3 agentHeight: 1.8 - agentSlope: 45 + agentSlope: 26 agentClimb: 0.3 ledgeDropHeight: 0 maxJumpAcrossDistance: 0