Physics System
最后更新于
最后更新于
Physical Intuition
Dynamic Environment
Realistic Interaction
Artistic
Outline of Physics System
Actor
Static 静态
Dynamic 动态
Trigger 不影响物理系统,和逻辑交互
Kinematic 位置或者速度的强行设置,不符合物理约束
Actor Shapes
球、胶囊体、box 是最省的
精细的结构可以用多个 box 近似
Convex 可以用来模拟碎片运动
Triangle Mesh 和 Height Field 不能用来作为动态物体、
用简单的 Shape 包裹复杂物体
Mass and Density
质量和密度
Gomboc Shape 干波体,只有一个平衡点
Center of Mass 质心
Friction and Restitution 摩擦和弹性,物理材质定义的
长期的力
Gravity
Drag
Friction
Impulse 冲量
牛顿第一定律
牛顿第二定律
Movement under Varying Force
Solar System movement
显式欧拉积分 Explicit Euler Method,计算没法收敛
隐式欧拉积分是稳定解
半隐式欧拉积分,结果最稳定
假设所有的对象都是质点,质点动力学
刚体动力学,
Rotational Inertia 转动惯量
Angular momenturn 角动量守恒
力臂越长,转动惯量越大,角速度越小
Torque 力矩
Colliction Detection
碰撞检测
Two Phases
Broad phase
Find intersectied rigid body AABBs
Potentianl overlapped rigid body pairs
Narrow phase
Detect overlapping precisely
Generate contact information
BVH Tree 树状结构存储 AABB ,更新成本低,一个物体移动只要更新一到两个节点
Sort and Sweep :对各个轴向排序,判断是否在某个轴上是否重叠。更新成本更低。
Minkowski Difference-based Methods
Minkowski Sum 闵可夫和
Minkowski Difference 闵可夫减法
闵可夫和和减生成的图形都是闭包
闵可夫减所表示的图形如果有过原点,说明这两个图形存在交点
GJK 算法,迭代判断三角形是否包括原点
SAT 算法,两个凸多面体不相交,一定沿着一个凸多面体一条边,另外一个多面体所有顶点在另外一侧。
3D 需要使用面来判断,还要面中间的边判断
+