From f238ab6fcab8019c4cb60032e5286ff8b69fd66b Mon Sep 17 00:00:00 2001 From: VladTeapa Date: Fri, 28 Jan 2022 23:28:08 +0200 Subject: [PATCH] Adaugat Camera Controller Issue: #2 Adaugau scriptul pentru camera controller si unul foarte rudimentar de player controller pentru a testa viteza de urmarire. Signed-off-by: VladTeapa --- UnityClient/.vsconfig | 6 + .../_DEV/Feature-Camera-Controller.meta | 8 + .../CameraController.cs | 212 +++++++ .../CameraController.cs.meta | 11 + .../Feature-Camera-Controller.unity | 547 ++++++++++++++++++ .../Feature-Camera-Controller.unity.meta | 7 + .../PlayerControllerCameraTest.cs | 28 + .../PlayerControllerCameraTest.cs.meta | 11 + UnityClient/Packages/manifest.json | 13 +- UnityClient/Packages/packages-lock.json | 57 +- .../ProjectSettings/AudioManager.asset | 4 +- .../ProjectSettings/DynamicsManager.asset | 4 +- .../ProjectSettings/EditorSettings.asset | 4 +- .../ProjectSettings/GraphicsSettings.asset | 4 +- .../ProjectSettings/NavMeshAreas.asset | 4 +- .../PackageManagerSettings.asset | 4 +- .../ProjectSettings/Physics2DSettings.asset | 2 +- .../ProjectSettings/ProjectSettings.asset | 4 +- .../ProjectSettings/ProjectVersion.txt | 4 +- .../ProjectSettings/QualitySettings.asset | 4 +- .../UnityConnectSettings.asset | 4 +- UnityClient/ProjectSettings/VFXManager.asset | 4 +- .../VersionControlSettings.asset | 3 + .../UserSettings/EditorUserSettings.asset | 3 + 24 files changed, 912 insertions(+), 40 deletions(-) create mode 100644 UnityClient/.vsconfig create mode 100644 UnityClient/Assets/_DEV/Feature-Camera-Controller.meta create mode 100644 UnityClient/Assets/_DEV/Feature-Camera-Controller/CameraController.cs create mode 100644 UnityClient/Assets/_DEV/Feature-Camera-Controller/CameraController.cs.meta create mode 100644 UnityClient/Assets/_DEV/Feature-Camera-Controller/Feature-Camera-Controller.unity create mode 100644 UnityClient/Assets/_DEV/Feature-Camera-Controller/Feature-Camera-Controller.unity.meta create mode 100644 UnityClient/Assets/_DEV/Feature-Camera-Controller/PlayerControllerCameraTest.cs create mode 100644 UnityClient/Assets/_DEV/Feature-Camera-Controller/PlayerControllerCameraTest.cs.meta create mode 100644 UnityClient/ProjectSettings/VersionControlSettings.asset create mode 100644 UnityClient/UserSettings/EditorUserSettings.asset diff --git a/UnityClient/.vsconfig b/UnityClient/.vsconfig new file mode 100644 index 00000000..aade28f6 --- /dev/null +++ b/UnityClient/.vsconfig @@ -0,0 +1,6 @@ +{ + "version": "1.0", + "components": [ + "Microsoft.VisualStudio.Workload.ManagedGame" + ] +} diff --git a/UnityClient/Assets/_DEV/Feature-Camera-Controller.meta b/UnityClient/Assets/_DEV/Feature-Camera-Controller.meta new file mode 100644 index 00000000..f0bc1f30 --- /dev/null +++ b/UnityClient/Assets/_DEV/Feature-Camera-Controller.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 725f5767de25c514d9882e80807e6c05 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/UnityClient/Assets/_DEV/Feature-Camera-Controller/CameraController.cs b/UnityClient/Assets/_DEV/Feature-Camera-Controller/CameraController.cs new file mode 100644 index 00000000..561598ad --- /dev/null +++ b/UnityClient/Assets/_DEV/Feature-Camera-Controller/CameraController.cs @@ -0,0 +1,212 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +/** + * Acest script ofera un controller pentru camera. + * Are mai multe functionalitati printre care: + * Posibilitatea de inversa directia pe OY + * Posibilitatea de a schimba umarul cand este in third-person + * Apasarea tastelor CTRL+C face toggle intre first-person si third-person + * Rotita face zoom + * + * @author Hariga George-Codrin (VladTeapa github) + * + * @param Target + * Acest parametru reprezinta tinta pe care camera o va urmari + * @param CameraOffset + * Acest parametru reprezinta offset-ul in modul third-person + * @param CameraOffsetFirstPerson + * Acest parametru reprezinta offset-ul in modul first-person, + * Se poate pune zero daca targetul este capul player-ului + * @param CameraOffsetZLimits + * Acest parametru controleaza cat de mult se poate da zoom + * @param SensitivityZoom + * Acest parametru controleaza sensitivitatea zoom-ului + * @param FollowSpeed + * Acest parametru controleaza viteza de urmarire + * @param FollowSpeedKeepClose + * Acest parametru influenteaza cat de repede va urmari + * personajul in functie de distanta + * @param MaximumAngle + * Unghiul maxim pe OY + * @param MinimumAngle + * Unghiul minim pe OY + * @param Inverted + * Acest parametru controleaza daca miscarea pe OY + * a mouse-ului este inversata + * @param IsFirstPerson + * Acest parametru controleaza daca este perspectiva first-person + * sau perspectiva third-person + */ +public class CameraController : MonoBehaviour +{ + /** + * @author Hariga George-Codrin (VladTeapa github) + * Acest enum este folosit in loc de bool + * pentru a se vedea mai usor in inspector + * si pentru a se calcula mai usor rotatia pe OY + */ + public enum CAMERA_INVERTED{ + INVERTED = -1, + NOT_INVERTED = 1 + }; + public Transform Target; + public Vector3 CameraOffset; + public Vector3 CameraOffsetFirstPerson; + public Vector2 CameraOffsetZLimits; + public float SensitivityZoom; + public float FollowSpeed; + public float FollowSpeedKeepClose; + public float MaximumAngle = 60f; + public float MiniumAngle = -60f; + + public CAMERA_INVERTED Inverted; + public bool IsFirstPerson = false; + + /** + * Parametri privati folositi in functii + */ + private Vector3 realCameraOffset, realCameraOffsetFirstPerson, newCameraPosition; + private float yaw = 0; + private float pitch = 0; + + + /** + * Aceasta functie verifica inputul de la + * tastatura si schimba variabilele corespunzator + * + * @author Hariga George-Codrin (VladTeapa github) + */ + public void CameraControlls() + { + + /** + * Acest if face toggle intre first-person si third-person + */ + if (Input.GetKey(KeyCode.LeftControl)) + { + if (Input.GetKeyDown(KeyCode.C)) + { + IsFirstPerson = !IsFirstPerson; + + newCameraPosition = Target.position + transform.TransformDirection(realCameraOffset); + + transform.position = newCameraPosition; + transform.rotation = Quaternion.Euler(pitch, yaw, 0f); + } + } + + /** + * Acest if modifica umarul la care este camera in third-person + */ + if (Input.GetKeyDown(KeyCode.H)) + { + realCameraOffset.x = -realCameraOffset.x; + } + + /** + * Acest cod are rolul de a face toggle intre inputul inverted pe OY + */ + if (Input.GetKeyDown(KeyCode.I)) + { + Inverted = (CAMERA_INVERTED)((int)Inverted * -1); + } + + /** + * Acest cod de mai jos se ocupa de partea de zoom + */ + float scroll = Input.GetAxis("Mouse ScrollWheel"); + if (scroll < 0) + { + realCameraOffset.z -= SensitivityZoom; + } + if (scroll > 0) + { + realCameraOffset.z += SensitivityZoom; + } + CheckCameraBoundries(); + } + + + /** + * Functia start initializeaza offset-ul care + * este de fapt folosit in final la calcule + * + * @author Hariga George-Codrin (VladTeapa github) + */ + private void Start() + { + realCameraOffset = new Vector3(); + realCameraOffset = CameraOffset; + realCameraOffsetFirstPerson = new Vector3(); + } + + /** + * Functia LateUpdate are rolul de a actualiza + * pozitia si rotatia camerei; Folosim LateUpdate, deoarece + * in general, noua pozitie a player-ului este calculata in Update + * + * @author Hariga George-Codrin (VladTeapa github) + */ + private void LateUpdate() + { + + /** + * Se verifica prima oara tastele apasate + */ + CameraControlls(); + + /** + * Se ia noua rotatie de la mouse + */ + pitch -= Input.GetAxis("Mouse Y") * (float)Inverted; + yaw += Input.GetAxis("Mouse X"); + + /** + * Se limiteaza unghiul pe OY + */ + pitch = Mathf.Clamp(pitch, MiniumAngle, MaximumAngle); + + /** + * Se seteaza rotatie si se calculeaza + * pozitia noua si directia de miscare + */ + transform.rotation = Quaternion.Euler(pitch, yaw, 0f); + newCameraPosition = Target.position + transform.TransformDirection(realCameraOffset); + Vector3 cameraMoveDir = newCameraPosition - transform.position; + + /** + * In functie daca este first person sau third person + * se modifica pozitia camerei + */ + if (cameraMoveDir.magnitude > 10e-3f && !IsFirstPerson) + { + transform.position += cameraMoveDir.normalized * + Mathf.Min(cameraMoveDir.magnitude, Time.deltaTime * FollowSpeed * + (1 + cameraMoveDir.magnitude * FollowSpeedKeepClose)); + } + else if (IsFirstPerson) + { + realCameraOffsetFirstPerson = CameraOffsetFirstPerson; + transform.position = Target.transform.position + transform.TransformDirection(realCameraOffsetFirstPerson); + } + } + + /** + * Functia CheckCameraBoundries verifica daca zoom-ul depaseste + * parametri setati si ajusteaza in caz contrar + * + * @author Hariga George-Codrin (VladTeapa github) + */ + private void CheckCameraBoundries() + { + if (realCameraOffset.z > CameraOffsetZLimits.y) + { + realCameraOffset.z = CameraOffsetZLimits.y; + } + if (realCameraOffset.z < CameraOffsetZLimits.x) + { + realCameraOffset.z = CameraOffsetZLimits.x; + } + } +} diff --git a/UnityClient/Assets/_DEV/Feature-Camera-Controller/CameraController.cs.meta b/UnityClient/Assets/_DEV/Feature-Camera-Controller/CameraController.cs.meta new file mode 100644 index 00000000..e3d10b39 --- /dev/null +++ b/UnityClient/Assets/_DEV/Feature-Camera-Controller/CameraController.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 079dfb764d60bac46a278ca6f5468709 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/UnityClient/Assets/_DEV/Feature-Camera-Controller/Feature-Camera-Controller.unity b/UnityClient/Assets/_DEV/Feature-Camera-Controller/Feature-Camera-Controller.unity new file mode 100644 index 00000000..d9d14bf2 --- /dev/null +++ b/UnityClient/Assets/_DEV/Feature-Camera-Controller/Feature-Camera-Controller.unity @@ -0,0 +1,547 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.44657898, g: 0.4964133, b: 0.5748178, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 12 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 0 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 512 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 256 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 1 + m_PVRDenoiserTypeDirect: 1 + m_PVRDenoiserTypeIndirect: 1 + m_PVRDenoiserTypeAO: 1 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 1 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 0} + m_LightingSettings: {fileID: 0} +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &202784083 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 202784085} + - component: {fileID: 202784084} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &202784084 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 202784083} + m_Enabled: 1 + serializedVersion: 10 + m_Type: 1 + m_Shape: 0 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.80208 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingLayerMask: 1 + m_Lightmapping: 4 + m_LightShadowCasterMode: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_UseViewFrustumForShadowCasterCull: 1 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &202784085 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 202784083} + m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} +--- !u!1 &326526703 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 326526707} + - component: {fileID: 326526706} + - component: {fileID: 326526705} + - component: {fileID: 326526704} + m_Layer: 0 + m_Name: Floor + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!65 &326526704 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 326526703} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &326526705 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 326526703} + 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: 10303, guid: 0000000000000000f000000000000000, type: 0} + 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 &326526706 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 326526703} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &326526707 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 326526703} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 11.892, y: 1, z: 16.638} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1795278506 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1795278512} + - component: {fileID: 1795278511} + - component: {fileID: 1795278510} + - component: {fileID: 1795278509} + - component: {fileID: 1795278508} + - component: {fileID: 1795278507} + m_Layer: 0 + m_Name: Player + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1795278507 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1795278506} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0e4c61f882699f04db9f06ea56892971, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!54 &1795278508 +Rigidbody: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1795278506} + serializedVersion: 2 + m_Mass: 1 + m_Drag: 0 + m_AngularDrag: 0.05 + m_UseGravity: 1 + m_IsKinematic: 0 + m_Interpolate: 0 + m_Constraints: 112 + m_CollisionDetection: 0 +--- !u!136 &1795278509 +CapsuleCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1795278506} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + m_Radius: 0.5 + m_Height: 2 + m_Direction: 1 + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &1795278510 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1795278506} + 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: 10303, guid: 0000000000000000f000000000000000, type: 0} + 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 &1795278511 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1795278506} + m_Mesh: {fileID: 10208, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &1795278512 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1795278506} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1.75, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1866415845 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1866415848} + - component: {fileID: 1866415847} + - component: {fileID: 1866415846} + - component: {fileID: 1866415849} + m_Layer: 0 + m_Name: Main Camera + m_TagString: MainCamera + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!81 &1866415846 +AudioListener: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1866415845} + m_Enabled: 1 +--- !u!20 &1866415847 +Camera: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1866415845} + m_Enabled: 1 + serializedVersion: 2 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_projectionMatrixMode: 1 + m_GateFitMode: 2 + m_FOVAxisMode: 0 + m_SensorSize: {x: 36, y: 24} + m_LensShift: {x: 0, y: 0} + m_FocalLength: 50 + m_NormalizedViewPortRect: + serializedVersion: 2 + x: 0 + y: 0 + width: 1 + height: 1 + near clip plane: 0.3 + far clip plane: 1000 + field of view: 60 + orthographic: 0 + orthographic size: 5 + m_Depth: -1 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingPath: -1 + m_TargetTexture: {fileID: 0} + m_TargetDisplay: 0 + m_TargetEye: 3 + m_HDR: 1 + m_AllowMSAA: 1 + m_AllowDynamicResolution: 0 + m_ForceIntoRT: 0 + m_OcclusionCulling: 1 + m_StereoConvergence: 10 + m_StereoSeparation: 0.022 +--- !u!4 &1866415848 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1866415845} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1, z: -10} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1866415849 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1866415845} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 079dfb764d60bac46a278ca6f5468709, type: 3} + m_Name: + m_EditorClassIdentifier: + Target: {fileID: 1795278512} + CameraOffset: {x: 1, y: 0.5, z: -1.75} + CameraOffsetFirstPerson: {x: 0, y: 0.5, z: 0} + CameraOffsetZLimits: {x: -3, y: -1.25} + SensitivityZoom: 0.1 + FollowSpeed: 3 + FollowSpeedKeepClose: 1 + MaximumAngle: 80 + MiniumAngle: -80 + Inverted: 1 diff --git a/UnityClient/Assets/_DEV/Feature-Camera-Controller/Feature-Camera-Controller.unity.meta b/UnityClient/Assets/_DEV/Feature-Camera-Controller/Feature-Camera-Controller.unity.meta new file mode 100644 index 00000000..a8fabb02 --- /dev/null +++ b/UnityClient/Assets/_DEV/Feature-Camera-Controller/Feature-Camera-Controller.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: cc7968df55d40264a9ebbc976e530681 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/UnityClient/Assets/_DEV/Feature-Camera-Controller/PlayerControllerCameraTest.cs b/UnityClient/Assets/_DEV/Feature-Camera-Controller/PlayerControllerCameraTest.cs new file mode 100644 index 00000000..3b3566b9 --- /dev/null +++ b/UnityClient/Assets/_DEV/Feature-Camera-Controller/PlayerControllerCameraTest.cs @@ -0,0 +1,28 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class PlayerControllerCameraTest : MonoBehaviour +{ + + public float Speed; + void Update() + { + if (Input.GetKey(KeyCode.W)) + { + transform.position += Vector3.forward * Time.deltaTime * Speed; + } + if (Input.GetKey(KeyCode.S)) + { + transform.position -= Vector3.forward * Time.deltaTime * Speed; + } + if (Input.GetKey(KeyCode.A)) + { + transform.position -= Vector3.right * Time.deltaTime * Speed; + } + if (Input.GetKey(KeyCode.D)) + { + transform.position += Vector3.right * Time.deltaTime * Speed; + } + } +} diff --git a/UnityClient/Assets/_DEV/Feature-Camera-Controller/PlayerControllerCameraTest.cs.meta b/UnityClient/Assets/_DEV/Feature-Camera-Controller/PlayerControllerCameraTest.cs.meta new file mode 100644 index 00000000..1df271fa --- /dev/null +++ b/UnityClient/Assets/_DEV/Feature-Camera-Controller/PlayerControllerCameraTest.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 0e4c61f882699f04db9f06ea56892971 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/UnityClient/Packages/manifest.json b/UnityClient/Packages/manifest.json index bbb2150a..e68cb841 100644 --- a/UnityClient/Packages/manifest.json +++ b/UnityClient/Packages/manifest.json @@ -1,11 +1,12 @@ { "dependencies": { - "com.unity.collab-proxy": "1.2.16", - "com.unity.ide.rider": "1.1.4", - "com.unity.ide.vscode": "1.2.2", - "com.unity.test-framework": "1.1.18", - "com.unity.textmeshpro": "2.1.1", - "com.unity.timeline": "1.2.17", + "com.unity.collab-proxy": "1.7.1", + "com.unity.ide.rider": "3.0.7", + "com.unity.ide.visualstudio": "2.0.9", + "com.unity.ide.vscode": "1.2.3", + "com.unity.test-framework": "1.1.27", + "com.unity.textmeshpro": "3.0.6", + "com.unity.timeline": "1.5.6", "com.unity.ugui": "1.0.0", "com.unity.modules.ai": "1.0.0", "com.unity.modules.androidjni": "1.0.0", diff --git a/UnityClient/Packages/packages-lock.json b/UnityClient/Packages/packages-lock.json index 92686fda..0530b98a 100644 --- a/UnityClient/Packages/packages-lock.json +++ b/UnityClient/Packages/packages-lock.json @@ -1,48 +1,66 @@ { "dependencies": { "com.unity.collab-proxy": { - "version": "1.2.16", + "version": "1.7.1", "depth": 0, "source": "registry", - "dependencies": {}, + "dependencies": { + "com.unity.nuget.newtonsoft-json": "2.0.0" + }, "url": "https://packages.unity.com" }, "com.unity.ext.nunit": { - "version": "1.0.0", + "version": "1.0.6", "depth": 1, "source": "registry", "dependencies": {}, "url": "https://packages.unity.com" }, "com.unity.ide.rider": { - "version": "1.1.4", + "version": "3.0.7", "depth": 0, "source": "registry", "dependencies": { - "com.unity.test-framework": "1.1.1" + "com.unity.ext.nunit": "1.0.6" + }, + "url": "https://packages.unity.com" + }, + "com.unity.ide.visualstudio": { + "version": "2.0.9", + "depth": 0, + "source": "registry", + "dependencies": { + "com.unity.test-framework": "1.1.9" }, "url": "https://packages.unity.com" }, "com.unity.ide.vscode": { - "version": "1.2.2", + "version": "1.2.3", "depth": 0, "source": "registry", "dependencies": {}, "url": "https://packages.unity.com" }, + "com.unity.nuget.newtonsoft-json": { + "version": "2.0.0", + "depth": 1, + "source": "registry", + "dependencies": {}, + "url": "https://packages.unity.com" + }, "com.unity.test-framework": { - "version": "1.1.18", + "version": "1.1.27", "depth": 0, "source": "registry", "dependencies": { - "com.unity.ext.nunit": "1.0.0", + "com.unity.ext.nunit": "1.0.6", "com.unity.modules.imgui": "1.0.0", "com.unity.modules.jsonserialize": "1.0.0" }, "url": "https://packages.unity.com" }, "com.unity.textmeshpro": { - "version": "2.1.1", + "version": "3.0.6", "depth": 0, "source": "registry", "dependencies": { @@ -51,10 +69,15 @@ "url": "https://packages.unity.com" }, "com.unity.timeline": { - "version": "1.2.17", + "version": "1.5.6", "depth": 0, "source": "registry", - "dependencies": {}, + "dependencies": { + "com.unity.modules.director": "1.0.0", + "com.unity.modules.animation": "1.0.0", + "com.unity.modules.audio": "1.0.0", + "com.unity.modules.particlesystem": "1.0.0" + }, "url": "https://packages.unity.com" }, "com.unity.ugui": { @@ -199,6 +222,18 @@ "depth": 0, "source": "builtin", "dependencies": { + "com.unity.modules.ui": "1.0.0", + "com.unity.modules.imgui": "1.0.0", + "com.unity.modules.jsonserialize": "1.0.0", + "com.unity.modules.uielementsnative": "1.0.0" + } + }, + "com.unity.modules.uielementsnative": { + "version": "1.0.0", + "depth": 1, + "source": "builtin", + "dependencies": { + "com.unity.modules.ui": "1.0.0", "com.unity.modules.imgui": "1.0.0", "com.unity.modules.jsonserialize": "1.0.0" } diff --git a/UnityClient/ProjectSettings/AudioManager.asset b/UnityClient/ProjectSettings/AudioManager.asset index c3f6f121..c20bb11b 100644 --- a/UnityClient/ProjectSettings/AudioManager.asset +++ b/UnityClient/ProjectSettings/AudioManager.asset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f2ed914f70919b6434c647bd820850be731b408f0f0c31e3bf7f98c8cafb617f -size 416 +oid sha256:9a554916fe138ebcad8443ee9b079363ecc72795c39d0e80f5f7ca99e2c6f5e7 +size 443 diff --git a/UnityClient/ProjectSettings/DynamicsManager.asset b/UnityClient/ProjectSettings/DynamicsManager.asset index ce9a69fc..189ac81d 100644 --- a/UnityClient/ProjectSettings/DynamicsManager.asset +++ b/UnityClient/ProjectSettings/DynamicsManager.asset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:80ba5565beefddabba07863f19983c62409753fb36bff400fe36cf9a7db94690 -size 1190 +oid sha256:fffd6bb7c1ae4ea9aef50fe28dce3ea1a2b8e6d36c5125a2d1c22e90f2d4fd8d +size 1294 diff --git a/UnityClient/ProjectSettings/EditorSettings.asset b/UnityClient/ProjectSettings/EditorSettings.asset index 5efaa5e5..87e52cf5 100644 --- a/UnityClient/ProjectSettings/EditorSettings.asset +++ b/UnityClient/ProjectSettings/EditorSettings.asset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a7b662e8e7fc62d2e84d07b2aaf868f17b58c023fb041efcdf9aacff6537030a -size 1107 +oid sha256:6d7c50f6283c10e85d515a216cf537fd89960a6499b707373cba27718b1b7d80 +size 1268 diff --git a/UnityClient/ProjectSettings/GraphicsSettings.asset b/UnityClient/ProjectSettings/GraphicsSettings.asset index 2ab22a53..d3c2b657 100644 --- a/UnityClient/ProjectSettings/GraphicsSettings.asset +++ b/UnityClient/ProjectSettings/GraphicsSettings.asset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:442894020eebc9cfeddc7b95f3e637fdcf033513a507e0fbe231a8e0e4f7d60b -size 2230 +oid sha256:eabbff5716068338470f2437b4f4e784357b40ac60a657ef9d2ccfb8c094d302 +size 2312 diff --git a/UnityClient/ProjectSettings/NavMeshAreas.asset b/UnityClient/ProjectSettings/NavMeshAreas.asset index c788824f..3b820fdc 100644 --- a/UnityClient/ProjectSettings/NavMeshAreas.asset +++ b/UnityClient/ProjectSettings/NavMeshAreas.asset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:80106cfa7e6181a1928b142c075f3e510d527441e3d79bc83590e4ac91e7cd66 -size 1308 +oid sha256:28db9a32b1eebd40fb57b40367780ae2c7722d9268f1f5249e4e09c617046a19 +size 1363 diff --git a/UnityClient/ProjectSettings/PackageManagerSettings.asset b/UnityClient/ProjectSettings/PackageManagerSettings.asset index e5c938b5..418356bd 100644 --- a/UnityClient/ProjectSettings/PackageManagerSettings.asset +++ b/UnityClient/ProjectSettings/PackageManagerSettings.asset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b67e5b5e8b74f980d8cb2bcf4b51384843fd5d6b4e4037dda68c3262df587deb -size 881 +oid sha256:acebb5f9cb94afc07793ec10a124fa94b61ab330ba214a5b6ea47ce41ccd417d +size 1053 diff --git a/UnityClient/ProjectSettings/Physics2DSettings.asset b/UnityClient/ProjectSettings/Physics2DSettings.asset index bfd2526c..0aa258a9 100644 --- a/UnityClient/ProjectSettings/Physics2DSettings.asset +++ b/UnityClient/ProjectSettings/Physics2DSettings.asset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d57a0fe55659c33879e8b70bc01c5ea9cdf082069dab649905c6c5138531e6eb +oid sha256:8440eb91da6ad817c8426a0dfd24fc66ff620983f7eb2a75ff434ed42b634a23 size 2028 diff --git a/UnityClient/ProjectSettings/ProjectSettings.asset b/UnityClient/ProjectSettings/ProjectSettings.asset index 4b33dac7..b21a22c6 100644 --- a/UnityClient/ProjectSettings/ProjectSettings.asset +++ b/UnityClient/ProjectSettings/ProjectSettings.asset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4642f1130407ff863aabb1bfab8804a1572241db0975763fa8ec2aa28803facc -size 18851 +oid sha256:7d4671ecd4fa3c06d46499588da7e2263a10880de02c5303bb668ae78dd03726 +size 17562 diff --git a/UnityClient/ProjectSettings/ProjectVersion.txt b/UnityClient/ProjectSettings/ProjectVersion.txt index 66132d0e..b9bf3e6e 100644 --- a/UnityClient/ProjectSettings/ProjectVersion.txt +++ b/UnityClient/ProjectSettings/ProjectVersion.txt @@ -1,2 +1,2 @@ -m_EditorVersion: 2019.4.13f1 -m_EditorVersionWithRevision: 2019.4.13f1 (518737b1de84) +m_EditorVersion: 2021.1.16f1 +m_EditorVersionWithRevision: 2021.1.16f1 (5fa502fca597) diff --git a/UnityClient/ProjectSettings/QualitySettings.asset b/UnityClient/ProjectSettings/QualitySettings.asset index 45d05151..21822259 100644 --- a/UnityClient/ProjectSettings/QualitySettings.asset +++ b/UnityClient/ProjectSettings/QualitySettings.asset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a3ca8808f262670070b0f15411e87ab40d25a7bafda8a36d6f313b577d04b80f -size 6451 +oid sha256:d76a2757ebf02f2da53e008529244dc5eeae5c866bb10d9eccdd53f4c9141af3 +size 6723 diff --git a/UnityClient/ProjectSettings/UnityConnectSettings.asset b/UnityClient/ProjectSettings/UnityConnectSettings.asset index e1e71c92..2244866c 100644 --- a/UnityClient/ProjectSettings/UnityConnectSettings.asset +++ b/UnityClient/ProjectSettings/UnityConnectSettings.asset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1e06370b3d2256d4dbc8892f59a8467d9f9785f034a4836a6790380252eb4916 -size 853 +oid sha256:e9c5e12ed98a58993b8b19b8e93e4e1cf5b954f1243c588ae118ad259614db9b +size 901 diff --git a/UnityClient/ProjectSettings/VFXManager.asset b/UnityClient/ProjectSettings/VFXManager.asset index e0b8a4ec..8923f9bd 100644 --- a/UnityClient/ProjectSettings/VFXManager.asset +++ b/UnityClient/ProjectSettings/VFXManager.asset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f066c6483919961332415ee64204f74fe52f38c02e82892eb02b7a5b2e381f0e -size 308 +oid sha256:e3e4bfb04f4a57154463c5b7313b79f93980bb5714be84e10d52944056f5c023 +size 353 diff --git a/UnityClient/ProjectSettings/VersionControlSettings.asset b/UnityClient/ProjectSettings/VersionControlSettings.asset new file mode 100644 index 00000000..6e1e4026 --- /dev/null +++ b/UnityClient/ProjectSettings/VersionControlSettings.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e7bda45bf7a394745fee1316e6c71fa676004d591ad1f3aa247fd3e4ceb86071 +size 188 diff --git a/UnityClient/UserSettings/EditorUserSettings.asset b/UnityClient/UserSettings/EditorUserSettings.asset new file mode 100644 index 00000000..14263ce2 --- /dev/null +++ b/UnityClient/UserSettings/EditorUserSettings.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5e3b33f471897050e777254f3b416d94289916166813a13d6b07a36797d9e919 +size 833