summaryrefslogtreecommitdiff
path: root/Assets/Scripts/Physics/PhysicsWorld.cs
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2020-10-26 08:36:27 +0800
committerchai <chaifix@163.com>2020-10-26 08:36:27 +0800
commit3d3f0b7ede44569ecaab523350feede9fee383c3 (patch)
tree9df6c24adafa7e77287f9f8351746d8da692bf4f /Assets/Scripts/Physics/PhysicsWorld.cs
parent65ed53a40f990e895305ff17a5e48e3cd6b8785b (diff)
* ability system
Diffstat (limited to 'Assets/Scripts/Physics/PhysicsWorld.cs')
-rw-r--r--Assets/Scripts/Physics/PhysicsWorld.cs17
1 files changed, 15 insertions, 2 deletions
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<PhysicsWorld>
{
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<PhysicsPrimitive> m_Primitives = new List<PhysicsPrimitive>();
private float m_TimeCount;
@@ -40,7 +40,7 @@ public class PhysicsWorld : Singleton<PhysicsWorld>
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<PhysicsWorld>
private List<PhysicsCollisionInfo> m_CollisionInfo = new List<PhysicsCollisionInfo>();
+ public const float Ground = 0.1f;
+
public void Init()
{
m_TimeCount = Time.time;
@@ -218,10 +220,21 @@ public class PhysicsWorld : Singleton<PhysicsWorld>
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;