diff --git a/Assets/PlayerMovement.cs b/Assets/PlayerMovement.cs new file mode 100644 index 0000000..c10b80a --- /dev/null +++ b/Assets/PlayerMovement.cs @@ -0,0 +1,50 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using Mirror; +using UnityEngine; +using UnityEngine.AI; +using UnityEngine.InputSystem; + +public class PlayerMovement : NetworkBehaviour +{ + [SerializeField] private NavMeshAgent _navMeshAgent; + + private Camera _camera; + + #region Server + + [Command] private void CmdMove() + { + _navMeshAgent.SetDestination(new(1, 1, 1)); + } + + #endregion + + #region Client + + private void OnEnable() + { + _camera = GetComponent(); + } + + private void KDSUpdate() + { + var mouse = Mouse.current; + + if (mouse.leftButton.wasPressedThisFrame) + { + RaycastHit hit; + Ray ray = _camera.ScreenPointToRay(new(mouse.position.x, mouse.position.y, 0)); + if (Physics.Raycast(GetComponent().transform.position, + transform.TransformDirection(Vector3.forward), out hit, Mathf.Infinity)) + { + Debug.DrawRay(transform.position, transform.TransformDirection(Vector3.forward) * hit.distance, + Color.yellow); + Debug.Log("Did Hit"); + } + } + } + + #endregion +} \ No newline at end of file diff --git a/Assets/PlayerMovement.cs.meta b/Assets/PlayerMovement.cs.meta new file mode 100644 index 0000000..937f6ca --- /dev/null +++ b/Assets/PlayerMovement.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: dc5d69536d0782647a3de12f2d524c45 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Prefabs/Player.prefab b/Assets/Prefabs/Player.prefab index b5d759f..8bef261 100644 --- a/Assets/Prefabs/Player.prefab +++ b/Assets/Prefabs/Player.prefab @@ -286,8 +286,10 @@ GameObject: m_Component: - component: {fileID: 6498975337014063786} - component: {fileID: 2811985185363063978} - - component: {fileID: 1756213952929103018} - component: {fileID: 1712231977480214618} + - component: {fileID: 1756213952929103018} + - component: {fileID: 6135570535502036925} + - component: {fileID: 5713810977702277177} m_Layer: 0 m_Name: Player m_TagString: Untagged @@ -329,24 +331,6 @@ MonoBehaviour: serverOnly: 0 visible: 0 hasSpawned: 0 ---- !u!114 &1756213952929103018 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9197140212603367960} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 91a604620298dff4fb1301fafef543f7, type: 3} - m_Name: - m_EditorClassIdentifier: - syncDirection: 0 - syncMode: 0 - syncInterval: 0.1 - _playerNameObject: {fileID: 9109353986266369291} - _displayName: Missing Name - _playerColor: {r: 0, g: 0, b: 0, a: 1} --- !u!114 &1712231977480214618 MonoBehaviour: m_ObjectHideFlags: 0 @@ -382,3 +366,55 @@ MonoBehaviour: compressRotation: 0 positionPrecision: 0.01 scalePrecision: 0.01 +--- !u!114 &1756213952929103018 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9197140212603367960} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 91a604620298dff4fb1301fafef543f7, type: 3} + m_Name: + m_EditorClassIdentifier: + syncDirection: 0 + syncMode: 0 + syncInterval: 0.1 + _playerNameObject: {fileID: 9109353986266369291} + _displayName: Missing Name + _playerColor: {r: 0, g: 0, b: 0, a: 1} +--- !u!195 &6135570535502036925 +NavMeshAgent: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9197140212603367960} + 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: 1 + m_BaseOffset: 0 + m_WalkableMask: 4294967295 + m_ObstacleAvoidanceType: 4 +--- !u!114 &5713810977702277177 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 9197140212603367960} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: dc5d69536d0782647a3de12f2d524c45, type: 3} + m_Name: + m_EditorClassIdentifier: diff --git a/Assets/Scenes/SampleScene.meta b/Assets/Scenes/SampleScene.meta new file mode 100644 index 0000000..1f2fb45 --- /dev/null +++ b/Assets/Scenes/SampleScene.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5664a1e35aa07c547b1e1e4b1120d325 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scenes/SampleScene.unity b/Assets/Scenes/SampleScene.unity index cc34b7c..47783f9 100644 --- a/Assets/Scenes/SampleScene.unity +++ b/Assets/Scenes/SampleScene.unity @@ -735,6 +735,7 @@ GameObject: serializedVersion: 6 m_Component: - component: {fileID: 1393983815} + - component: {fileID: 1393983816} m_Layer: 0 m_Name: World m_TagString: Untagged @@ -759,6 +760,37 @@ Transform: - {fileID: 1808786537} m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1393983816 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1393983814} + 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: 0 + 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: 3cdd8be731de6b64bb0c689b1653771e, type: 2} + m_BuildHeightMesh: 0 --- !u!1 &1808786533 GameObject: m_ObjectHideFlags: 0 diff --git a/Assets/Scenes/SampleScene/NavMesh-NavMesh Surface.asset b/Assets/Scenes/SampleScene/NavMesh-NavMesh Surface.asset new file mode 100644 index 0000000..8b6f1a6 Binary files /dev/null and b/Assets/Scenes/SampleScene/NavMesh-NavMesh Surface.asset differ diff --git a/Assets/Scenes/SampleScene/NavMesh-NavMesh Surface.asset.meta b/Assets/Scenes/SampleScene/NavMesh-NavMesh Surface.asset.meta new file mode 100644 index 0000000..0469ecd --- /dev/null +++ b/Assets/Scenes/SampleScene/NavMesh-NavMesh Surface.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e15dabff909482c4384b55498acd5510 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 23800000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/Scenes/SampleScene/NavMesh-World.asset b/Assets/Scenes/SampleScene/NavMesh-World.asset new file mode 100644 index 0000000..18b4fa7 Binary files /dev/null and b/Assets/Scenes/SampleScene/NavMesh-World.asset differ diff --git a/Assets/Scenes/SampleScene/NavMesh-World.asset.meta b/Assets/Scenes/SampleScene/NavMesh-World.asset.meta new file mode 100644 index 0000000..8868f1b --- /dev/null +++ b/Assets/Scenes/SampleScene/NavMesh-World.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3cdd8be731de6b64bb0c689b1653771e +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 23800000 + userData: + assetBundleName: + assetBundleVariant: 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: