diff options
author | chai <chaifix@163.com> | 2022-01-28 20:58:06 +0800 |
---|---|---|
committer | chai <chaifix@163.com> | 2022-01-28 20:58:06 +0800 |
commit | 43daf7b4654d69426ade3da5ab81960dd6faf065 (patch) | |
tree | 36335ee305453a58b9b27f9901372f4a919dad24 /JamTools/Assets/JamTools/Scripts | |
parent | 48ab4a903783ce6ecb102d2b9e1278716728bf82 (diff) |
*misc
Diffstat (limited to 'JamTools/Assets/JamTools/Scripts')
-rw-r--r-- | JamTools/Assets/JamTools/Scripts/Character/FPSCharacterController/FPSCharacterController.cs | 43 | ||||
-rw-r--r-- | JamTools/Assets/JamTools/Scripts/Vehicles.meta | 8 |
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: |