aboutsummaryrefslogtreecommitdiff
path: root/JamTools/Assets/JamTools/Scripts
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2022-01-28 20:58:06 +0800
committerchai <chaifix@163.com>2022-01-28 20:58:06 +0800
commit43daf7b4654d69426ade3da5ab81960dd6faf065 (patch)
tree36335ee305453a58b9b27f9901372f4a919dad24 /JamTools/Assets/JamTools/Scripts
parent48ab4a903783ce6ecb102d2b9e1278716728bf82 (diff)
*misc
Diffstat (limited to 'JamTools/Assets/JamTools/Scripts')
-rw-r--r--JamTools/Assets/JamTools/Scripts/Character/FPSCharacterController/FPSCharacterController.cs43
-rw-r--r--JamTools/Assets/JamTools/Scripts/Vehicles.meta8
2 files changed, 43 insertions, 8 deletions
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<RaycastHit, bool> 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<Rigidbody>();
@@ -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: