deceleration boiiii

This commit is contained in:
ntr committed 2023-06-30 17:45:55 +10:00
1 parent 8d0352c0da
commit e6117313ad
4 files changed
+63 -120

No files matched your search

-16
View File
@@ -1,16 +0,0 @@
using UnityEngine;
using System.Collections;
public class CameraController : MonoBehaviour {
public float speedH = 0.5f;
public float speedV = 0.5f;
private float yaw = 0.0f;
private float pitch = 0.0f;
void Update() {
yaw += speedH * Input.GetAxis("Mouse X");
pitch -= speedV * Input.GetAxis("Mouse Y");
transform.eulerAngles = new Vector3(pitch, yaw, 0.0f);
}
}
-11
View File
@@ -1,11 +0,0 @@
fileFormatVersion: 2
guid: 0fb2c71947a1f324288916d506ccb34d
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
+10 -70
View File
@@ -9040,7 +9040,7 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: 7140281db71bac44f958af6e8c7f48b3, type: 3}
propertyPath: m_LocalPosition.y
value: -120
value: -100
objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: 7140281db71bac44f958af6e8c7f48b3, type: 3}
propertyPath: m_LocalPosition.z
@@ -12651,14 +12651,14 @@ Transform:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 705507993}
m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261}
m_LocalPosition: {x: 0, y: 3, z: 0}
m_LocalRotation: {x: 0.13244484, y: 0.56484544, z: -0.09244638, w: 0.8092352}
m_LocalPosition: {x: 100, y: 100, z: 100}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0}
m_LocalEulerAnglesHint: {x: 18.59, y: 69.83, z: 0}
--- !u!65 &705507996
BoxCollider:
m_ObjectHideFlags: 0
@@ -13178,7 +13178,7 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: 7140281db71bac44f958af6e8c7f48b3, type: 3}
propertyPath: m_LocalPosition.y
value: -140
value: -120
objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: 7140281db71bac44f958af6e8c7f48b3, type: 3}
propertyPath: m_LocalPosition.z
@@ -19637,8 +19637,6 @@ GameObject:
- component: {fileID: 1048473338}
- component: {fileID: 1048473341}
- component: {fileID: 1048473340}
- component: {fileID: 1048473339}
- component: {fileID: 1048473342}
m_Layer: 0
m_Name: Camera
m_TagString: Untagged
@@ -19661,20 +19659,6 @@ Transform:
m_Father: {fileID: 1972710420}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &1048473339
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1048473337}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 0fb2c71947a1f324288916d506ccb34d, type: 3}
m_Name:
m_EditorClassIdentifier:
speedH: 2
speedV: 2
--- !u!81 &1048473340
AudioListener:
m_ObjectHideFlags: 0
@@ -19682,7 +19666,7 @@ AudioListener:
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1048473337}
m_Enabled: 0
m_Enabled: 1
--- !u!20 &1048473341
Camera:
m_ObjectHideFlags: 0
@@ -19734,28 +19718,6 @@ Camera:
m_OcclusionCulling: 1
m_StereoConvergence: 10
m_StereoSeparation: 0.022
--- !u!64 &1048473342
MeshCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1048473337}
m_Material: {fileID: 0}
m_IncludeLayers:
serializedVersion: 2
m_Bits: 0
m_ExcludeLayers:
serializedVersion: 2
m_Bits: 0
m_LayerOverridePriority: 0
m_IsTrigger: 0
m_ProvidesContacts: 0
m_Enabled: 1
serializedVersion: 5
m_Convex: 0
m_CookingOptions: 30
m_Mesh: {fileID: 0}
--- !u!1001 &1049934794
PrefabInstance:
m_ObjectHideFlags: 0
@@ -21566,7 +21528,7 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: 7140281db71bac44f958af6e8c7f48b3, type: 3}
propertyPath: m_LocalPosition.y
value: -100
value: -80
objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: 7140281db71bac44f958af6e8c7f48b3, type: 3}
propertyPath: m_LocalPosition.z
@@ -34419,7 +34381,7 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: 7140281db71bac44f958af6e8c7f48b3, type: 3}
propertyPath: m_LocalPosition.y
value: 100
value: 90
objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: 7140281db71bac44f958af6e8c7f48b3, type: 3}
propertyPath: m_LocalPosition.z
@@ -36751,7 +36713,6 @@ GameObject:
- component: {fileID: 1972710417}
- component: {fileID: 1972710422}
- component: {fileID: 1972710421}
- component: {fileID: 1972710424}
m_Layer: 0
m_Name: Ship
m_TagString: Untagged
@@ -36870,7 +36831,7 @@ Rigidbody:
serializedVersion: 4
m_Mass: 1
m_Drag: 0
m_AngularDrag: 0.05
m_AngularDrag: 0.5
m_CenterOfMass: {x: 0, y: 0, z: 0}
m_InertiaTensor: {x: 1, y: 1, z: 1}
m_InertiaRotation: {x: 0, y: 0, z: 0, w: 1}
@@ -36887,27 +36848,6 @@ Rigidbody:
m_Interpolate: 0
m_Constraints: 0
m_CollisionDetection: 0
--- !u!65 &1972710424
BoxCollider:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1972710416}
m_Material: {fileID: 0}
m_IncludeLayers:
serializedVersion: 2
m_Bits: 0
m_ExcludeLayers:
serializedVersion: 2
m_Bits: 0
m_LayerOverridePriority: 0
m_IsTrigger: 0
m_ProvidesContacts: 0
m_Enabled: 1
serializedVersion: 3
m_Size: {x: 1, y: 1, z: 1}
m_Center: {x: 0, y: 0, z: 0}
--- !u!1 &1973114532 stripped
GameObject:
m_CorrespondingSourceObject: {fileID: 919132149155446097, guid: 7140281db71bac44f958af6e8c7f48b3, type: 3}
@@ -38014,7 +37954,7 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: 7140281db71bac44f958af6e8c7f48b3, type: 3}
propertyPath: m_LocalPosition.y
value: -150
value: -140
objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: 7140281db71bac44f958af6e8c7f48b3, type: 3}
propertyPath: m_LocalPosition.z
+53 -23
View File
@@ -3,7 +3,7 @@ using UnityEngine;
public class ShipControls : MonoBehaviour {
public Camera m_camera;
Rigidbody m_ridigBody;
Rigidbody m_rigidBody;
Vector3 m_initialPosition;
Vector3 m_initialForce;
@@ -16,12 +16,17 @@ public class ShipControls : MonoBehaviour {
float m_stabliseMag;
ForceMode m_forceMode;
// Camera Controls
float m_mouseH = 0.5f;
float m_mouseV = 0.5f;
float m_camYaw = 0.0f;
float m_camPitch = 0.0f;
void Start() {
Cursor.lockState = CursorLockMode.Locked;
m_ridigBody = GetComponent<Rigidbody>();
m_rigidBody = GetComponent<Rigidbody>();
m_initialPosition = m_ridigBody.transform.position;
m_initialPosition = m_rigidBody.transform.position;
m_initialForce = Vector3.zero;
m_thrust = Vector3.zero;
@@ -32,6 +37,7 @@ public class ShipControls : MonoBehaviour {
m_stabliseMag = 75.0f;
m_forceMode = ForceMode.Acceleration;
// m_rigidBody.freezeRotation = true;
}
void Update() {
@@ -39,7 +45,8 @@ public class ShipControls : MonoBehaviour {
m_thrust = getThrust();
m_strafe = getStrafe();
Debug.Log(m_thrust);
// if (m_thrust != Vector3.zero)
// Debug.Log(m_thrust);
// do everything else input related on every frame too
processInput();
@@ -47,18 +54,16 @@ public class ShipControls : MonoBehaviour {
void FixedUpdate() {
// // the ship being propelled forward
m_ridigBody.AddForce(m_thrust, m_forceMode);
m_rigidBody.AddForce(m_thrust, m_forceMode);
// moving side to side
m_ridigBody.AddForce(m_strafe, m_forceMode);
// add relative force?
m_rigidBody.AddRelativeForce(m_strafe, m_forceMode);
// rotating towards the camera's orientation
// not being done by a force because of strange behaviour
// needs investigation
float step = m_stabliseMag * Time.fixedDeltaTime;
m_ridigBody.rotation = Quaternion.RotateTowards(transform.rotation, m_camera.transform.rotation, step);
m_rigidBody.rotation = Quaternion.RotateTowards(transform.rotation, m_camera.transform.rotation, step);
}
Vector3 getThrust() {
@@ -67,8 +72,9 @@ public class ShipControls : MonoBehaviour {
return m_camera.transform.TransformDirection(Vector3.forward) * m_thrustMag;
// brake
if (Input.GetMouseButton(1))
return m_camera.transform.TransformDirection(Vector3.back) * m_thrustMag;
if (Input.GetMouseButton(1)) {
return m_rigidBody.velocity.normalized * -1f * m_thrustMag;
}
return Vector3.zero;
}
@@ -80,20 +86,22 @@ public class ShipControls : MonoBehaviour {
Vector3 strafe = new Vector3(0.0f, 0.0f, 0.0f);
if (Input.GetKey(KeyCode.W))
strafe += m_strafeMag * m_camera.transform.TransformDirection(Vector3.up);
strafe += m_strafeMag * Vector3.up;
if (Input.GetKey(KeyCode.S))
strafe += m_strafeMag * m_camera.transform.TransformDirection(Vector3.down);
strafe += m_strafeMag * Vector3.down;
if (Input.GetKey(KeyCode.A))
strafe += m_strafeMag * m_camera.transform.TransformDirection(Vector3.left);
strafe += m_strafeMag * Vector3.left;
if (Input.GetKey(KeyCode.D))
strafe += m_strafeMag * m_camera.transform.TransformDirection(Vector3.right);
strafe += m_strafeMag * Vector3.right;
return strafe;
}
void processInput() {
updateCamera();
if (Input.GetKey(KeyCode.Space))
Respawn();
@@ -105,28 +113,50 @@ public class ShipControls : MonoBehaviour {
m_forceMode = ForceMode.Force;
if (Input.GetKey(KeyCode.Alpha4))
m_forceMode = ForceMode.VelocityChange;
if (Input.GetKey(KeyCode.F10))
Application.Quit();
}
void Respawn() {
m_thrust = new Vector3(0.0f, 0.0f, 0.0f);
transform.position = m_initialPosition;
m_ridigBody.transform.forward = m_initialForce;
m_ridigBody.velocity = new Vector3(0f, 0f, 0f);
m_camera.transform.eulerAngles = Vector3.forward;
m_rigidBody.transform.forward = m_initialForce;
m_rigidBody.velocity = new Vector3(0f, 0f, 0f);
m_camera.transform.eulerAngles = Vector3.zero;
m_camYaw = 0f;
m_camPitch = 0f;
}
void updateCamera() {
m_camYaw += m_mouseH * Input.GetAxis("Mouse X");
m_camPitch -= m_mouseV * Input.GetAxis("Mouse Y");
m_camera.transform.eulerAngles = new Vector3(m_camPitch, m_camYaw, 0.0f);
}
void OnDrawGizmosSelected() {
Gizmos.color = Color.red;
Vector3 direction = m_camera.transform.TransformDirection(Vector3.up) * 10;
Gizmos.DrawRay(transform.position, direction);
if (Application.isPlaying == false)
return;
Gizmos.color = Color.green;
Gizmos.color = Color.red;
Vector3 right = m_camera.transform.TransformDirection(Vector3.right) * 10;
Gizmos.DrawRay(transform.position, right);
Gizmos.color = Color.yellow;
Gizmos.color = Color.green;
Vector3 direction = m_camera.transform.TransformDirection(Vector3.up) * 10;
Gizmos.DrawRay(transform.position, direction);
Gizmos.color = Color.blue;
Vector3 forward = m_camera.transform.TransformDirection(Vector3.forward) * 10;
Gizmos.DrawRay(transform.position, forward);
Gizmos.color = Color.yellow;
Vector3 velocity = m_rigidBody.velocity;
Gizmos.DrawRay(transform.position, velocity);
Gizmos.color = Color.cyan;
Vector3 thrust = m_thrust;
Gizmos.DrawRay(transform.position, thrust);
}
}