From 43daf7b4654d69426ade3da5ab81960dd6faf065 Mon Sep 17 00:00:00 2001 From: chai Date: Fri, 28 Jan 2022 20:58:06 +0800 Subject: *misc --- JamTools/Assets/JamTools/Prefabs/Player.prefab | 13 ++- .../JamTools/Scenes/FPSCharacterController.unity | 124 ++++++++++++++++----- .../FPSCharacterController.cs | 43 +++++-- JamTools/Assets/JamTools/Scripts/Vehicles.meta | 8 ++ JamTools/Assets/JamVFX.meta | 8 ++ 5 files changed, 157 insertions(+), 39 deletions(-) create mode 100644 JamTools/Assets/JamTools/Scripts/Vehicles.meta create mode 100644 JamTools/Assets/JamVFX.meta diff --git a/JamTools/Assets/JamTools/Prefabs/Player.prefab b/JamTools/Assets/JamTools/Prefabs/Player.prefab index 599f41b..7d50a3c 100644 --- a/JamTools/Assets/JamTools/Prefabs/Player.prefab +++ b/JamTools/Assets/JamTools/Prefabs/Player.prefab @@ -294,11 +294,17 @@ MonoBehaviour: m_EditorClassIdentifier: m_Modules: -1 m_Eye: {fileID: 3755607823435741754} - m_Body: {fileID: 0} + m_Body: {fileID: 108258044} m_GroundChecker: {fileID: 3755607822235943203} m_WallChecker: {fileID: 553569468365550078} m_LookSensitive: 1000 + m_LookSmooth: 0.2 + m_LookSmoothMultiplier: 100 + m_LookSmoothWithTime: 1 m_MoveSpeed: 500 + m_MoveSmooth: 0.25 + m_MoveSmoothMultiplier: 100 + m_MoveSmoothWithTime: 1 m_MoveSpeedInAir: 500 m_Muzzle: {fileID: 3755607822786182923} m_HittableLayers: @@ -306,6 +312,7 @@ MonoBehaviour: m_Bits: 4294967295 m_ShotInfiniteDistance: 100 m_WallJumpForce: 1 + m_ExtraGravity: {x: 0, y: 0, z: 0} --- !u!114 &104493165 MonoBehaviour: m_ObjectHideFlags: 0 @@ -568,7 +575,7 @@ Transform: m_GameObject: {fileID: 4374959424473659971} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1.1, y: 0.5, z: 1.1} + m_LocalScale: {x: 1.05, y: 0.5, z: 1.05} m_Children: [] m_Father: {fileID: 3755607823128161140} m_RootOrder: 3 @@ -593,7 +600,7 @@ MeshCollider: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 4374959424473659971} m_Material: {fileID: 0} - m_IsTrigger: 0 + m_IsTrigger: 1 m_Enabled: 1 serializedVersion: 4 m_Convex: 1 diff --git a/JamTools/Assets/JamTools/Scenes/FPSCharacterController.unity b/JamTools/Assets/JamTools/Scenes/FPSCharacterController.unity index 57c7423..f00cef5 100644 --- a/JamTools/Assets/JamTools/Scenes/FPSCharacterController.unity +++ b/JamTools/Assets/JamTools/Scenes/FPSCharacterController.unity @@ -907,17 +907,6 @@ Mesh: offset: 0 size: 0 path: ---- !u!114 &108258044 stripped -MonoBehaviour: - m_CorrespondingSourceObject: {fileID: 108258044, guid: 9fe5972a3b043bf459d903bda86ae2ba, type: 3} - m_PrefabInstance: {fileID: 1293970797} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 2c8f58020a68c9a4cad47eca148231ff, type: 3} - m_Name: - m_EditorClassIdentifier: --- !u!1 &153808474 GameObject: m_ObjectHideFlags: 0 @@ -6955,7 +6944,7 @@ Mesh: m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_Name: pb_Mesh16836 + m_Name: pb_Mesh109932 serializedVersion: 10 m_SubMeshes: - serializedVersion: 2 @@ -9081,18 +9070,6 @@ PrefabInstance: m_Modification: m_TransformParent: {fileID: 0} m_Modifications: - - target: {fileID: 2798309367730113166, guid: 9fe5972a3b043bf459d903bda86ae2ba, type: 3} - propertyPath: m_LocalScale.x - value: 1.05 - objectReference: {fileID: 0} - - target: {fileID: 2798309367730113166, guid: 9fe5972a3b043bf459d903bda86ae2ba, type: 3} - propertyPath: m_LocalScale.z - value: 1.05 - objectReference: {fileID: 0} - - target: {fileID: 3755607823128161098, guid: 9fe5972a3b043bf459d903bda86ae2ba, type: 3} - propertyPath: m_Body - value: - objectReference: {fileID: 108258044} - target: {fileID: 3755607823128161140, guid: 9fe5972a3b043bf459d903bda86ae2ba, type: 3} propertyPath: m_RootOrder value: 13 @@ -9141,10 +9118,6 @@ PrefabInstance: propertyPath: m_Name value: Player objectReference: {fileID: 0} - - target: {fileID: 6135652675925644977, guid: 9fe5972a3b043bf459d903bda86ae2ba, type: 3} - propertyPath: m_IsTrigger - value: 1 - objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 9fe5972a3b043bf459d903bda86ae2ba, type: 3} --- !u!4 &1293970798 stripped @@ -14782,6 +14755,101 @@ Transform: m_Father: {fileID: 0} m_RootOrder: 6 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1839905729 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1839905733} + - component: {fileID: 1839905732} + - component: {fileID: 1839905731} + - component: {fileID: 1839905730} + m_Layer: 0 + m_Name: Cube (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 0 +--- !u!65 &1839905730 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1839905729} + 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 &1839905731 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1839905729} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + 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 &1839905732 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1839905729} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &1839905733 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1839905729} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 7.4641385, y: -0.54, z: -6.58} + m_LocalScale: {x: 5, y: 5, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 14 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1861258020 GameObject: m_ObjectHideFlags: 0 diff --git a/JamTools/Assets/JamTools/Scripts/Character/FPSCharacterController/FPSCharacterController.cs b/JamTools/Assets/JamTools/Scripts/Character/FPSCharacterController/FPSCharacterController.cs index c7a5560..a396ea0 100644 --- a/JamTools/Assets/JamTools/Scripts/Character/FPSCharacterController/FPSCharacterController.cs +++ b/JamTools/Assets/JamTools/Scripts/Character/FPSCharacterController/FPSCharacterController.cs @@ -26,7 +26,8 @@ namespace JamTools Slide = 1 << 10, // »¬²ù Shot = 1 << 11, // Éä»÷ Step = 1 << 12, // ½Å²½ - PullTrick = 1 << 13, + PullTrick = 1 << 13, // + ExtraGravity = 1 << 14, // ¶îÍâÖØÁ¦ } [SerializeField] private CharacterModule m_Modules; @@ -41,10 +42,19 @@ namespace JamTools [Header("Look Around")] [SerializeField] private float m_LookSensitive = 1000f; - private float m_XRotation; + [Range(0.01f, 1)] + [SerializeField] private float m_LookSmooth = 0.2f; + [SerializeField] private float m_LookSmoothMultiplier = 100; + [SerializeField] private bool m_LookSmoothWithTime = true; + private float m_CameraRotation; + private float m_BodyRotation; [Header("Move Around")] [SerializeField] private float m_MoveSpeed = 100f; + [Range(0.01f, 1)] + [SerializeField] private float m_MoveSmooth = 0.2f; + [SerializeField] private float m_MoveSmoothMultiplier = 100; + [SerializeField] private bool m_MoveSmoothWithTime = true; private Vector3 m_MoveDirection; [Header("Move In Air")] @@ -58,6 +68,9 @@ namespace JamTools [Header("WallJump")] [SerializeField] private float m_WallJumpForce = 1; + [Header("ExtraGravity")] + [SerializeField] private Vector3 m_ExtraGravity; + #endregion public Func checkHit; @@ -104,12 +117,16 @@ namespace JamTools float mouseX = Input.GetAxis("Mouse X"); float mouseY = Input.GetAxis("Mouse Y"); - m_XRotation -= mouseY * Time.deltaTime * m_LookSensitive; - m_XRotation = Mathf.Clamp(m_XRotation, -90, 90); + float t = m_LookSmoothWithTime ? Time.deltaTime : 1; - m_Eye.localRotation = Quaternion.Euler(m_XRotation, 0, 0); + m_CameraRotation -= mouseY * Time.deltaTime * m_LookSensitive; + m_CameraRotation = Mathf.Clamp(m_CameraRotation, -90, 90); + Quaternion rot = Quaternion.Euler(m_CameraRotation, 0, 0); + m_Eye.localRotation = Quaternion.Slerp(m_Eye.localRotation, rot, m_LookSmooth * t * m_LookSmoothMultiplier); - transform.Rotate(Vector3.up * mouseX * Time.deltaTime * m_LookSensitive); + m_BodyRotation += mouseX * Time.deltaTime * m_LookSensitive; + rot = Quaternion.Euler(0, m_BodyRotation, 0); + transform.localRotation = Quaternion.Slerp(transform.localRotation, rot, m_LookSmooth * t * m_LookSmoothMultiplier); } void MoveAroundUpdate() @@ -158,7 +175,8 @@ namespace JamTools float vy = m_Rigidbody.velocity.y; Vector3 velocity = new Vector3(m_MoveDirection.x * Time.deltaTime * m_MoveSpeed, vy, m_MoveDirection.z * Time.deltaTime * m_MoveSpeed); - m_Rigidbody.velocity = Vector3.Lerp(m_Rigidbody.velocity, velocity, 0.25f); + float t = m_MoveSmoothWithTime ? Time.deltaTime : 1; + m_Rigidbody.velocity = Vector3.Lerp(m_Rigidbody.velocity, velocity, m_MoveSmooth * t * m_MoveSmoothMultiplier); } void MoveInAirUpdate() @@ -279,6 +297,14 @@ namespace JamTools } + void ExtraGravity() + { + if (!IsModuleActive(CharacterModule.ExtraGravity)) + return; + + m_Rigidbody.AddForce(m_ExtraGravity, ForceMode.Acceleration); + } + private void Awake() { m_Rigidbody = GetComponent(); @@ -286,7 +312,7 @@ namespace JamTools private void Start() { - m_XRotation = 0; + m_CameraRotation = 0; lockCursor = true; } @@ -307,6 +333,7 @@ namespace JamTools { MoveAroundFixedUpdate(); MoveInAirFixedUpdate(); + ExtraGravity(); } private void OnDrawGizmos() diff --git a/JamTools/Assets/JamTools/Scripts/Vehicles.meta b/JamTools/Assets/JamTools/Scripts/Vehicles.meta new file mode 100644 index 0000000..bcc2f75 --- /dev/null +++ b/JamTools/Assets/JamTools/Scripts/Vehicles.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b04a2ad22c70f9f4ab73013caa31233e +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/JamTools/Assets/JamVFX.meta b/JamTools/Assets/JamVFX.meta new file mode 100644 index 0000000..20be24e --- /dev/null +++ b/JamTools/Assets/JamVFX.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: cdb4935620657244696ce2949acde0c3 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: -- cgit v1.1-26-g67d0