change physics to use impulse instead of velocity

This commit is contained in:
ntr committed 2023-08-08 15:45:26 +10:00
1 parent 90dfa02659
commit 05cc5244ea
2 files changed
+7 -8

No files matched your search

+5 -6
View File
@@ -4,19 +4,18 @@ public class ShipPhysics : MonoBehaviour {
ShipControls ship;
float maxDmg = 150f;
float maxImpulse = 50f;
void Awake() {
ship = GetComponent<ShipControls>();
}
void OnCollisionEnter(Collision collision) {
// Debug-draw all contact points and normals
// foreach (ContactPoint contact in collision.contacts) {
// Debug.DrawRay(contact.point, contact.normal, Color.white);
// }
Debug.Log($"mag {collision.relativeVelocity.magnitude}");
Debug.Log($"impulse {collision.impulse} {collision.impulse.magnitude}");
Debug.Log("mag" + collision.relativeVelocity.magnitude);
if (collision.relativeVelocity.magnitude > maxDmg) {
// if (collision.relativeVelocity.magnitude > maxDmg) {
if (collision.impulse.magnitude > maxImpulse) {
Debug.Log("Ddddestroyed by" + collision.gameObject.name);
ship.Respawn();
return;
+2 -2
View File
@@ -83,7 +83,7 @@ namespace CrosshairComponents {
Vector2 leftArm = new Vector2(centre.x - angleSin * length, centre.y + angleSin * length);
var painter = context.painter2D;
painter.lineWidth = 2.0f;
painter.lineWidth = 1.0f;
painter.lineCap = LineCap.Butt;
painter.strokeColor = m_TrackColor;
@@ -184,7 +184,7 @@ namespace CrosshairComponents {
Vector2 bottomArm = new Vector2(centre.x, centre.y + length);
var painter = context.painter2D;
painter.lineWidth = 2.0f;
painter.lineWidth = 1.0f;
painter.lineCap = LineCap.Butt;
painter.strokeColor = m_TrackColor;