From 3d3f0b7ede44569ecaab523350feede9fee383c3 Mon Sep 17 00:00:00 2001 From: chai Date: Mon, 26 Oct 2020 08:36:27 +0800 Subject: * ability system --- Assets/Scripts/Physics/PhysicsWorld.cs | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) (limited to 'Assets/Scripts/Physics/PhysicsWorld.cs') diff --git a/Assets/Scripts/Physics/PhysicsWorld.cs b/Assets/Scripts/Physics/PhysicsWorld.cs index 7994e14b..8d95dff7 100644 --- a/Assets/Scripts/Physics/PhysicsWorld.cs +++ b/Assets/Scripts/Physics/PhysicsWorld.cs @@ -32,7 +32,7 @@ public class PhysicsWorld : Singleton { private int m_UpdateRate = 60; // 重力加速度 - private readonly Vector3 m_Gravity = new Vector3(0, -12f, 0); + private readonly Vector3 m_Gravity = new Vector3(0, -20f, 0); // 当前管理的碰撞体 private List m_Primitives = new List(); private float m_TimeCount; @@ -40,7 +40,7 @@ public class PhysicsWorld : Singleton private const int _ = 0; private readonly int[] m_CollisionTable = { // hurtbox hitBox wall ground prop character -/*character*/ 0, 0, 1, 1, 1, 1, +/*character*/ 0, 0, 1, 1, 1, 0, /*prop */ 0, 0, 1, 1, 0, _, /*ground */ 0, 0, 0, 0, _, _, /*wall */ 0, 0, 0, _, _, _, @@ -54,6 +54,8 @@ public class PhysicsWorld : Singleton private List m_CollisionInfo = new List(); + public const float Ground = 0.1f; + public void Init() { m_TimeCount = Time.time; @@ -218,10 +220,21 @@ public class PhysicsWorld : Singleton position += velocity * dt; body.transform.position = position; + + PhysicsBox box = prim as PhysicsBox; + if(box.Bottom < 0.1f) + { + position.y = 0.1f; + body.transform.position = position; + velocity.y = 0; + body.Velocity = velocity; + } } void SolveCollision(PhysicsPrimitive prim, PhysicsCollisionInfo collision, float dt) { + return; + PhysicsBody body = prim.Body; if (body == null) return; -- cgit v1.1-26-g67d0